1
我有以下XML:預定義的屬性/在XSD枚舉常量
<animals>
<animal name="Pongo" animalType="Dog" />
<animal name="Marie" animalType="Cat" />
<animal name="Skippy" animalType="Kangaroo" />
</animals>
我知道這是可能使用這樣的枚舉限制動物類型:
<xs:simpleType name="animalType">
<xs:restriction base="xs:string">
<xs:enumeration value="Cat" />
<xs:enumeration value="Dog" />
<xs:enumeration value="Kangaroo" />
</xs:restriction>
</xs:simpleType>
我對子級就像根據animalType值自動地知道動物在xml解析後需要多少鞋子。
而且,當添加新的動物類型時,還要爲該動物添加步行腿的數量。
舉例來說,這將是偉大的,是可以定義類似
<xs:simpleType name="animalType">
<xs:restriction base="xs:string">
<xs:enumeration value="Cat" nbOfShoes="4" />
<xs:enumeration value="Dog" nbOfShoes="4" />
<xs:enumeration value="Kangaroo" nbOfShoes="2" />
</xs:restriction>
</xs:simpleType>
是否有可能實現這一目標採用XSD,或者我要實現的numberOfShoes邏輯的XML被解析後?
謝謝。
非常感謝Jirka。你的帖子打開了我的眼睛。但是,我使用了不同的方法:在動物中定義屬性,並在特定動物中使用xs:restriction而不是xs:extension來定義屬性的「fixed」屬性。這樣我可以在生成的Java類中使用多態。 – Cipi