2010-04-07 8 views
5

¿Cómo se podría definir algo así en un xsd?Definir xml en un xsd donde un atributo determina los posibles contenidos

<start> 
    <request type="typeA"> 
     <elementOnlyFoundInA /> 
    </request> 
    <request type="typeB"> 
     <elementOnlyFoundInB /> 
    </request> 
</start> 

me corrieron xsd.exe sólo para tener una idea de lo que podría parecer, pero no parece reconocer la relación entre el valor de type y el contenido de la solicitud. ¿Es posible incluso definir contenidos basados ​​en un atributo como este en un archivo xsd?

Respuesta

4

XML Schema no admite actualmente nada como esto: no puede hacer que la estructura dependa del contenido de otros atributos o elementos.

Una nueva versión de esquema XML en curso podría ofrecer algo en esa dirección, pero está lejos de ser aceptada e implementada en este momento.

Si necesita este tipo de validación XML, necesita activar Schematron por el momento.

+0

Buena llamada: parece que la gente no sabe lo suficiente sobre Schematron. –

+0

Dado que esta es la primera vez que he trabajado en una xsd ... no, no he oído hablar de Schematron, pero le daré un vistazo. – SeanJA