2011-10-18 12 views

Respuesta

1

Actualmente, no hay ningún módulo que se ejecute dentro de su programa python y realice esta conversión. Pero veo el problema de crear un esquema XSD a partir de XML como un problema de herramientas. Es el tipo de funcionalidad que usaré una vez para iniciar un esquema, pero después de eso mantendré el esquema yo mismo. Desde la lectura de un único archivo XML, el generador XSD creará un punto de partida para un esquema real, no puede inferir toda la funcionalidad y las opciones que ofrece XSD. Básicamente, no veo la necesidad de ejecutar esta conversión como un módulo dentro de mi código, generando nuevos XSD cada vez que cambia el XML. Después de todo, es el esquema que define el XML no al revés.

Como señaló el usuario final, puede usar xsd.exe, pero también puede consultar otras herramientas como trang (un poco antigua) para Java y stylusstudio (herramienta XML).

2

¿Estás buscando algo como pyxsd? (usado principalmente para la validación contra un esquema) ¿O quizás PyXB? (puede generar clases basadas en xml) De lo contrario, no creo que haya una herramienta [todavía] que genere el esquema desde dentro de Python. ¿Puedes hacerlo bajo demanda usando algo como xsd.exe? ¿Tiene que ser programático/repetible?

+0

Debería ser posible hacer lo que quiero y acceder a herramientas como xsd.exe desde dentro de un programa de Python. Preferiría usar algo así como un módulo de Python, ya que es más fácil trabajar con él y una solución más elegante. pyxsd/PyXB no parecen satisfacer mis requisitos (por lo que puedo decir, no tienen la capacidad de producir un esquema, dado un documento XML). – chobok

0

Según el PyCharm docs, PyCharm tiene una función para esto. Esto no es exactamente accesible por un programa como una API. Probablemente sea mejor que use XML Schema Learner como un programa separado, ya que es un programa de línea de comandos (¡compatible con subprocesos!).

Cuestiones relacionadas