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.
Fecha de publicación del tutorial: 2009-03-15
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.
rem "Generamos un XML Schema que valide el documento" c:\java\jdk1.6.0_11\bin\java -jar trang.jar persona.xml persona.xsd rem "Generamos un DTD que valide el documento" c:\java\jdk1.6.0_11\bin\java -jar trang.jar persona.xml persona.dtd rem "Generamos un DTD a partir de un XML Schema" c:\java\jdk1.6.0_11\bin\java -jar trang.jar persona.xsd persona2.dtd rem "Generamos un XML Schema a partir de un DTD" c:\java\jdk1.6.0_11\bin\java -jar trang.jar persona.dtd persona2.xsd
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
<!ATTLIST persona
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT dni (#PCDATA)>
<!ATTLIST dni
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT estadoCivil (#PCDATA)>
<!ATTLIST estadoCivil
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT company (name,url,telefono)>
<!ATTLIST company
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT url (#PCDATA)>
<!ATTLIST url
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT telefono (#PCDATA)>
<!ATTLIST telefono
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
<!ELEMENT name (#PCDATA)>
<!ATTLIST name
xmlns CDATA #FIXED 'http://www.adictosaltrabajo.com'>
Referencias
- http://www.thaiopensource.com/relaxng/trang-manual.html
- http://www.thaiopensource.com/relaxng/trang.html
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
A continuación puedes evaluarlo:
Fecha publicación: 2011-07-15-14:16:44
Autor: Thunder
Fecha publicación: 2009-07-18-02:52:45
Autor:











