icono_twiter icono Facebook
Carlos García Pérez

Técnico especialista en informática de empresa (CEU).

Ingeniero Técnico en Informática de Sistemas (UPM)

Creador de MobileTest, Haaala!, Girillo, toi18n.

Charla sobre desarrollo de aplicaciones en Android.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2009-01-25

Tutorial visitado 5.755 veces Descargar en PDF
Aprendiendo XMLSchema a través de ejemplos

Aprendiendo XMLSchema a través de ejemplos

Introducción a XML Schema

Cuando intercambiamos información es esencial que los interlocutores estén de acuerdo en relación al formato y contenido de la misma. Esto nos ahorra mucho tiempo, ya que estos no tienen que validar la información, XML Schema lo hace por nosotros automáticamente.

XML Schema es un estándar definido por W3C cuya finalidad es la de definir cual es el formato correcto de un documento XML, más concretamente define:

  • Los elementos que pueden aparecer en el documento (incluso en que orden).
  • Los atributos que puede tener cada elemento.
  • La jerarquía entre elementos, es decir, que elementos hijos puede tener cada elemento.
  • El número de hijos que puede tener un elemento.
  • El tipo de datos que puede tener un elemento o un atributo.
  • Valores por defecto (en caso de que no aparezcan) o incluso valores fijos (en caso de que aparezcan con otros valores) para elementos y atributos.

Los esquemas xml son los sucesores de los DTD y nos ofrecen las siguientes ventajas respecto a ellos:

  1. Son más extensibles permitiéndonos más facilidad de cambio en caso de que las necesidades futuras cambien.
  2. Están escritos en XML (pueden ser validados).
  3. Soportan la definición de tipos de datos.
  4. Soportan espacios de nombres (namespaces).

Aplicación Java para validar los documentos XML con esquemas XML (XML Schema)

A continuación vamos a escribir una pequeña clase de utilidad que podremos reutilizar en nuestros proyectos Java para validar un documento XML a través de un esquema XML:

com.autentia.tutoriales.xmlschema.utils.XmlSchemaValidatorUtil

A continuación vamos a escribir una pequeña aplicación de escritorio para ir validando cada uno de los ejemplos que veremos a continuación:

Ejemplos

Ejemplo 1:

El elemento raiz debe ser "figura" y debe tener un atributo "id" de tipo numérico.
Algunas pruebas que puede hacer para ver que valida bien son: omitir el atributo id, establecer un valor no numérico para el atributo id, añadir un hijo al elemento figura, etc.

XMLSchema Ejemplo de documento válido

Ejemplo 2:

El elemento raiz debe ser "figura" y debe tener tres hijos en donde el orden de aparición es importante: "x" e "y" de tipo numerico y "opaque" (opcional) de tipo booleano.
Algunas pruebas que puede hacer para ver que valida bien son: cambiar el orden de aparición de los hijos, omitir alguno de los hijos, Añadir otro elemento hijo, etc

XMLSchema Ejemplo de documento válido

Ejemplo 3:

El elemento raiz debe ser "figura" y debe tener dos hijos: "x" e "y" en donde el orden de aparición no importa.
Algunas pruebas que puede hacer para ver que valida bien son: cambiar el orden de aparición de los hijos, omitir alguno de los hijos, Añadir otro elemento hijo, etc

XMLSchema Ejemplo de documento válido

Ejemplo 4:

Un documento valido tiene que tener persona como elemento raiz y luego como hijos (el orden de aparición importa):

  1. codigo: Debe ser una cadena de caracteres de 4 letras y dos números.
  2. nombre: debe ser una cadena de caracteres de entre 3 y 20 caracteres.
  3. edad: Debe de ser un número del rango [18-150].
  4. sexo: Debe ser hombre o mujer.
  5. sucursales: Debe ser una lista de provincias (Madrid, Granada o Sevilla).
XMLSchema Ejemplo de documento válido

Conclusiones

Si habéis ejecutado la aplicación y jugado un poco con los documentos xml supongo que habréis aprendido un poco en relación a este estándar de validación.

Ahora bien, aunque lo visto anteriormente cubre un buen porcentaje de las posibilidades de XML Schema, es responsabilidad del lector profundizar más en el tema a través de libros u otros tutoriales.

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.
cgpcosmad@gmail.com

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2010-03-04-02:11:18

Autor: andresarconada

me patrece muy buen tutorial. podrias colgar el codigo fuente??