考慮下面的例子:XSD:如何限制派生複雜類型的枚舉值?
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Book" abstract="true">
<xs:sequence>
<xs:element name="titel" type="xs:string">
</xs:element>
<xs:element name="bookCode" type="BookEnum"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Lyric">
<xs:complexContent>
<xs:extension base="Book">
<xs:sequence>
<xs:element name="author" type="xs:string">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="BookEnum">
<xs:restriction base="xs:int">
<xs:enumeration value="Paperback"/>
<xs:enumeration value="Hardcover"/>
<xs:enumeration value="Liporello"/>
<xs:enumeration value="None"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
抒情的書派生。我想限制complexType「Lyric」的BookEnum的可能值爲「Paperback」。
「無」,「Liporello」和「精裝」不再是「Lyric」的有效值。這可以在xsd中完成嗎?
感謝您的鏈接到IBM網站。太糟糕了,它不適用於「限制」。無論如何,謝謝你的回答。 – tobsen 2010-02-17 13:20:56
我認爲你可以在XSD 1.1中使用xpath來實現這個功能:http://stackoverflow.com/questions/6472264/can-an-x-sql-example-tag-be-made-mandatory-required – RMorrisey 2013-05-06 17:31:31