Я делаю свои первые шаги в земле XML-схемы, используя XSD, и пытаюсь выяснить, как добавить ограничение, чтобы атрибут (определенный с фиксированным значением) мог присутствовать только в одном элементе в неограниченный набор элементов.
Вот пример
<Object>
<Element>Value1</Element>
<Element>Value2</Element>
<Element Default="true">Value3</Element>
<Element>Value4</Element>
<Element>Value5</Element>
</Object>
Я бы хотел ограничить атрибут Default
так, чтобы он не мог появляться более чем на одном Element
.
Вот схема XSD для вышеупомянутого:
<xs:element name="Object">
<xs:complexType>
<xs:element name="Element" maxOccurs="unbounded">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Default" fixed="true"/>
</xs:extension>
</xs:simpleContent>
</xs:element>
</xs:complexType>
</xs:element>
Я пытался связываться с xs:unique
, xs:selector
и xs:field
, но не достиг значимых результатов, не уверен, что это правильный подход.
Спасибо!