¿Alguna herramienta para generar un esquema XSD a partir de un documento de instancia XML?[cerrado]

StackOverflow https://stackoverflow.com/questions/74879

  •  09-06-2019
  •  | 
  •  

Pregunta

Estoy buscando una herramienta que tome un documento de instancia XML y genere un esquema XSD correspondiente.

Ciertamente reconozco que el esquema XSD generado será limitado en comparación con la creación de un esquema a mano (probablemente no manejará elementos opcionales o repetidos, ni restricciones de datos), pero al menos podría servir como un punto de partida rápido.

¿Fue útil?

Solución

el Herramienta de inferencia Microsoft XSD es una buena solución gratuita.Muchas herramientas de edición XML, como XmlSpy (mencionada por @Garth Gilmour) o OxygenXML Editor también tienen esa característica.Aunque son bastante caros.BizTalk Server también tiene una herramienta de inferencia XSD.

editar:Acabo de descubrir el .net Inferencia de esquema Xml clase, por lo que si estás usando .net deberías considerar eso

Otros consejos

Puede utilizar una opción de código abierto y multiplataforma:inst2xsd de XMLBeans de Apache.Me parece muy útil y fácil.

Simplemente descargue, descomprima y juegue (requiere Java).

trang es la mejor opción aquí.Código abierto y multiplataforma (aunque se requiere Java)

Del sitio web de Trang:

Trang convierte entre diferentes lenguajes de esquema para XML.Soporta los siguientes idiomas

  • RELAJARSE NG (sintaxis XML)
  • Sintaxis compacta RELAX NG
  • DTD XML 1.0
  • Esquema XML del W3C

Un esquema escrito en cualquiera de los lenguajes de esquema admitidos se puede convertir a cualquiera de los otros lenguajes de esquema admitidos, excepto que el esquema XML W3C se admite solo para salida, no para entrada.

Trang también puede inferir un esquema a partir de uno o más documentos XML de ejemplo.

Enlace de descarga

En VS2010, si carga un archivo XML en el editor, haga clic en el menú XML >> Crear esquema.

También hay XML schema learner que está disponible en GitHub.

puede tomar múltiples archivos xml y extraer un XSD común de todos esos archivos.

Si tiene .Net instalado, ya se incluye de forma predeterminada una herramienta para generar esquemas y clases XSD.
Para mí, la herramienta XSD se instala bajo la siguiente estructura.Esto puede diferir dependiendo de su directorio de instalación.

C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

xsd.exe -
   Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

Normalmente las clases y esquemas que genera esta herramienta funcionan bastante bien, especialmente si los vas a consumir en un lenguaje .Net.

Normalmente tomo el documento XML que busco, lo paso a través de la herramienta XSD con el /o:<your path> bandera para generar un esquema (xsd) y luego enviar el archivo xsd nuevamente a través de la herramienta usando el /classes /L:VB (or CS) /o:<your path> banderas para obtener clases que puedo importar y usar en mis proyectos .Net del día a día

Si todo lo que quieres es XSD, LiquidXML tiene una versión gratuita que hace XSD y tiene una GUI para que puedas modificar el XSD si lo deseas.De todos modos, hoy en día escribo mis propios XSD a mano, pero todo gracias a esta aplicación.

http://www.liquid-technologies.com/

si estás trabajando en el mundo java - idea inteligente También tiene un amplio soporte xml, incluida la generación xsd y xml samle de la generación xsd, y con complementos puede obtener depuradores xslt.- especialmente bueno si planeas usar herramientas como jaxb después.

Altova XmlSpy lo hace bien: puede encontrar una descripción general aquí

Este es un hilo antiguo pero pensé que podría ser útil publicar este enlace:Acabo de encontrar esta herramienta:xsd-gen Generar esquema XML a partir de XML

y simplemente hizo lo que necesitaba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top