看了很多帖子都没有找到答案...
我有一个 XSD 来验证我的 XML,但遇到了一些问题。
这里(部分)我的 XSD
<xsd:group name="Element">
<xsd:sequence>
<xsd:choice>
<xsd:element ref="El1" />
<xsd:element ref="El2" />
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:element name="Tree">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="El3" minOccurs="0" maxOccurs="1" />
<xsd:group ref="Element" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
它工作正常,但这并不完全是我想要做的。我想要一个更像这样的模式:
<xsd:element name="Tree">
<xsd:complexType>
<xsd:sequence>
<xsd:group ref="Element" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="El3" minOccurs="0" maxOccurs="1" />
<xsd:group ref="Element" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
但这个模式是错误的。
我想要的是一个未排序的 El1 或 El2 列表,其中包含一个(并且只有一个)El3。
谢谢你的建议 !