2012-05-16 70 views
1

是否可以爲XSD屬性定義選項?我希望元素「where」具有屬性「邏輯」,並且只能具有值「OR」或「AND」。XSD屬性的選項

實施例:

<where logic="OR"> <!-- valid --> 
    ... 
</where> 

<where logic="XPTO"> <!-- invalid --> 
    ... 
</where> 

這可能嗎?

回答

2

是的,這是可能的。

你必須定義一個簡單類型的第一:

<xs:simpleType name="boolString"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="AND"/> 
     <xs:enumeration value="OR"/> 
    </xs:restriction> 
</xs:simpleType> 

然後,你必須定義一個包含logic attibute boolString類型的where元素:

<xs:element name="where"> 
    <xs:complexType> 
     <xs:attribute name="logic" type="boolString" /> 
    </xs:complexType> 
</xs:element>