选择元素上的XML模式

时间:2012-11-26 12:08:02

标签: xml schema

我想约束Grade元素只显示3种可能性,即GradeA或GradeB或GradeA和Grade B,但我的逻辑是错误的。至于我的代码,它确保将显示GradeA或GradeB。但它也使GradeB或GradeA可以出现2次,我不希望它们出现2次。结果只能出现GradeA,GradeB或GradeA和GradeB.can任何人都告诉我正确的编码方式。

<Grade>
  <GradeA/>
  <GradeB/>
</Grade>

以下是我的代码。

<xsd:choice minOccurs="1" maxOccurs="2">
   <xsd:element name="GradeA" minOccurs="0" maxOccurs="1"/>
   <xsd:element name="GradeB" minOccurs="0" maxOccurs="1"/>
</xsd:choice>

1 个答案:

答案 0 :(得分:0)

如果两个元素都存在,它们是否可以按任何顺序出现?

你想要这样的东西:

<xs:choice>
  <xs:sequence>
     <xs:element ref="GradeA">
     <xs:element ref="GradeB" minOccurs="0"/>
  </xs:sequence>
  <xs:sequence>
     <xs:element ref="GradeB">
     <xs:element ref="GradeA" minOccurs="0"/>
  </xs:sequence>
</xs:choice>