2010-06-30 24 views
9

Estoy trabajando con un esquema creado por un tercero y me gustaría validarlo con lxml. El problema es que dicho esquema se divide en diferentes archivos xsd, que se referencian a sí mismos.Python - Validación con varios esquemas usando lxml

Por ejemplo, un archivo llamado "extension.xsd" (que se basa en el esquema de "maestro") tiene una línea como:

<redefine schemaLocation="master.xsd"> 

Si trato de validarlo con lxml (análisis sintáctico, a continuación, utilizando XMLSchema y luego validar otro documento que sé que ya es válido), solo obtengo validación usando "extensión" y no "maestro": en otras palabras, la validación falla (porque en el archivo XML hay elementos solo presentes en "maestro" y no en "extensión").

¿Cómo puedo solucionar (o solucionar) este problema? ¡Gracias!

Respuesta

1

Si lxml no es compatible con "redefinir", la mejor opción sería arreglarlo y enviar un parche. :)

En su defecto, la solución sería analizar el archivo master.xsd usted mismo, y luego aplicar los cambios de extension.xsd, y generar un solo archivo xsd con el esquema combinado.

Cuestiones relacionadas