[Отредактировано]
Мои знания в xsd / xslt очень ограничены, так что простите, если мой вопрос очень прост или как-то неясен.Я думаю, что моя потребность является основной, но я могу быть перепутан с терминами, так как не смог найти связанных или близких ответов.
В моем файле .xsd есть следующая структура:
<xs:element name="someelement">
...
<xs:attribute name="attr1" type="xs:NCName"/>
...
<xs:attribute name="attr2" type="xs:NCName"/>
...
Я знаю, что в .xsd я могу установить use = "Required", чтобы сделать атрибут обязательным.(под обязательным я имею в виду, если проверка не пройдена)
Но в моем случае значение "attr1" должно быть обязательным, только если значение "attr2" имеет определенное значение.
Можно ли это сделать?(в файле .xsd или .xslt?)
Я хочу выполнить это поведение:
if element is “someelement” and
attribute "attr2" equal "somevalue" then
set use="Required" for "attr1"
else
"attr1" should not be mandatory