Можно ли в XML-схеме определить условие, основанное на значении атрибута? Например, когда [email protected]="one"
, я хочу, чтобы one-element
разрешался и был обязательным, или когда [email protected]="two"
, я хочу, чтобы two-element
разрешался и был обязательным.
Например, действительными документами являются:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
или
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<two-element>
</two-element>
</root>
Неверные документы:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
</root>
или
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
Возможно ли это в XSD?