Условие на основе значения атрибута (схема XML)

Можно ли определить в схеме 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?

13
задан Pol 10 January 2012 в 16:43
поделиться