我想在xsd中表示以下数据:
我有4条原则。每个子原则都有1到4个子原则,每个子原则都有一个指南,一个检查器和一个注释属性,就像这个树结构:
1. Principle ONE
a. subprinciple A
1. guideline
2. checker
3. comment
b. subprinciple B
....
2. Principle TWO
3. Principle THREE
4. Principle FOUR
在XML中,表示如下:
<principle>
<principle_name>principle_name0</principle_name>
<guidelines_properties>
<guideline>guideline0</guideline>
<checker>false</checker>
<comments>comments0</comments>
</guidelines_properties>
<guidelines_properties>
<guideline>guideline1</guideline>
<checker>false</checker>
<comments>comments1</comments>
</guidelines_properties>
</principle>
<principle>
<principle_name>principle_name1</principle_name>
<guidelines_properties>
<guideline>guideline2</guideline>
<checker>false</checker>
<comments>comments2</comments>
</guidelines_properties>
<guidelines_properties>
<guideline>guideline3</guideline>
<checker>false</checker>
<comments>comments3</comments>
</guidelines_properties>
</principle>
在XSD中我已经用这种方式定义了它:
<xs:element name="principles">
<xs:complexType>
<xs:sequence>
<xs:element ref="principle" minOccurs="4" maxOccurs="4"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="principle">
<xs:complexType>
<xs:sequence>
<xs:element ref="principle_name"/>
<xs:element ref="guidelines_properties" minOccurs="1" maxOccurs="4"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="guidelines_properties">
<xs:complexType>
<xs:sequence>
<xs:element ref="guideline"/>
<xs:element ref="checker"/>
<xs:element ref="comments"/>
</xs:sequence>
</xs:complexType>
</xs:element>
我觉得我没问题。我想做的是确定原则和指导方针的价值。有没有人对此有所了解?
答案 0 :(得分:0)
您可以使用将枚举值的构面。如果只枚举一个值,则只允许一个值。
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/> <!-- only "Audi" allowed -->
<!-- <xs:enumeration value="Golf"/> -->
<!-- <xs:enumeration value="BMW"/> -->
</xs:restriction>
</xs:simpleType>
</xs:element>