0
我的XML文檔的樣子:如何使用具有特定屬性值的元素強制執行模式?
<Entries>
<entry key="some string" value="some string"/>
" "
" "
" "
</Entreis>
我需要強制執行的規則項要素之一必須有值「版本」的關鍵。模式是什麼樣子?
我試圖
<xs:element name ="Entries">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="entry">
<xs:attribute name="key" fixed="Version" type="xs:string/>
<xs:attribute name="value" type="xs:string/>
</xs:element>
</xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="entry">
<xs:attribute name="key" type="xs:string/>
<xs:attribute name="value" type="xs:string/>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
但我得到一個驗證錯誤說我不能有序列中的複雜類型中出現兩次或者說,它是無效的或錯位。
我只想確保其中一個條目元素具有名稱值「Version」。版本號非常重要。我需要確保它在該條目列表中的某處指定。有沒有不同的方式來實現這一點? – smuggledPancakes
當然有:指定一個VersionEntry元素,要求只發生一次。或者(如Jirka u建議)將版本號放入父級的屬性中。 –