如何使用选择并在组中设置您必须选择最少2个元素,但不能选择相同元素的两倍?
示例代码:
xs:group name="Ports">
<xs:sequence>
<xs:choice minOccurs="2" maxOccurs="2">
<xs:element name="Port1" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:group ref="PortArguments"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Port2">
<xs:complexType>
<xs:sequence>
<xs:group ref="PortArguments"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
另一个问题:是否可以限制组中元素的访问?例如:我有其他团体。第1组应仅选择Ports组的1-3元素。第2组应该只选择元素1-10!我怎么能意识到这一点?
答案 0 :(得分:1)
在XSD 1.0中,对于通用案例,没有针对您想要的解决方案。您必须应用Schematron约束或移至XSD 1.1。