Tutorial XML

INICIO XML Introducción XML XML Cómo utilizar Árbol XML Sintaxis XML Elementos XML Atributos XML Espacios de nombres XML Pantalla XML Solicitud Http XML Analizador XML DOM XML XPath XML XML XSLT XQuery XML Enlace X XML Validador XML DTD XML Esquema XML Servidor XML Ejemplos XML Cuestionario XML Certificado XML

XML-AJAX

AJAX Introducción AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

DOM XML

DOM Introducción Nodos DOM Acceso DOM Información del nodo DOM Lista de nodos DOM Atravesando DOM Navegación DOM DOM obtener valores Nodos de cambio de DOM Eliminar nodos DOM Nodos de reemplazo de DOM DOM Crear nodos Agregar nodos DOM Nodos de clonación de DOM Ejemplos de DOM

Tutorial XPath

Introducción a XPath Nodos XPath Sintaxis XPath Ejes XPath Operadores XPath Ejemplos de XPath

Tutorial XSLT

XSLT Introducción Idiomas XSL Transformación XSLT XSLT <plantilla> XSLT <valor-de> XSLT <para-cada> XSLT <ordenar> XSLT <si> XSLT <elegir> Aplicar XSLT XSLT en el cliente XSLT en el servidor XSLT Editar XML Ejemplos de XSLT

Tutorial de XQuery

Introducción a XQuery Ejemplo de XQuery XQuery FLWOR XQuery HTML Términos de XQuery Sintaxis XQuery XQuery Agregar Seleccionar XQuery Funciones XQuery

DTD XML

Introducción a DTD Bloques de construcción DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Ejemplos de DTD

Esquema XSD

XSD Introducción XSD Cómo XSD <esquema> Elementos XSD Atributos XSD Restricciones XSD

Complejo XSD

Elementos XSD XSD vacío Solo elementos XSD Solo texto XSD XSD mixto Indicadores XSD XSD <cualquiera> XSD <cualquieratributo> Sustitución XSD Ejemplo XSD

Datos XSD

Cadena XSD Fecha XSD XSD Numérico Miscelánea XSD Referencia XSD

Servicios web

Servicios XML XML WSDL JABÓN XML XML RDF RSS XML

Referencias

Tipos de nodos DOM Nodo DOM Lista de nodos DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentario DOM DOM XMLHttpSolicitud Analizador DOM Elementos XSLT Funciones XSLT/XPath

Tutorial de esquema XML


¿Qué es un esquema XML?

Un esquema XML describe la estructura de un documento XML.

El lenguaje de esquema XML también se conoce como definición de esquema XML (XSD).

Ejemplo XSD

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

El propósito de un esquema XML es definir los componentes básicos legales de un documento XML:

  • los elementos y atributos que pueden aparecer en un documento
  • el número de (y orden de) elementos secundarios
  • tipos de datos para elementos y atributos
  • valores predeterminados y fijos para elementos y atributos

¿Por qué aprender el esquema XML?

En el mundo XML, se utilizan a diario cientos de formatos XML estandarizados.

Muchos de estos estándares XML están definidos por esquemas XML.

XML Schema es una alternativa basada en XML (y más poderosa) a DTD.



Tipos de datos compatibles con esquemas XML

Una de las mayores fortalezas de los Esquemas XML es el soporte para tipos de datos.

  • Es más fácil describir el contenido del documento permitido
  • Es más fácil validar la exactitud de los datos.
  • Es más fácil definir facetas de datos (restricciones en los datos)
  • Es más fácil definir patrones de datos (formatos de datos)
  • Es más fácil convertir datos entre diferentes tipos de datos

Los esquemas XML usan sintaxis XML

Otra gran ventaja de los esquemas XML es que están escritos en XML.

  • No tienes que aprender un nuevo idioma
  • Puede usar su editor XML para editar sus archivos de esquema
  • Puede usar su analizador XML para analizar sus archivos de esquema
  • Puedes manipular tu Esquema con el XML DOM
  • Puedes transformar tu Esquema con XSLT

Los esquemas XML son extensibles porque están escritos en XML.

Con una definición de esquema extensible puede:

  • Reutilice su esquema en otros esquemas
  • Cree sus propios tipos de datos derivados de los tipos estándar
  • Hacer referencia a varios esquemas en el mismo documento

Esquemas XML Comunicación segura de datos

Al enviar datos de un emisor a un receptor, es fundamental que ambas partes tengan las mismas "expectativas" sobre el contenido.

Con esquemas XML, el remitente puede describir los datos de una manera que el receptor los entienda.

Una fecha como: "11-03-2004" se interpretará, en algunos países, como 3 de noviembre y en otros países como 11 de marzo.

Sin embargo, un elemento XML con un tipo de datos como este:

<fecha tipo="fecha">2004-03-11</fecha>

asegura una comprensión mutua del contenido, porque el tipo de datos XML "fecha" requiere el formato "AAAA-MM-DD".


Bien formado no es suficiente

Un documento XML bien formado es un documento que se ajusta a las reglas de sintaxis XML, como:

  • debe comenzar con la declaración XML
  • debe tener un único elemento raíz
  • las etiquetas de inicio deben tener etiquetas finales coincidentes
  • los elementos distinguen entre mayúsculas y minúsculas
  • todos los elementos deben estar cerrados
  • todos los elementos deben estar correctamente anidados
  • todos los valores de atributos deben ser citados
  • las entidades deben usarse para caracteres especiales

Incluso si los documentos están bien formados, aún pueden contener errores, y esos errores pueden tener graves consecuencias.

Piense en la siguiente situación: pide 5 impresoras láser en bruto, en lugar de 5 impresoras láser. Con esquemas XML, la mayoría de estos errores pueden ser detectados por su software de validación.