martes, enero 17, 2012

Esquema XML - CBDS

Lección anterior: Definición de tipo de documento (DTD), ID & IDREFs - CBDS

Continuamos con XML. En esta ocasión veremos el Esquema XML con el que podemos establecer una especificación para datos XML mucho más específica y, por lo tanto, poderosa. Los documentos de especificación (los esquemas XML) son liosos, así que como la profesora menciona varias veces en el vídeo te recomiendo que lo descargues (al final están los enlaces) y lo analices por ti mismo.

En esta lección tenemos una verdadera prueba y ejercicios. La recomendación de siempre es que traten de completarlos todas las veces que sea necesario hasta que alcancen la puntuación máxima.

Como siempre les dejo el material traducido del PDF:

  • Lenguaje amplio
  • Como los DTDs, podemos especificar elementos, atributos, orden, anidamiento, número de apariciones
  • También tipos de datos, llaves, punteros (tipados) y más
  • XSD se escribe en XML
El vídeo es un "ejemplo sencillo", el lenguaje es muy amplio.

Para validar un archivo XML que usa un XSD (además de tener instalado el programa) se debe navegar a través del terminal a donde se encuentran los archivos y luego escribir este comando:

xmllint --schema NombreDelArchivoXSD --noout NombreDelArchivoXML



Prueba XML


Es la primera vez que nos enfrentamos a este tipo de ejercicio donde vamos a tener que escribir nuestro propio DTD para que concuerde con un XML dado y valide correctamente.

Hay varias formas de hacerlo, yo me encargaré de suplir los archivos, tú puedes usar xmllint desde tu misma computadora y sabrás que has terminado cuando tú archivo de especificación, o sea el DTD, valide correctamente contra el correspondiente archivo XML.

Otra forma es utilizando la página decisionsoft. Es muy sencillo validar un XML contra un DTD, en el primer enlace pones el archivo DTD y en el segundo el que contiene los datos en sí, o sea el XML.

Como sabes, los DTDs pueden ir en un documento aparte o juntos en el mismo archivo. Al final de este post dimos instrucciones para validar cuando ambos están juntos. Si por si acaso quieres o te resulta más cómodo trabajar con el archivo aparte, para validarlo lo que tienes que hacer es trasladarte por el terminal a la carpeta donde están ambos archivos y escribir el siguiente comando:

xmllint --dtdvalid archivoDTD.dtd --noout archivoXMLsinDTDintegrado.xml

También está la opción de hacerlo en la misma página del curso. En cada ejercicio se te proveerá data XML, deberás crear el DTD correspondiente (no incluyas la parte inicial <!DOCTYPE Nombre_elemento_principal [), hacer clic en DTD Workbench, validar y cuando sea correcto haz clic en "Keep this solution". Lo mismo para los demás ejercicios.

Ejercicio 1 
 En este ejercicio vas a crear un DTD para un pequeño conjunto de data XML del catalogo de cursos de Stanford. Hay varios departamentos, cada uno con un jefe, algunos cursos, y profesores y/o catedráticos que imparten cursos. La data XML está aquí en inglés | español.

Nota: para visualizar la data en inglés solo tienen que hacer clic en el enlace. Para descargarla dale clic derecho  y elige "Guardar como...". El XML en español es necesario descargarlo.

Nota 2: lo único que he traducido son las etiquetas, al fin y al cabo es con lo único que se trabaja. El texto entre etiquetas no es importante.

Ejercicio 2
En este ejercicio vas a crear un DTD para una versión diferente del catalogo de cursos de Stanford. Esta versión codifica la data usando atributos ID y IDREF(S). La data XML está aquí en inglés | español.

Ejercicio 3
En este ejercicio vas a crear un DTD para un pequeño XML sobre países. La data está adaptada de la base de datos Mondial 3.0 organizada por la Universidad de Washington, y fue originalmente compilada por la Universidad Georg-August del Instituto Geottingen para Informáticos. Cada país tiene un nombre, población y área (en km2) Algunos países también tienen una lista de idiomas (con porcentajes de la población que habla ese idioma) y/o las ciudades (con nombres y poblaciones). La data XML está aquí en inglés | español.


Descarga:  Esquema XML. Subtítulos.
XML (se usa con el XSD) español | inglés.
XSD español | inglés.

Me parece que eso es todo, si falta algo o no anda bien, lo comentan.

No hay comentarios:

Publicar un comentario

¿Qué opinas?