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 repetitivos, o restricciones de datos), pero al menos podría servir como un punto de partida rápido.
xsd.exe
haber cambiado en Windows 7. Lo tengo en muchosMicrosoft SDKs
directorios, entre las que este (por lo que no parece depender necesariamente de Visual Studio más?):C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
. Tuve que ejecutarlo en el directorio que contiene el xml, para evitar un error sobre "caracteres ilegales en la ruta", pero eso puede deberse al largo nombre de archivo que tengo.Puede usar una opción de código abierto y multiplataforma: inst2xsd de Apache's XMLBeans . Lo encuentro muy útil y fácil.
Simplemente descargue, descomprima y reproduzca (requiere Java).
fuente
Trang es la mejor opción aquí. Código abierto y multiplataforma (aunque se requiere Java)
Desde el sitio web de Trang:
Enlace de descarga
fuente
$ trang file.xml schema.xsd
.En VS2010 si carga un archivo XML en el editor, haga clic en el menú XML >> Crear esquema.
fuente
También
XML schema learner
está disponible en Github .Puede tomar múltiples archivos xml y extraer un XSD común de todos esos archivos .
fuente
sudo apt-get install php5-cli
y en ejecución./learn --help
--- Realmente no veo la diferencia entre eso y una herramienta escrita en java, python o ruby :)locality
campo: si se usa un nombre de campo en múltiples lugares en el XML que se refiere a diferentes elementos,locality
se requiere un valor mayor que 1, por ejemplo,root/item
y seroot/something/item
refiere a diferentes tipos, entonces--locality 2
se requiere como mínimoSi tiene instalado .Net, una herramienta para generar esquemas y clases XSD ya está incluida de forma predeterminada.
Para mí, la herramienta XSD se instala bajo la siguiente estructura. Esto puede variar según el directorio de instalación.
Normalmente, las clases y esquemas que genera esta herramienta funcionan bastante bien, especialmente si los va a consumir en un lenguaje .Net
Por lo general, tomo el documento XML que busco, lo empujo a través de la herramienta XSD con la
/o:<your path>
bandera para generar un esquema (xsd) y luego empujo el archivo xsd a través de la herramienta usando las/classes /L:VB (or CS) /o:<your path>
banderas para obtener clases que puedo importar y usar en mis proyectos diarios .Netfuente
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 gracias a esta aplicación.
http://www.liquid-technologies.com/
fuente
si está trabajando en el mundo de Java, la idea de intelliJ también tiene un amplio soporte xml, que incluye la generación xsd y samle xml de la generación xsd, y con los complementos puede obtener depuradores xslt. - Especialmente bueno si planeas usar herramientas como jaxb después.
fuente
Altova XmlSpy lo hace bien: puede encontrar una descripción general aquí
fuente
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 solo hizo lo que necesitaba.
fuente