0
將「選擇」元素組合到xsd中的正確方法是什麼?XSD選擇組合
例如,如果選擇可用的地方(而只有以下允許1):
- 細胞數量
- 細胞數量和家庭數量
- 家庭號碼和工作號碼
以下是我嘗試過的XSD,但生成時收到的錯誤是:
org.xml.sax.SAXParseException; systemId: file:/thefile.xsd; lineNumber: 13; columnNumber: 25; cos-nonambig: "namespace":CellNumber and "namespace":CellNumber (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.
XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema ...>
<xs:element name="AddNewPersonRequestMessage">
<xs:complexType>
<xs:sequence>
...
<xs:choice>
<xs:group ref="group1" />
<xs:group ref="group2" />
<xs:group ref="group3" />
</xs:choice>
..
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WorkNumber" type="xs:unsignedInt" />
<xs:element name="CellNumber" type="xs:unsignedInt" />
<xs:element name="HomeNumber" type="xs:unsignedInt" />
<xs:group name="group1">
<xs:sequence>
<xs:element ref="CellNumber" />
</xs:sequence>
</xs:group>
<xs:group name="group2">
<xs:sequence>
<xs:element ref="WorkNumber" />
<xs:element ref="HomeNumber" />
</xs:sequence>
</xs:group>
<xs:group name="group3">
<xs:sequence>
<xs:element ref="CellNumber" />
<xs:element ref="HomeNumber" />
</xs:sequence>
</xs:group>
</xs:schema>
謝謝,工作! – ljardim