Можно ли определить в схеме XML условие, основанное на значении атрибута? Например, когда test @ attrib = "one"
, я хочу, чтобы одноэлементный
был разрешен и обязателен, или когда test @ attrib = "two"
, Я хочу, чтобы двухэлементный
был разрешен и обязателен.
Например, допустимые документы:
<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?