2012-05-16 4 views
1

Можно ли определить параметры атрибутов XSD? Я хотел, чтобы элемент «где» имел атрибут «логика» и может иметь только значение «ИЛИ» или «И».Параметры атрибутов 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> 

Затем вы должны определить where элемент, содержащий logic атрибут объявления типа boolString:

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