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.