我想约束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>
答案 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>