¿Es posible definir en el esquema XML una condición basada en el valor del atributo? Por ejemplo, cuando [email protected]="one"
, deseo que one-element
sea permitido y obligatorio o cuando [email protected]="two"
, deseo que two-element
sea permitido y obligatorio.Condición basada en el valor del atributo (esquema XML)
Por ejemplo, los documentos válidos son:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
o
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<two-element>
</two-element>
</root>
documentos erróneos:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
</root>
o
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
¿Es posible en XSD?
¿Necesita definir también ' ' dos veces para cada caso? –
Pol
No, puede definir un tipo conocido en el nivel raíz del esquema y volver a usarlo. Por favor mira mi actualización –
Gracias. Para definir dos tipos, ¿debería usar 'xs: attribute' (con el atributo' fixed') y 'xs: choice'? – Pol