Este documento proporciona una introducción a XML Schema (XSD). Explica qué es XSD y cómo se puede usar para validar documentos XML. También cubre conceptos como elementos simples y complejos, atributos, espacios de nombres, tipos de datos y más. El documento contiene varios ejemplos prácticos de cómo definir esquemas XSD y validar documentos XML.
La DTD define la estructura de documentos XML permitiendo su validación. Puede escribirse internamente o externamente al archivo XML mediante una declaración DOCTYPE. La DTD especifica los elementos, atributos, entidades y notaciones que puede contener un documento XML para que sea válido. También puede incluir secciones condicionales y comentarios.
Learn HTML and CSS in few steps . Practice an hour daily for good results in 10 days.
Here I am mentioning basic elements , attributes and tags of HTML with styling them
The document describes a lecture on the Web Services Description Language (WSDL). It provides an overview of WSDL, including that it is an XML format for describing web service interfaces in a machine-readable way. It then discusses the key components of a WSDL document, including types, messages, port types, bindings, ports, and services. It provides examples of how these components are defined in a WSDL document.
XSLT stands for Extensible Stylesheet Language Transformations and enables transforming XML documents into other formats like HTML. XSLT uses XML documents called stylesheets that contain elements and attributes to define templates that match elements in the XML data and specify how to transform their contents. Transformations can occur on a server, client, or with a standalone program and involve elements like <template> to select nodes, <apply-templates> to process children, <value-of> to retrieve node values, <for-each> to loop through nodes, and <sort> to sort output.
This document provides an overview of XML including:
1) What is XML and how it is used to store and exchange structured data.
2) The basic syntax rules for XML including elements, attributes, and the document structure.
3) Examples of how to write elements, attributes, and the XML declaration.
The document provides an overview of basic CSS (Cascading Style Sheets) concepts including what CSS is, why it is used, CSS syntax, selectors like element, class, ID and pseudo selectors, and common CSS properties for styling elements like color, background, fonts, text, lists, and borders. CSS is used to control the presentation and layout of HTML documents and is linked to HTML pages through <link> or <style> tags in the <head> section.
XML is an extensible markup language that was designed to store and transport data. It allows data to be shared across different systems, hardware, and software. XML has several advantages over HTML including separating data from presentation, simplifying data sharing and transport, and making data more available. XML documents use tags to define elements and can also use attributes. XML documents must follow syntax rules to be well-formed, such as having matching start and end tags and properly nested elements.
La DTD define la estructura de documentos XML permitiendo su validación. Puede escribirse internamente o externamente al archivo XML mediante una declaración DOCTYPE. La DTD especifica los elementos, atributos, entidades y notaciones que puede contener un documento XML para que sea válido. También puede incluir secciones condicionales y comentarios.
Learn HTML and CSS in few steps . Practice an hour daily for good results in 10 days.
Here I am mentioning basic elements , attributes and tags of HTML with styling them
The document describes a lecture on the Web Services Description Language (WSDL). It provides an overview of WSDL, including that it is an XML format for describing web service interfaces in a machine-readable way. It then discusses the key components of a WSDL document, including types, messages, port types, bindings, ports, and services. It provides examples of how these components are defined in a WSDL document.
XSLT stands for Extensible Stylesheet Language Transformations and enables transforming XML documents into other formats like HTML. XSLT uses XML documents called stylesheets that contain elements and attributes to define templates that match elements in the XML data and specify how to transform their contents. Transformations can occur on a server, client, or with a standalone program and involve elements like <template> to select nodes, <apply-templates> to process children, <value-of> to retrieve node values, <for-each> to loop through nodes, and <sort> to sort output.
This document provides an overview of XML including:
1) What is XML and how it is used to store and exchange structured data.
2) The basic syntax rules for XML including elements, attributes, and the document structure.
3) Examples of how to write elements, attributes, and the XML declaration.
The document provides an overview of basic CSS (Cascading Style Sheets) concepts including what CSS is, why it is used, CSS syntax, selectors like element, class, ID and pseudo selectors, and common CSS properties for styling elements like color, background, fonts, text, lists, and borders. CSS is used to control the presentation and layout of HTML documents and is linked to HTML pages through <link> or <style> tags in the <head> section.
XML is an extensible markup language that was designed to store and transport data. It allows data to be shared across different systems, hardware, and software. XML has several advantages over HTML including separating data from presentation, simplifying data sharing and transport, and making data more available. XML documents use tags to define elements and can also use attributes. XML documents must follow syntax rules to be well-formed, such as having matching start and end tags and properly nested elements.
CSS can be used to specify styles for different media types using media queries. The most common media types are all, screen, and print. There are five methods for applying styles to different media - using <link> tags, <?xml-stylesheet?> tags, @import rules, and @media rules within CSS. @media rules allow applying different styles for different media types from a single CSS file. This improves performance and maintenance by reducing server hits and links needed in HTML.
XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It was designed to carry data, not display it like HTML. XML is important because it separates data from presentation, allows data to be shared across different systems, and makes data easier to store and process. The basic building blocks of XML include elements, attributes, entities, processing instructions, comments, and tags.
XML Schema defines rules for encoding documents in a machine-readable format. It allows data exchange between systems independently of programming languages. XML Schema defines elements, attributes, and data types to structure XML documents. It provides more data typing capabilities than DTDs. Namespaces are used to avoid element name conflicts between different XML vocabularies. User-defined types can restrict built-in types or create new complex types from simple types to structure application-specific data.
XML parsers are software libraries that allow client applications to work with XML documents. There are two main types: DOM parsers build an in-memory tree representation, while SAX parsers use event-based callbacks. Xerces-J is a popular Java XML parser that implements both DOM and SAX interfaces. An example extracts circle data from an XML file using both a DOM parser to iterate through nodes and a SAX parser overriding callback methods.
This document provides an overview of various CSS topics including comments, colors, text formatting, positioning, and cross-browser compatibility. It explains concepts like using hexadecimal color codes, text properties like alignment and decoration, positioning elements with static, relative, absolute and fixed positioning, and strategies for aligning elements and dealing with browser inconsistencies.
1. The document discusses the XPath specification and data model. It provides examples of XPath queries and explains how XPath expressions are evaluated.
2. Key points covered include the seven node types in XPath (root, element, attribute, text, comment, processing instruction, namespace), location paths composed of axes and node tests, and the use of predicates to filter node sets.
3. Examples demonstrate different XPath axes like child, descendant, and attribute as well as wildcards, predicates, and accessing attribute values. Evaluation of XPath expressions is explained as a multi-step process working from context nodes.
The document discusses various topics related to HTML, CSS, and client-side coding including: CSS selectors, properties, cascade, media queries, animations. It covers CSS syntax, selectors like type, ID, class, attribute, and pseudo selectors. It describes the box model and properties for text, background, positioning. It also explains cascade, specificity, inheritance in CSS and how media queries allow styling for different devices.
This document provides an overview of HTML, CSS, and JavaScript. It discusses how HTML is used to define the structure and layout of web pages using markup tags, how CSS is used to style web pages, and how JavaScript can be used to add interactive elements. It also covers common HTML tags for headings, paragraphs, lists, and other content sections. Key elements like <head> and <body> are explained along with common tags used in each section.
Este documento proporciona una introducción a las DTD (Definición de Tipo de Documento) en XML. Explica qué son las DTD y cómo se pueden usar internamente o externamente para definir la estructura de un documento XML y validarlo. También describe los diferentes tipos de contenido que pueden tener los elementos, como texto, otros elementos, estar vacíos o permitir contenido mixto.
XSLT is used to transform XML documents into other formats. It uses XSLT style sheets, which contain rules that are applied by an XSLT processor to the XML input. Some key capabilities of XSLT include converting XML to HTML, sorting and filtering data, and using conditional logic. Template rules define how to retrieve element values from the XML and output them. Loops, conditional statements, and multiple sorting allow complex transformations of the XML data.
XSL stands for Extensible Stylesheet Language and is used to transform and format XML documents. The main components of XSL are:
XSLT is used to transform XML documents into other XML or HTML documents. It uses XPath to navigate XML elements and supports elements like <xsl:template>, <xsl:value-of>, <xsl:for-each> and <xsl:if>.
XSL-FO is used for formatting XML documents.
Some key XSLT elements are <xsl:template> which defines templates, <xsl:value-of> to extract node values, <xsl:for-each> for looping, <xsl:sort> and <xsl:if> for conditional
This document summarizes various HTML table tags. It describes tags such as <table>, <th>, <td>, <tr>, <caption>, <thead>, <tbody>, <tfoot>, <col>, and <colgroup> that are used to define the structure and layout of an HTML table. It provides details on how each tag is used, including their purpose, allowed contexts, and default styling. Examples are given to demonstrate how various tags can be combined to create an HTML table with headers, body, footer, row spans, and column spans.
The document defines the Document Object Model (DOM) as an application programming interface (API) for HTML and XML documents that defines the logical structure of a document and how it can be accessed and manipulated programmatically. The DOM is a W3C standard separated into three parts - the core DOM for any structured document, the XML DOM for XML documents, and the HTML DOM for HTML documents. The DOM provides a standard programming interface that can be used across various environments and applications to dynamically access and update the content, structure, and style of documents.
The <div> tag defines sections in an HTML document and is used to group block elements to apply styles. It can contain other tags and attributes like id, class, style, and title can be used to identify and style the <div> section. Common uses include wrapping content in containers with specific backgrounds, alignments, or other styles.
The document discusses HTML tables and their structure and attributes. It explains that HTML tables allow arranging data into rows and columns using <table>, <tr>, and <td> tags. It then describes various table attributes like border, width, height, bgcolor, background, frame, align, valign, and rules that can customize a table's appearance and layout.
The document discusses XML (eXtensible Markup Language) in 3 paragraphs:
1) It defines XML as a markup language used to provide extra information about a document by adding tags. HTML uses tags to tell browsers how to display documents, while XML tags give readers an idea of what the data means and separates presentation from data.
2) XML documents are used to transfer data, often over the internet. XML subsets are designed for particular applications like RSS for news feeds. Fields also have their own subsets registered with the W3C.
3) XML is popular because it allows complex structured data to be transmitted efficiently as a simple text stream but also processed as a rich object model in receiving applications.
Este documento presenta una introducción al lenguaje de consulta estructurado (SQL) y sus componentes principales como comandos, cláusulas, operadores y funciones de agregado. Luego proporciona ejemplos de sentencias SQL SELECT, INSERT, UPDATE y DELETE para realizar consultas, modificar y manipular datos en bases de datos. Finalmente, agradece la atención del lector.
This document provides an introduction to XML. It discusses that XML stands for Extensible Markup Language and is a text-based markup language used to store and transport data. It also describes that XML documents have a .xml file extension and reference a DTD or schema that defines the document structure. The document then gives examples of XML tags, elements, and attributes to illustrate XML syntax and building blocks.
Este documento describe las tecnologías XML, incluyendo DTD, esquemas XML, parsing XML, XSLT y más. Explica qué es XML, sus ventajas, y cómo se pueden definir la estructura y semántica de los documentos XML. También cubre el uso de atributos, elementos, entidades y otros componentes de documentos XML.
Este documento describe las funcionalidades de Oracle para el lenguaje XML. Explica la historia de la relación entre XML y Oracle, desde la versión 8i hasta la 10g, incluyendo el soporte nativo para XML. También describe componentes como Oracle XML DB, Oracle XDK y hojas XSQL, que permiten almacenar, consultar y transformar datos XML en Oracle.
CSS can be used to specify styles for different media types using media queries. The most common media types are all, screen, and print. There are five methods for applying styles to different media - using <link> tags, <?xml-stylesheet?> tags, @import rules, and @media rules within CSS. @media rules allow applying different styles for different media types from a single CSS file. This improves performance and maintenance by reducing server hits and links needed in HTML.
XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It was designed to carry data, not display it like HTML. XML is important because it separates data from presentation, allows data to be shared across different systems, and makes data easier to store and process. The basic building blocks of XML include elements, attributes, entities, processing instructions, comments, and tags.
XML Schema defines rules for encoding documents in a machine-readable format. It allows data exchange between systems independently of programming languages. XML Schema defines elements, attributes, and data types to structure XML documents. It provides more data typing capabilities than DTDs. Namespaces are used to avoid element name conflicts between different XML vocabularies. User-defined types can restrict built-in types or create new complex types from simple types to structure application-specific data.
XML parsers are software libraries that allow client applications to work with XML documents. There are two main types: DOM parsers build an in-memory tree representation, while SAX parsers use event-based callbacks. Xerces-J is a popular Java XML parser that implements both DOM and SAX interfaces. An example extracts circle data from an XML file using both a DOM parser to iterate through nodes and a SAX parser overriding callback methods.
This document provides an overview of various CSS topics including comments, colors, text formatting, positioning, and cross-browser compatibility. It explains concepts like using hexadecimal color codes, text properties like alignment and decoration, positioning elements with static, relative, absolute and fixed positioning, and strategies for aligning elements and dealing with browser inconsistencies.
1. The document discusses the XPath specification and data model. It provides examples of XPath queries and explains how XPath expressions are evaluated.
2. Key points covered include the seven node types in XPath (root, element, attribute, text, comment, processing instruction, namespace), location paths composed of axes and node tests, and the use of predicates to filter node sets.
3. Examples demonstrate different XPath axes like child, descendant, and attribute as well as wildcards, predicates, and accessing attribute values. Evaluation of XPath expressions is explained as a multi-step process working from context nodes.
The document discusses various topics related to HTML, CSS, and client-side coding including: CSS selectors, properties, cascade, media queries, animations. It covers CSS syntax, selectors like type, ID, class, attribute, and pseudo selectors. It describes the box model and properties for text, background, positioning. It also explains cascade, specificity, inheritance in CSS and how media queries allow styling for different devices.
This document provides an overview of HTML, CSS, and JavaScript. It discusses how HTML is used to define the structure and layout of web pages using markup tags, how CSS is used to style web pages, and how JavaScript can be used to add interactive elements. It also covers common HTML tags for headings, paragraphs, lists, and other content sections. Key elements like <head> and <body> are explained along with common tags used in each section.
Este documento proporciona una introducción a las DTD (Definición de Tipo de Documento) en XML. Explica qué son las DTD y cómo se pueden usar internamente o externamente para definir la estructura de un documento XML y validarlo. También describe los diferentes tipos de contenido que pueden tener los elementos, como texto, otros elementos, estar vacíos o permitir contenido mixto.
XSLT is used to transform XML documents into other formats. It uses XSLT style sheets, which contain rules that are applied by an XSLT processor to the XML input. Some key capabilities of XSLT include converting XML to HTML, sorting and filtering data, and using conditional logic. Template rules define how to retrieve element values from the XML and output them. Loops, conditional statements, and multiple sorting allow complex transformations of the XML data.
XSL stands for Extensible Stylesheet Language and is used to transform and format XML documents. The main components of XSL are:
XSLT is used to transform XML documents into other XML or HTML documents. It uses XPath to navigate XML elements and supports elements like <xsl:template>, <xsl:value-of>, <xsl:for-each> and <xsl:if>.
XSL-FO is used for formatting XML documents.
Some key XSLT elements are <xsl:template> which defines templates, <xsl:value-of> to extract node values, <xsl:for-each> for looping, <xsl:sort> and <xsl:if> for conditional
This document summarizes various HTML table tags. It describes tags such as <table>, <th>, <td>, <tr>, <caption>, <thead>, <tbody>, <tfoot>, <col>, and <colgroup> that are used to define the structure and layout of an HTML table. It provides details on how each tag is used, including their purpose, allowed contexts, and default styling. Examples are given to demonstrate how various tags can be combined to create an HTML table with headers, body, footer, row spans, and column spans.
The document defines the Document Object Model (DOM) as an application programming interface (API) for HTML and XML documents that defines the logical structure of a document and how it can be accessed and manipulated programmatically. The DOM is a W3C standard separated into three parts - the core DOM for any structured document, the XML DOM for XML documents, and the HTML DOM for HTML documents. The DOM provides a standard programming interface that can be used across various environments and applications to dynamically access and update the content, structure, and style of documents.
The <div> tag defines sections in an HTML document and is used to group block elements to apply styles. It can contain other tags and attributes like id, class, style, and title can be used to identify and style the <div> section. Common uses include wrapping content in containers with specific backgrounds, alignments, or other styles.
The document discusses HTML tables and their structure and attributes. It explains that HTML tables allow arranging data into rows and columns using <table>, <tr>, and <td> tags. It then describes various table attributes like border, width, height, bgcolor, background, frame, align, valign, and rules that can customize a table's appearance and layout.
The document discusses XML (eXtensible Markup Language) in 3 paragraphs:
1) It defines XML as a markup language used to provide extra information about a document by adding tags. HTML uses tags to tell browsers how to display documents, while XML tags give readers an idea of what the data means and separates presentation from data.
2) XML documents are used to transfer data, often over the internet. XML subsets are designed for particular applications like RSS for news feeds. Fields also have their own subsets registered with the W3C.
3) XML is popular because it allows complex structured data to be transmitted efficiently as a simple text stream but also processed as a rich object model in receiving applications.
Este documento presenta una introducción al lenguaje de consulta estructurado (SQL) y sus componentes principales como comandos, cláusulas, operadores y funciones de agregado. Luego proporciona ejemplos de sentencias SQL SELECT, INSERT, UPDATE y DELETE para realizar consultas, modificar y manipular datos en bases de datos. Finalmente, agradece la atención del lector.
This document provides an introduction to XML. It discusses that XML stands for Extensible Markup Language and is a text-based markup language used to store and transport data. It also describes that XML documents have a .xml file extension and reference a DTD or schema that defines the document structure. The document then gives examples of XML tags, elements, and attributes to illustrate XML syntax and building blocks.
Este documento describe las tecnologías XML, incluyendo DTD, esquemas XML, parsing XML, XSLT y más. Explica qué es XML, sus ventajas, y cómo se pueden definir la estructura y semántica de los documentos XML. También cubre el uso de atributos, elementos, entidades y otros componentes de documentos XML.
Este documento describe las funcionalidades de Oracle para el lenguaje XML. Explica la historia de la relación entre XML y Oracle, desde la versión 8i hasta la 10g, incluyendo el soporte nativo para XML. También describe componentes como Oracle XML DB, Oracle XDK y hojas XSQL, que permiten almacenar, consultar y transformar datos XML en Oracle.
Este documento presenta un curso sobre XML. Explica los requisitos técnicos para usar XML en entornos Microsoft y Java. Luego describe los elementos clave del estándar XML como DOM, XSL y aplicaciones prácticas de XML. Finalmente, introduce conceptos básicos de XML como su definición, características y ejemplos de documentos XML.
Integración de aplicaciones
Java se centra en las API XML para Java tales como JAXP, JAXB, JAX-RPC, JAX-WS, etc. También hace una pequeña introducción a JMS.
Este documento contiene información sobre el tema 7.1 de XSLT y XPath de un curso de Lenguaje de Marcas y Sistemas de Gestión de la Información. Explica brevemente qué es XSLT, su estructura y sintaxis, y cómo se pueden realizar transformaciones de documentos XML con XSLT. También incluye algunos ejemplos y ejercicios prácticos.
Scala en proyectos de vinculación Ancap-UR - 2013-03Germán Ferrari
Diapositivas de una presentación que di para la Scala Meetup Montevideo el 21 de marzo de 2013, para compartir la experiencia de uso de Scala como parte de mi trabajo en proyectos de vinculación entre ANCAP y la Universidad de la República.
Un DataSet es una vista relacional de datos que puede representarse en XML. Los esquemas XML definen la estructura de los datos XML. Un DataSet puede leer y escribir datos y esquemas XML, permitiendo el intercambio de datos con otras aplicaciones. También es posible crear una vista XML de un DataSet y manipular los datos de forma relacional o XML.
Este documento proporciona información sobre XSLT y XPath. Explica qué es XSLT, su estructura y sintaxis, y cómo se pueden usar para transformar documentos XML. También incluye ejemplos de cómo aplicar transformaciones XSLT para extraer y formatear datos de un documento XML.
El documento explica que XML es un lenguaje de marcado extensible que permite definir lenguajes de marcado para usos específicos. XML separa el contenido de la presentación y puede ser procesado por máquinas y humanos. Los documentos XML pueden validarse usando una definición de tipo de documento (DTD) que especifica los elementos y atributos permitidos.
XML y XML Schema. El documento introduce XML como lenguaje de marcado extensible para estructurar datos, los espacios de nombres en XML para evitar conflictos de nombres, y XML Schema como mecanismo para validar documentos XML y definir su estructura.
El documento describe los esquemas XML (XML Schema), incluyendo su estructura, tipos de datos, validación de documentos XML y más. Explica que un esquema define la estructura de un conjunto de documentos XML y permite validarlos. Luego entra en detalles sobre los tipos de datos, complejos y simples, y cómo crear y restringir tipos propios.
Este documento proporciona una lista de recursos bibliográficos y otros recursos relacionados con tecnologías web como XML, XHTML, REST y APIs. También incluye un índice de temas a cubrir como vocabularios, namespaces, DTDs, ATOM, aplicaciones web, servicios en Java y más. El documento servirá como guía de referencia para el curso.
Presentación muy chula ApéndiceTecnologíaXML.pptprofesoralpe4
Este documento proporciona una introducción a la tecnología XML. Explica brevemente qué es XML, sus componentes básicos como elementos, atributos y etiquetas, y las herramientas para definir la estructura de documentos XML como DTDs y esquemas. También resume APIs comunes para procesar documentos XML como SAX y DOM.
Este documento presenta una introducción a los servicios web y Java. Explica los fundamentos de XML y su estructura, así como las diferentes formas de validar documentos XML como DTD y esquemas XML. También resume los contenidos del documento, incluyendo conceptos como el modelo SOA, lenguajes y protocolos de servicios web, y cómo crear y consumir servicios web existentes desde Java.
El documento describe el mapeo objeto-relacional (ORM) y el framework Hibernate. Explica las ventajas de usar ORM, como trabajar con objetos en lugar de filas de datos. También describe los componentes clave de Hibernate como las clases, los archivos XML de mapeo y de configuración, y cómo crear, leer, actualizar y eliminar objetos de la base de datos.
EAD es una DTD XML que permite la difusión, acceso y navegabilidad de información descriptiva archivística a través de redes. Los documentos EAD pueden aprovechar las posibilidades de los archivos XML, incluyendo enlaces entre documentos EAD, partes de documentos y archivos adjuntos. EAD también permite diferentes opciones de salida para la aplicación práctica de reglas de descripción multinivel a través de transformaciones XSLT y CSS.
Este documento describe los requisitos técnicos y el contenido de un curso sobre XML. El curso cubre temas como las características y elementos de XML, el estándar DOM para acceder a datos XML, XSL para dar formato a documentos XML, y aplicaciones prácticas de XML en entornos Java y Microsoft. El curso proporciona conocimientos técnicos fundamentales sobre XML y su uso.
XML es un lenguaje de marcado que permite almacenar e intercambiar datos estructurados entre distintas plataformas. Un documento XML está formado por texto plano y etiquetas definidas por el desarrollador. Todo documento XML debe tener un elemento raíz único del que desciendan los demás elementos de forma jerárquica. Para que un documento XML sea válido, no solo debe seguir las normas de sintaxis sino también las reglas establecidas en su definición formal.
Java Básico
- Introducción
- Variables, funciones
- Operadores y funciones matemáticas
- Estructuras de control de flujo
- Matrices de JavaScript
- Manejo de cadenas de texto
- Trabajando con fechas y horas
- Programación Orientada a Objetos con JavaScript
- Los eventos
- Los objetos del navegador
- Formularios y controles HTML intrínsecos
- Almacenando información del usuario: las cookies
- Expresiones regulares
- Introducción a AJAX
Chuleta de lenguaje C para principiantesAbrirllave
Este documento presenta una guía básica de lenguaje C, incluyendo la sintaxis de un programa simple de "Hola Mundo", tipos de datos, operadores, estructuras de control, funciones y bibliotecas estándar. Explica conceptos como variables, constantes, tipos enumerados, comentarios, directivas del preprocesador e identificadores. También cubre temas como instrucciones condicionales y repetitivas, especificadores de formato para entrada/salida, y las reglas sintácticas básicas de C.
Taller de iniciación al SEO y Desarrollo WebAbrirllave
Este documento presenta un taller sobre optimización de motores de búsqueda (SEO) y desarrollo web. Explica conceptos clave como SEO, investigación de palabras clave, desarrollo del sitio web, y estrategias para aumentar la visibilidad y relevancia de la información. El taller guía a los participantes a través de ejercicios prácticos como definir el ámbito del proyecto, buscar un nombre de dominio, comparar proveedores de hosting, y crear contenido para el sitio web.
Este documento presenta un libro sobre algoritmos en pseudocódigo y diagramas de flujo. Explica conceptos básicos como tipos de datos, variables, constantes, operadores y expresiones. Luego describe estructuras de control como instrucciones alternativas y repetitivas. El objetivo es enseñar los fundamentos del diseño de algoritmos de manera didáctica y práctica.
Este documento resume el capítulo 12 de un libro sobre diseño de algoritmos. Explica que un problema puede dividirse en subproblemas más pequeños, los cuales pueden resolverse mediante subalgoritmos llamados subprogramas. Describe las diferencias entre procedimientos y funciones, y cómo las variables y declaraciones pueden tener ámbito local o global. También muestra un ejemplo de cómo dividir un problema en subproblemas y llamar a subprogramas para resolver cada uno.
Este documento presenta una introducción al SEO (Search Engine Optimization), describiendo las tres fases del proceso de SEO - análisis, elaboración de una estrategia y realización de acciones. También cubre los factores que influyen en los resultados de los motores de búsqueda, incluyendo la visibilidad, relevancia y sabiduría de masas de la información. El objetivo del documento es servir como guía para personas que quieran aprender sobre las técnicas básicas de posicionamiento en buscadores.
El documento explica cómo representar algoritmos gráficamente mediante diagramas de flujo u ordinogramas. Describe los símbolos estándar utilizados como rectángulos para asignaciones, romboides para entrada/salida, óvalos para inicio/fin y rombos con círculos para decisiones. Proporciona ejemplos de cómo usar estos símbolos para representar diferentes partes de un algoritmo en un ordinograma.
Este documento presenta un ejercicio de programación para calcular la nota media de tres exámenes. Primero pide las notas de tres exámenes por teclado, luego calcula el promedio y finalmente muestra el resultado. Incluye pseudocódigo, lenguaje C y más ejercicios de programación como soluciones.
Ejercicio - Suma y multiplicación de dos númerosAbrirllave
Este documento presenta un ejercicio de programación para sumar y multiplicar dos números introducidos por el usuario. El programa primero pide al usuario que introduzca dos números enteros, luego calcula la suma y multiplicación de esos números, y finalmente muestra los resultados por pantalla. El documento también incluye información sobre cómo resolver el ejercicio usando pseudocódigo, lenguaje C u otros métodos.
Este documento presenta un ejercicio de programación para calcular el volumen de un cubo. Primero pide la arista del cubo por teclado, luego calcula el volumen como la arista al cubo, y finalmente muestra el resultado por pantalla. Incluye soluciones en pseudocódigo, lenguaje C y más ejercicios de programación.
Este documento presenta un ejercicio de programación para desarrollar un programa que pide una cantidad en pesetas al usuario, calcula el equivalente en euros usando la tasa de cambio de 166,386 pesetas por 1 euro, y muestra el resultado en euros. Incluye soluciones en pseudocódigo, lenguaje C y más ejercicios de programación.
Este documento presenta un ejercicio de programación para saludar a una persona. El programa primero pide el nombre del usuario y luego muestra el mensaje "Hola <nombre>, buenos días.". El documento también proporciona soluciones al ejercicio en ordinograma, pseudocódigo y lenguaje C, y ofrece enlaces a más ejercicios de programación.
Instrucciones primitivas en pseudocódigoAbrirllave
Este documento resume las instrucciones primitivas en pseudocódigo, incluyendo asignación, salida e entrada. Explica que las instrucciones de asignación almacenan el valor de una expresión en una variable, las de salida envían valores a la pantalla, y las de entrada recogen valores del teclado y los almacenan en variables. Además, introduce los símbolos reservados utilizados para estas instrucciones primitivas.
Operadores y expresiones en pseudocódigoAbrirllave
Este documento describe operadores y expresiones en algoritmos. Explica que los operadores indican el tipo de operación a realizar sobre los operandos. Las expresiones combinan operandos y operadores para producir un valor. Describe diferentes tipos de operadores aritméticos como suma, resta, multiplicación y su prioridad.
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...AMADO SALVADOR
Descarga el Catálogo General de Tarifas 2024 de Vaillant, líder en tecnología para calefacción, ventilación y energía solar térmica y fotovoltaica. En Amado Salvador, como distribuidor oficial de Vaillant, te ofrecemos una amplia gama de productos de alta calidad y diseño innovador para tus proyectos de climatización y energía.
Descubre nuestra selección de productos Vaillant, incluyendo bombas de calor altamente eficientes, fancoils de última generación, sistemas de ventilación de alto rendimiento y soluciones de energía solar fotovoltaica y térmica para un rendimiento óptimo y sostenible. El catálogo de Vaillant 2024 presenta una variedad de opciones en calderas de condensación que garantizan eficiencia energética y durabilidad.
Con Vaillant, obtienes más que productos de climatización: control avanzado y conectividad para una gestión inteligente del sistema, acumuladores de agua caliente de gran capacidad y sistemas de aire acondicionado para un confort total. Confía en la fiabilidad de Amado Salvador como distribuidor oficial de Vaillant, y en la resistencia de los productos Vaillant, respaldados por años de experiencia e innovación en el sector.
En Amado Salvador, distribuidor oficial de Vaillant en Valencia, no solo proporcionamos productos de calidad, sino también servicios especializados para profesionales, asegurando que tus proyectos cuenten con el mejor soporte técnico y asesoramiento. Descarga nuestro catálogo y descubre por qué Vaillant es la elección preferida para proyectos de climatización y energía en Amado Salvador.
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)codesiret
Los protocolos son conjuntos de
normas para formatos de mensaje y
procedimientos que permiten a las
máquinas y los programas de aplicación
intercambiar información.
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
Uso de las Tics en la vida cotidiana.pptx231485414
Las Tecnologías de la Información y las Comunicaciones (TIC), son el conjunto de recursos, herramientas, equipos, programas informáticos, aplicaciones, redes y medios.
1. Apuntes de XSD de “Abrirllave.com” 1 / 21
Apuntes de XSD
(XML Schema)
{Abrirllave.com – Tutoriales de informática
Contenidos del tutorial de XSD www.abrirllave.com/xsd/
(Estos apuntes incluyen enlaces a los apartados y ejercicios resueltos del tutorial en la Web)
1. Qué es XSD
2. Validación de un documento XML con XSD
Definición de un espacio de nombres
Elementos globales y locales en XSD
elementFormDefault="unqualified"
elementFormDefault="qualified"
Validación de un sitemap XML
3. Elementos simples
Tipos de declaración de elementos simples (fixed, default)
4. Atributos
Tipos de declaración de atributos (fixed, default, optional, required)
5. Restricciones (facetas)
xs:minExclusive y xs:maxInclusive
xs:enumeration
xs:pattern
xs:length
xs:whiteSpace
6. Extensiones
xs:extension (complexContent)
xs:extension (simpleContent)
7. Elementos complejos
Elemento vacío
Contenido mixto
8. Indicadores
Indicadores de orden (xs:sequence, xs:all, xs:choice)
Indicadores de ocurrencia (maxOccurs, minOccurs)
Indicadores de grupo (xs:group, xs:attributeGroup)
9. Recursos de XSD
2. Apuntes de XSD de “Abrirllave.com” 2 / 21
1. Qué es XSD
XSD (XML Schema Definition) es un lenguaje, también llamado simplemente XML Schema, que
sirve para definir la estructura de un documento XML, permitiendo su validación.
En los siguientes enlaces se puede consultar la W3C Recommendation de XSD, en la cual están
basados estos apuntes de introducción a XML Schema:
XML Schema Part 0: Primer
www.w3.org/TR/xmlschema-0/
XML Schema Part 1: Structures
www.w3.org/TR/xmlschema-1/
XML Schema Part 2: Datatypes
www.w3.org/TR/xmlschema-2/
Los contenidos –teoría y ejemplos– de estos apuntes, están redactados asumiendo que el
lector ya posee conocimientos previos de XML. De no ser así, se recomienda consultar el
tutorial de XML en www.abrirllave.com/xml/.
2. Validación de un documento XML con XSD
EJEMPLO Se quiere almacenar una lista de marcadores de páginas web, guardando de cada
uno de ellos su nombre, una descripción y su URL. Para ello, se ha escrito el siguiente
documento XML (“marcadores.xml”) asociado al archivo “marcadores.xsd”:
<?xml version="1.0" encoding="UTF-8"?>
<marcadores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="marcadores.xsd">
<pagina>
<nombre>Abrirllave</nombre>
<descripcion>Tutoriales de informática.</descripcion>
<url>http://www.abrirllave.com/</url>
</pagina>
<pagina>
<nombre>Wikipedia</nombre>
<descripcion>La enciclopedia libre.</descripcion>
<url>http://www.wikipedia.org/</url>
</pagina>
<pagina>
<nombre>W3C</nombre>
<descripcion>World Wide Web Consortium.</descripcion>
<url>http://www.w3.org/</url>
</pagina>
</marcadores>
3. Apuntes de XSD de “Abrirllave.com” 3 / 21
Para vincular un esquema a un documento XML, es obligatorio que este último haga
referencia al espacio de nombres http://www.w3.org/2001/XMLSchema-
instance. Para ello, habitualmente se utiliza el prefijo xsi.
El atributo noNameSchemaLocation permite referenciar a un archivo con la
definición de un esquema que no tiene ningún espacio de nombres asociado. En este
caso, dicho archivo es “marcadores.xsd”.
El esquema XML guardado en “marcadores.xsd” y que permita validar el documento XML
“marcadores.xml” podría ser:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="marcadores">
<xs:complexType>
<xs:sequence>
<xs:element name="pagina" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="descripcion" type="xs:string"/>
<xs:element name="url" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Para estar bien formado, un esquema XML tiene que cumplir las mismas reglas de sintaxis que
cualquier otro documento XML.
Por otra parte, hay que tener en cuenta que, en todos los esquemas XML, el elemento raíz es
“schema”. Ahora bien, para escribirlo, es muy común utilizar el prefijo xsd o xs.
Con xmlns:xs="http://www.w3.org/2001/XMLSchema" se ha indicado que:
Los elementos y tipos de datos utilizados en el esquema pertenecen al espacio de
nombres http://www.w3.org/2001/XMLSchema.
Dichos elementos y tipos de datos deben llevar el prefijo xs (xs:schema,
xs:element, xs:complexType, xs:string...).
Fíjese también que:
Los elementos “marcadores” y “página” son de tipo complejo (complexType), ya
que, contienen a otros elementos.
sequence indica que los elementos hijo deben aparecer, en el documento XML, en el
mismo orden en el que sean declarados en el esquema.
Los elementos “nombre”, “descripción” y “url” son de tipo simple (string en este
caso) y no pueden contener a otros elementos.
Mediante maxOccurs="unbounded" se ha indicado que pueden aparecer
ilimitados elementos “página” en el documento XML.
Ejercicio
Validar un documento XML
4. Apuntes de XSD de “Abrirllave.com” 4 / 21
Definición de un espacio de nombres
EJEMPLO En el siguiente documento XML se ha definido un espacio de nombres escribiendo
xmlns:mar="http://www.abrirllave.com/marcadores":
<?xml version="1.0" encoding="UTF-8"?>
<mar:marcadores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.abrirllave.com/marcadores marcadores.xsd"
xmlns:mar="http://www.abrirllave.com/marcadores">
<mar:pagina>
<mar:nombre>Abrirllave</mar:nombre>
<mar:descripcion>Tutoriales de informática.</mar:descripcion>
<mar:url>http://www.abrirllave.com/</mar:url>
</mar:pagina>
<mar:pagina>
<mar:nombre>Wikipedia</mar:nombre>
<mar:descripcion>La enciclopedia libre.</mar:descripcion>
<mar:url>http://www.wikipedia.org/</mar:url>
</mar:pagina>
<mar:pagina>
<mar:nombre>W3C</mar:nombre>
<mar:descripcion>World Wide Web Consortium.</mar:descripcion>
<mar:url>http://www.w3.org/</mar:url>
</mar:pagina>
</mar:marcadores>
En el atributo schemaLocation se pueden escribir parejas de valores:
En el primer valor de cada pareja, hay que hacer referencia a un espacio de nombres.
En el segundo valor, se tiene que indicar la ubicación de un archivo donde hay un
esquema de ese espacio de nombres.
En cuanto al archivo “marcadores.xsd”, ahora su código podría ser:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.abrirllave.com/marcadores"
xmlns="http://www.abrirllave.com/marcadores"
elementFormDefault="qualified">
<xs:element name="marcadores">
<xs:complexType>
<xs:sequence>
<xs:element name="pagina" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="descripcion" type="xs:string"/>
<xs:element name="url" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
5. Apuntes de XSD de “Abrirllave.com” 5 / 21
En el atributo targetNamespace se está indicando que los elementos definidos en
este esquema (“marcadores”, “página”, “nombre”, “descripción” y “url”), provienen
del espacio de nombres http://www.abrirllave.com/marcadores.
xmlns="http://www.abrirllave.com/marcadores" especifica que este es el
espacio de nombres por defecto.
El atributo elementFormDefault="qualified" indica que todos los elementos
declarados localmente en el esquema tienen que estar calificados, es decir, tienen que
pertenecer a un espacio de nombres. Por esta razón, en “marcadores.xml” se han
escrito con el prefijo mar.
Elementos globales y locales en XSD
Los elementos pueden ser globales o locales:
Los elementos globales son hijos directos del elemento raíz, <xs:schema> en este
caso. En el ejemplo que estamos tratando, solamente existe un elemento global:
<xs:element name="marcadores">.
Los elementos locales son el resto de elementos.
Cuando se define un espacio de nombres, los elementos globales tienen que estar calificados,
obligatoriamente.
elementFormDefault="unqualified"
EJEMPLO En el supuesto de que el valor del atributo elementFormDefault fuese
"unqualified", para que “marcadores.xml” fuese válido, se podría escribir algo similar a:
<?xml version="1.0" encoding="UTF-8"?>
<mar:marcadores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.abrirllave.com/marcadores marcadores.xsd"
xmlns:mar="http://www.abrirllave.com/marcadores">
<pagina>
<nombre>Abrirllave</nombre>
<descripcion>Tutoriales de informática.</descripcion>
<url>http://www.abrirllave.com/</url>
</pagina>
<pagina>
<nombre>Wikipedia</nombre>
<descripcion>La enciclopedia libre.</descripcion>
<url>http://www.wikipedia.org/</url>
</pagina>
<pagina>
<nombre>W3C</nombre>
<descripcion>World Wide Web Consortium.</descripcion>
<url>http://www.w3.org/</url>
</pagina>
</mar:marcadores>
"unqualified" es el valor por defecto del atributo elementFormDefault.
6. Apuntes de XSD de “Abrirllave.com” 6 / 21
elementFormDefault="qualified"
EJEMPLO Si el atributo elementFormDefault se definiese "qualified", también
sería válido el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<marcadores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.abrirllave.com/marcadores marcadores.xsd"
xmlns="http://www.abrirllave.com/marcadores">
<pagina>
<nombre>Abrirllave</nombre>
<descripcion>Tutoriales de informática.</descripcion>
<url>http://www.abrirllave.com/</url>
</pagina>
<pagina>
<nombre>Wikipedia</nombre>
<descripcion>La enciclopedia libre.</descripcion>
<url>http://www.wikipedia.org/</url>
</pagina>
<pagina>
<nombre>W3C</nombre>
<descripcion>World Wide Web Consortium.</descripcion>
<url>http://www.w3.org/</url>
</pagina>
</marcadores>
Ahora, ningún elemento lleva prefijo, al igual que el espacio de nombres al que pertenecen:
xmlns="http://www.abrirllave.com/marcadores"
Validación de un sitemap XML
EJEMPLO Para validar el archivo “sitemap.xml” que da solución al ejercicio de XML
propuesto en el siguiente enlace:
http://www.abrirllave.com/xml/ejercicio-crear-un-sitemap-xml.php
Obsérvese que, es necesario añadir el texto resaltado que se muestra a continuación:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.ejemplos-de-abrirllave.com/</loc>
<lastmod>2016-09-30</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.ejemplos-de-abrirllave.com/contactar.html</loc>
<lastmod>2016-09-30</lastmod>
<priority>0.3</priority>
</url>
7. Apuntes de XSD de “Abrirllave.com” 7 / 21
<url>
<loc>http://www.ejemplos-de-abrirllave.com/productos/impresora.html</loc>
<lastmod>2016-09-30</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.ejemplos-de-abrirllave.com/productos/monitor.html</loc>
<lastmod>2016-09-30</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.ejemplos-de-abrirllave.com/productos/teclado.html</loc>
<lastmod>2016-09-30</lastmod>
<priority>0.5</priority>
</url>
</urlset>
Al visualizar en un navegador web el código fuente del archivo “sitemap.xsd” ubicado en:
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
En pantalla se verá algo parecido a:
Nótese que, en el archivo “sitemap.xsd”, la etiqueta <xsd:schema> contiene los atributos
xmlns:xsd, targetNamespace, xmlns y elementFormDefault.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
elementFormDefault="qualified">
Ejercicios
Validar un sitemap XML
Mensaje entre personas
8. Apuntes de XSD de “Abrirllave.com” 8 / 21
3. Elementos simples
Los elementos simples solamente pueden contener texto (caracteres). Dicho de otro modo,
los elementos simples no pueden contener a otro u otros elementos (hijos), ni tampoco
pueden tener atributos. Ahora bien, el texto contenido en un elemento simple, puede ser de
diferentes tipos de datos predefinidos en W3C XML Schema o definidos por el usuario
(programador).
Los tipos de datos predefinidos pueden ser primitivos (string, boolean, decimal...) o derivados
de estos (integer, ID, IDREF...). Véase en el siguiente enlace, una imagen donde se puede ver la
relación que existe entre todos ellos:
https://goo.gl/lK2l2I: este enlace lleva a una carpeta compartida de Google
Drive –pública en la Web– donde se puede acceder a la imagen “w3c-xml-schema-
type-hierarchy.gif”.
Para definir un elemento simple se puede utilizar la siguiente sintaxis:
<xs:element name="nombre_del_elemento" type="tipo_de_dato"/>
EJEMPLO Para los siguientes elementos XML:
<nombre>Elsa</nombre>
<edad>23</edad>
Sus definiciones pueden ser:
<xs:element name="nombre" type="xs:string"/>
<xs:element name="edad" type="xs:integer"/>
Tipos de declaración de elementos simples (fixed, default)
Si se quiere indicar que un valor es fijo (fixed), se puede escribir, por ejemplo:
<xs:element name="mes" type="xs:string" fixed="agosto"/>
También, se puede especificar un valor por defecto (default), por ejemplo, tecleando:
<xs:element name="mes" type="xs:string" default="agosto"/>
Ejercicios resueltos
Definición de elementos simples
Puerta cerrada y ventana abierta
9. Apuntes de XSD de “Abrirllave.com” 9 / 21
4. Atributos
Para definir un atributo se puede emplear la siguiente sintaxis:
<xs:attribute name="nombre_del_atributo" type="tipo_de_dato"/>
EJEMPLO Para el elemento “curso” siguiente, donde aparece el atributo “grupo”:
<curso grupo="B">2</curso>
Sus definiciones pueden ser:
<xs:element name="curso" type="xs:integer"/>
<xs:attribute name="grupo" type="xs:string"/>
Todos los atributos pueden tomar por valor tipos simples.
Por otra parte, cuando un elemento tiene al menos un atributo –como es el caso del
elemento “curso” en este ejemplo– dicho elemento se dice que es complejo.
Tipos de declaración de atributos (fixed, default, optional,
required)
Para indicar que el valor de un atributo es fijo (fixed), es posible escribir, por ejemplo:
<xs:attribute name="grupo" type="xs:string" fixed="B"/>
Para especificar el valor por defecto (default) de un atributo, se puede escribir:
<xs:attribute name="grupo" type="xs:string" default="B"/>
Para indicar que un atributo es obligatorio (required) escribirlo, se puede teclear:
<xs:attribute name="grupo" type="xs:string" use="required"/>
Por defecto, si no se indica nada, el atributo será opcional (optional).
Ejercicio resuelto
Fichas de personas
10. Apuntes de XSD de “Abrirllave.com” 10 / 21
5. Restricciones (facetas)
XML Schema permite definir restricciones a los posibles valores de los tipos de datos. Dichas
restricciones se pueden establecer en diferentes aspectos, llamados facetas.
Dicho de otro modo, las facetas permiten definir restricciones sobre los posibles valores de
atributos o elementos. Las facetas que pueden utilizarse son:
Facetas de XSD
Faceta Descripción
xs:length Especifica una longitud fija.
xs:minLength Especifica una longitud mínima.
xs:maxLength Especifica una longitud máxima.
xs:pattern Especifica un patrón de caracteres admitidos.
xs:enumeration Especifica una lista de valores admitidos.
xs:whiteSpace Especifica cómo se debe tratar a los posibles espacios en blanco,
las tabulaciones, los saltos de línea y los retornos de carro que
puedan aparecer.
xs:maxInclusive Especifica que el valor debe ser menor o igual que el indicado.
xs:maxExclusive Especifica que el valor debe ser menor que el indicado.
xs:minExclusive Especifica que el valor debe ser mayor que el indicado.
xs:minInclusive Especifica que el valor debe ser mayor o igual que el indicado.
xs:totalDigits Especifica el número máximo de dígitos que puede tener un
número.
xs:fractionDigits Especifica el número máximo de decimales que puede tener un
número.
Seguidamente, se muestran algunos ejemplos de restricciones definidas con una o más facetas:
xs:minExclusive y xs:maxInclusive
EJEMPLO En el siguiente código se define un elemento llamado “mes” con la restricción de
que el valor que tome no pueda ser menor que 1 ni mayor que 12:
<xs:element name="mes">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
11. Apuntes de XSD de “Abrirllave.com” 11 / 21
xs:simpleType permite definir un tipo simple y especificar sus restricciones.
xs:restriction sirve para definir restricciones de un xs:simpleType (como se
ha hecho en este ejemplo). También sirve para definir restricciones de un
xs:simpleContent o de un xs:complexContent. Estos elementos se
estudiarán más adelante.
En el atributo base se indica el tipo de dato a partir del cual se define la restricción.
xs:minInclusive sirve para especificar que el valor debe ser mayor o igual que el
indicado en su atributo value, (en este caso, mayor o igual que 1).
xs:maxInclusive sirve para especificar que el valor debe ser menor o igual que el
indicado en su atributo value, (en este caso, menor o igual que 12).
También se podría haber escrito:
<xs:element name="mes" type="numeroMes"/>
<xs:simpleType name="numeroMes">
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
Haciendo esto, el tipo numeroMes definido, podría ser utilizado por otros elementos, ya que,
no está contenido en el elemento “mes”.
Ejercicios resueltos
Edad entre 0 y 130 años
Precios de tres dígitos
xs:enumeration
EJEMPLO En el siguiente ejemplo se define un elemento llamado “color” con la restricción
de que los únicos valores admitidos son: "verde", "amarillo" y "rojo".
<xs:element name="color">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="verde"/>
<xs:enumeration value="amarillo"/>
<xs:enumeration value="rojo"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
xs:enumeration sirve para definir una lista de valores admitidos.
Ejercicio resuelto
Tipo de vehículo
12. Apuntes de XSD de “Abrirllave.com” 12 / 21
xs:pattern
EJEMPLO En el siguiente ejemplo se define un elemento llamado “letra” con la restricción de
que el único valor admitido es una de las letras minúsculas de la "a" a la "z":
<xs:element name="letra">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
xs:pattern sirve para definir un patrón de caracteres admitidos (en este caso se
admite una única letra minúscula de la "a" a la "z"). El valor del patrón tiene que
ser una expresión regular.
Ejercicios resueltos
Iniciales de personas famosas
Iniciales al revés
Respuestas admitidas
Números y letras
Escribir expresiones regulares
Letras admitidas
xs:length
EJEMPLO En el siguiente ejemplo se define un elemento llamado “clave” con la restricción
de que su valor tiene que ser una cadena de, exactamente, doce caracteres:
<xs:element name="clave">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
xs:length sirve para especificar una longitud fija.
Ejercicios resueltos
Longitud fija de una clave
Longitud mínima y máxima de una clave
13. Apuntes de XSD de “Abrirllave.com” 13 / 21
xs:whiteSpace
EJEMPLO En el siguiente ejemplo se define un elemento llamado “dirección” con la
restricción de que los espacios en blanco, las tabulaciones, los saltos de línea y los retornos de
carro que aparezcan en él, se deben mantener (preserve):
<xs:element name="direccion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
xs:whiteSpace sirve para especificar cómo se debe tratar a los posibles espacios
en blanco, las tabulaciones, los saltos de línea y los retornos de carro que puedan
aparecer.
En vez de preserve también se puede utilizar:
replace para sustituir todas las tabulaciones, los saltos de línea y los retornos de
carro por espacios en blanco.
collapse para, después de reemplazar todas las tabulaciones, los saltos de línea y
los retornos de carro por espacios en blanco, eliminar todos los espacios en blanco
únicos y sustituir varios espacios en blanco seguidos por un único espacio en blanco.
6. Extensiones
xs:extension sirve para extender un elemento simpleType o complexType.
xs:extension (complexContent)
EJEMPLO Dado el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<fichas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="fichas.xsd">
<ficha numero="1">
<nombre>Eva</nombre>
<edad>25</edad>
<ciudad>París</ciudad>
<pais>Francia</pais>
</ficha>
<ficha numero="2">
<nombre>Giovanni</nombre>
<edad>26</edad>
<ciudad>Florencia</ciudad>
<pais>Italia</pais>
</ficha>
</fichas>
14. Apuntes de XSD de “Abrirllave.com” 14 / 21
Y el archivo “fichas.xsd” que permite validarlo:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fichas">
<xs:complexType>
<xs:sequence>
<xs:element name="ficha" type="infoPersonaAmpliada"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="infoPersonaAmpliada">
<xs:complexContent>
<xs:extension base="infoPersona">
<xs:sequence>
<xs:element name="ciudad" type="xs:string"/>
<xs:element name="pais" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="infoPersona">
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="edad" type="edadPersona"/>
</xs:sequence>
<xs:attribute name="numero" type="xs:integer"/>
</xs:complexType>
<xs:simpleType name="edadPersona">
<xs:restriction base="xs:integer">
<xs:minExclusive value="-1"/>
<xs:maxExclusive value="131"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Obsérvese que, infoPersonaAmpliada se basa en infoPersona, añadiéndole
dos elementos: “ciudad” y “país”.
En cuanto a xs:complexContent, sirve para definir restricciones o extensiones a
un tipo complejo (complexType).
Ejercicio resuelto
Información de persona ampliada
15. Apuntes de XSD de “Abrirllave.com” 15 / 21
xs:extension (simpleContent)
xs:simpleContent permite definir restricciones o extensiones a elementos que solo
contienen datos, es decir, no contienen a otros elementos.
EJEMPLO El siguiente archivo “precios.xsd”:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="precios">
<xs:complexType>
<xs:sequence>
<xs:element name="precio" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="moneda" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Permite validar el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<precios xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="precios.xsd">
<precio moneda="Euro">5</precio>
<precio moneda="Dólar">6.2</precio>
<precio moneda="Libra esterlina">4.3</precio>
</precios>
Nótese que, utilizando xs:extension, al elemento “precio” se le ha incorporado el
atributo moneda.
Ejercicios resueltos
Precios de artículos
Información de ubicaciones
Colores de muebles
16. Apuntes de XSD de “Abrirllave.com” 16 / 21
7. Elementos complejos
Un elemento es complejo (complexType) cuando contiene uno o más elementos y/o
atributos. De entre las posibles combinaciones de elementos y/o atributos que puede
contener un elemento complejo (1 elemento y 0 atributos, 1 elemento y 1 atributo, 1
elemento y varios atributos, 0 elementos y 1 atributo...) cabe destacar las siguientes:
Un elemento complejo puede estar vacío, es decir, no contener elementos ni texto,
pero sí tener al menos un atributo.
Un elemento complejo puede contener contenido mixto, es decir, contener uno o
más elementos, además de texto. Por otra parte, podría tener atributos, o no.
Elemento vacío
EJEMPLO En el siguiente código se ha definido vacío el elemento “bola”, no pudiendo
contener ni otros elementos ni texto. Ahora bien, véase que sí tiene un atributo, llamado
numero:
<xs:element name="bola">
<xs:complexType>
<xs:attribute name="numero" type="numeroDeBola"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="numeroDeBola">
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxExclusive value="90"/>
</xs:restriction>
</xs:simpleType>
xs:positiveInteger indica que el valor del atributo numero debe ser un
número entero mayor que cero.
Ejercicio resuelto
Números del bingo
Contenido mixto
Fíjese que, en el siguiente código se ha definido el elemento “persona” de tipo complejo mixto
(mixed="true"):
<xs:element name="persona">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="ciudad" type="xs:string"/>
<xs:element name="edad" type="xs:positiveInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
17. Apuntes de XSD de “Abrirllave.com” 17 / 21
Ejercicio resuelto
Información de personas en contenido mixto
8. Indicadores
Los indicadores permiten establecer cómo se van a escribir –o utilizar– los elementos en un
documento XML. Hay siete tipos de indicadores que se pueden clasificar en:
Indicadores de orden: secuencia (sequence), todo (all) y elección (choice).
Indicadores de ocurrencia: maxOccurs y minOccurs.
Indicadores de grupo: de elementos (group) y de atributos (attributeGroup).
Indicadores de orden (xs:sequence, xs:all, xs:choice)
Mientras que xs:sequence sirve para especificar el orden en el que obligatoriamente
deben aparecer los elementos hijo de un elemento, xs:all sirve para indicar que dichos
elementos pueden aparecer en cualquier orden.
EJEMPLO El siguiente archivo “lugar.xsd”:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="lugar">
<xs:complexType>
<xs:sequence>
<xs:element name="ciudad">
<xs:complexType>
<xs:all>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="pais" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Permite validar el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<lugar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="lugar.xsd">
<ciudad>
<pais>Italia</pais>
<nombre>Florencia</nombre>
</ciudad>
</lugar>
18. Apuntes de XSD de “Abrirllave.com” 18 / 21
Por otra parte, xs:choice sirve para especificar que solamente se permite escribir uno de
los elementos hijo. Por ejemplo, en este caso, se podría utilizar para indicar que habría que
elegir entre escribir el “nombre” o escribir el “país” de la “ciudad”, pero no ambos.
Indicadores de ocurrencia (maxOccurs, minOccurs)
maxOccurs y minOccurs permiten establecer, respectivamente, el número máximo y
mínimo de veces que puede aparecer un determinado elemento. El valor por defecto para
maxOccurs y minOccurs es 1.
EJEMPLO Dado el siguiente documento XML “paises.xml”:
<?xml version="1.0" encoding="UTF-8"?>
<paises xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="paises.xsd">
<pais>
<nombre>Argentina</nombre>
<ciudad>Buenos Aires</ciudad>
<ciudad>Rosario</ciudad>
</pais>
<pais>
<nombre>México</nombre>
<ciudad>Guadalajara</ciudad>
<ciudad>Monterrey</ciudad>
<ciudad>Cancún</ciudad>
<ciudad>Mérida</ciudad>
<ciudad>Ciudad de México</ciudad>
</pais>
<pais>
<nombre>Colombia</nombre>
</pais>
</paises>
Considerando que se quiere especificar que:
“país” pueda aparecer una o ilimitadas veces.
“nombre” tenga que escribirse obligatoriamente, y solo una vez, dentro de “país”.
De cada “país” puedan escribirse de cero a cinco “ciudades”.
El código del archivo “paises.xsd” que permita validar “paises.xml”, podría ser:
19. Apuntes de XSD de “Abrirllave.com” 19 / 21
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="paises">
<xs:complexType>
<xs:sequence>
<xs:element name="pais" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="ciudad" type="xs:string"
minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Indicadores de grupo (xs:group, xs:attributeGroup)
xs:group sirve para agrupar un conjunto de declaraciones de elementos relacionados.
EJEMPLO Dado el siguiente documento XML “personas.xml”:
<?xml version="1.0" encoding="UTF-8"?>
<personas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="personas.xsd">
<persona>
<nombre>Eva</nombre>
<edad>25</edad>
<pais>Francia</pais>
<telefono>999888777</telefono>
</persona>
<persona>
<nombre>Giovanni</nombre>
<edad>26</edad>
<pais>Italia</pais>
<telefono>111222333</telefono>
</persona>
</personas>
Y el archivo “personas.xsd” que permite validarlo:
20. Apuntes de XSD de “Abrirllave.com” 20 / 21
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="personas">
<xs:complexType>
<xs:sequence>
<xs:element name="persona" type="datosDePersona"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="datosDePersona">
<xs:sequence>
<xs:group ref="datosBasicos"/>
<xs:element name="telefono" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:group name="datosBasicos">
<xs:sequence>
<xs:element name="nombre" type="xs:string"/>
<xs:element name="edad" type="xs:positiveInteger"/>
<xs:element name="pais" type="xs:string"/>
</xs:sequence>
</xs:group>
</xs:schema>
Obsérvese que, se ha definido el grupo datosBasicos, el cual ha sido incorporado a
la definición del tipo complejo datosDePersona.
Del mismo modo, attributeGroup sirve para definir un grupo de atributos. Por ejemplo,
para validar el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<personas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="personas.xsd">
<persona nombre="Eva" edad="25" pais="Francia"/>
<persona nombre="Giovanni" edad="26" pais="Italia"/>
</personas>
Se puede escribir el siguiente código en el archivo “personas.xsd”:
21. Apuntes de XSD de “Abrirllave.com” 21 / 21
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="personas">
<xs:complexType>
<xs:sequence>
<xs:element name="persona" maxOccurs="unbounded">
<xs:complexType>
<xs:attributeGroup ref="datosDePersona"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="datosDePersona">
<xs:attribute name="nombre" type="xs:string"/>
<xs:attribute name="edad" type="xs:positiveInteger"/>
<xs:attribute name="pais" type="xs:string"/>
</xs:attributeGroup>
</xs:schema>
En este caso, se ha definido el grupo de atributos datosDePersona, el cual ha sido
incorporado a la definición del elemento persona.
Ejercicios resueltos
Panel de vuelos
Factura
Registro de conexiones
Personal de departamentos
9. Recursos de XSD
Tutorial de XSD
http://www.abrirllave.com/xsd/
Ejercicios resueltos de XSD
http://www.abrirllave.com/xsd/ejercicios-resueltos.php
ACERCA DE LOS CONTENIDOS DE ESTE DOCUMENTO
Todos los contenidos de este documento forman parte del Tutorial de XSD de Abrirllave y
están bajo la Licencia Creative Commons Reconocimiento 4.0 Internacional (CC BY 4.0).