online - ¿Alguna herramienta para generar un esquema XSD a partir de un documento de instancia XML?
xsd to xml java (10)
Altova XmlSpy lo hace bien; puede encontrar una descripción general here
Estoy buscando una herramienta que tomará un documento de instancia XML y generará 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 repetitivos, o restricciones de datos), pero al menos podría servir como un punto de partida rápido.
En VS2010, si carga un archivo XML en el editor, haga clic en el menú XML >> Crear esquema.
Este es un hilo viejo, 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.
Si tiene .Net instalado, una herramienta para generar esquemas y clases XSD ya está incluida por defecto.
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 los esquemas que genera esta herramienta funcionan bastante bien, especialmente si vas a consumirlos en un lenguaje .Net
Normalmente tomo el documento XML que busco, lo paso por la herramienta XSD con el indicador /o:<your path>
para generar un esquema (xsd) y luego vuelvo a insertar el archivo xsd a través de la herramienta usando /classes /L:VB (or CS) /o:<your path>
flags para obtener clases que puedo importar y usar en mis proyectos diarios de .Net
Si todo lo que quiere es XSD, LiquidXML tiene una versión gratuita que hace XSD, y tiene una GUI para que pueda ajustar el XSD si lo desea. De todos modos hoy en día escribo mis propios XSD a mano, pero todo es gracias a esta aplicación.
También hay un XML schema learner
que está disponible en Github .
Puede tomar múltiples archivos xml y extraer un XSD común de todos esos archivos .
la herramienta de inferencia XSD de Microsoft es una solución buena y gratuita. Muchas herramientas de edición XML, como XmlSpy (mencionado por @Garth Gilmour) o OxygenXML Editor también tienen esa característica. Aunque son bastante caros. BizTalk Server también tiene una herramienta de infusión XSD.
editar: Acabo de descubrir la clase .net XmlSchemaInference , así que si estás usando .net deberías considerar
si está trabajando en el mundo de Java, la idea de intelliJ también tiene una gran compatibilidad con xml, incluida la generación xsd y samle xml de la generación xsd, y con los complementos puede obtener los depuradores xslt. - Especialmente bueno si planeas usar herramientas como jaxb después.
Trang es la mejor opción aquí. Código abierto y plataforma cruzada (aunque se requiere Java)
Desde el sitio web de Trang:
Trang convierte entre diferentes lenguajes de esquema para XML. Es compatible con los siguientes idiomas
- RELAX NG (sintaxis XML)
- Sintaxis compacta RELAX NG
- DTD XML 1.0
- Esquema W3C XML
Un esquema escrito en cualquiera de los lenguajes de esquema admitidos se puede convertir a cualquiera de los otros lenguajes de esquema compatibles, excepto que el Esquema XML de W3C solo se admite para la salida, no para la entrada.
Trang también puede inferir un esquema a partir de uno o más documentos XML de ejemplo.