Generación de XML Schema (XSD) y DTD a partir de documentos XML

Generación de XML Schema (XSD) y DTD a partir de documentos XML

En el siguiente tutorial, vamos a presentar de una forma rápida una herramienta java que desde mi punto de vista me parece muy interesante. Dicha herramienta se llama Trang y consiste en un simple jar con el que podemos a través de línea de comandos generar XML Schema (XSD) o DTD a partir de un documento XML. Ahorrándonos así un valioso esfuerzo :-).

Otra cosa que permite esta herramienta es convertir un XSD en un DTD y viceversa.

Aquí tienes la página de Trang: Descargar Trang.

Nota: Existen web como http://www.hitsw.com/xml_utilites/ que hacen lo mismo de forma OnLine, pero mi opinión es que Trang afina más y mejor.

A continuación, vamos a realizar un ejemplo de como realizar las tareas anteriormente expuestas:

XML a partir del cual generaremos el XMLSchema y el DTD: persona.xml

Jugando un poco con la aplicación: Generando XSD y DTD.

XMLSchema generado: persona.xsd

Pero claro, no es oro todo lo que reluce, siempre hay que hacer algún retoque. Por ejemplo en la línea 15 vemos que el campo estado civil lo ha generado de tipo NC:name, cuando seguramente querramos una restricción de valores: soltero, casado, …

No está de más aprender a crear esquemas XML a manita. En el siguiente enlace tienes un tutorial que te enseña a realizarlo a través de algunos ejemplos, eso sí, no es un libro, así que se confia un poco en la intuición del lector (A buen entendedor pocas palabras bastan). Aprendiendo XMLSchema a través de ejemplos.

DTD generado: persona.dtd

Referencias

Conclusiones

Desde mi punto de vista aunque existan este tipo de herramientas, es muy importante aprender a realizar esquemas a manita, pues muchas otras tecnologías dependen directamente de este conocimiento, por ejemplo los WSDL que definen los servicios web.

Los XSD son un estándar para estructurar y validar información, ¿qué hay más importante que la información en una aplicación?.

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