Pregunta Validar un esquema XSD?


Estoy escribiendo un esquema XML (un XSD) para describir el formato en el que nuestros socios deberían enviarnos los datos.

Y estoy teniendo dificultades para encontrar una herramienta que pueda validar el archivo de esquema XSD que he escrito.

La mejor manera que he encontrado hasta ahora es escribir primero un archivo XML de entrada de ejemplo y luego intentar validar ese con el XSD. Pero eso no se siente como una maniobra de mejores prácticas.

Entonces, ¿cómo debería validar un esquema XML?


32
2017-07-29 12:36


origen


Respuestas:


Si esto es algo a corto plazo, podría usar una copia de evaluación de una herramienta como Stylus Studio.

Si se trata de mantenimiento a largo plazo, es posible que desee considerar la compra de un editor de esquemas XML como Stylus, o Oxígeno o Altova.

No especificó el idioma de origen, pero son solo unas pocas líneas de código para escribir un validador de esquema en Java o .Net.


11
2017-07-29 12:44



El W3C tiene un validador en línea para XML Schemas en http://www.w3.org/2001/03/webdata/xsv. Dado que W3C es la fuente de la especificación del esquema XML, su validador debe ser confiable.


13
2018-06-10 13:08



Java SDK viene con una herramienta estándar llamada xjc . Esta herramienta genera las clases que analizan su esquema. Puede usar este código para validar la entrada de sus socios.

Ver también : http://www.java2s.com/Tutorial/Java/0440__XML/ThexjcTool.htm


7
2017-07-29 12:53



Entonces, ¿cómo debería validar un esquema XML (XSD)?

La pregunta que haces es buena. Solo "volarlo" es probable que te meta en problemas. Del artículo de Wikipedia Editor de esquemas XML  (énfasis mío):

El estándar [W3C XML Schema] es versátil, lo que permite la programación   conceptos tales como herencia y creación de tipos, pero es complejo.    El estándar en sí es altamente técnico y publicado en 3 partes diferentes, por lo que es difícil de entender sin   cometiendo grandes cantidades de tiempo.

Entonces, dada la complejidad del estándar W3C XML Schema, ¿cómo se asegura de que un esquema que crea cumple con ese estándar? Del mismo artículo de Wikipedia:

Los problemas que enfrentan los usuarios cuando trabajan con el estándar XSD pueden ser   mitigado con el uso de herramientas gráficas de edición. Aunque cualquier   editor basado en texto se puede utilizar para editar un esquema XML, un gráfico   editor ofrece ventajas; permitiendo que la estructura del documento sea   visto gráficamente y editado con soporte de validación, ayudantes de entrada   y otras funciones útiles.

En la parte inferior de ese artículo de Wikipedia, encontrará una lista de editores de esquemas XML, algunos de los cuales tienen licencia como "software libre".


1
2017-08-06 14:00



cd /the/dir/with/your/schema
curl -O https://www.w3.org/2012/04/XMLSchema.xsd
xmllint.exe --noout --schema XMLSchema.xsd <your schema>

En * nix (incluido git-bash o similar en Windows), si el esquema es válido, entonces $? == 0 más $? == 1. Estoy seguro de que hay algunos equivalentes powershell ...

Esto vino de un comentario de @ AlexanderKjäll a una respuesta de @lavinio en otro lugar aquí. Agregué mi propio comentario para decir @ AlexanderKjäll debería agregar esto como una respuesta. Sin embargo (para mí al menos), no era del todo correcto, ya que no funcionaría con el URI del archivo remoto. Y así mi respuesta. Si votas a favor esto, puedes votar por favor su comentario.


1
2018-02-26 03:22