È possibile definire in XML Schema una condizione basata sul valore dell'attributo? Ad esempio, quando [email protected]="one"
, desidero consentire one-element
e obbligatorio o quando [email protected]="two"
, voglio che sia consentito e obbligatorio two-element
.Condizione basata sul valore dell'attributo (schema XML)
Ad esempio, i documenti validi sono:
<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>
documenti errati:
<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>
E 'possibile in XSD?
è necessario definire anche ' ' due volte per ogni caso? –
Pol
No, è possibile definire un tipo noto a livello di root dello schema e riutilizzarlo. Si prega di consultare il mio aggiornamento. –
Grazie. Per definire due tipi dovrei usare 'xs: attribute' (con attributo' fixed') e 'xs: choice'? – Pol