请协助,这是我想验证我的xml文件的目的:
<?xml version="1.0" encoding="UTF-8"?>
<worker>
<name>dingo</name>
<ssn>12345</ssn>
</worker>
我想确保两个简单元素'name'和'ssn'具有值(作为一个组)或没有任何值(作为一个组)。它们不能单独存在一个值。
我必须使用XSD架构,所以不能使用其他选项我有时会看到建议:放松NG等。 我考虑为元素'name'和'ssn'创建一个组,但是我无法找到如何为这个组创建限制以获得我的条件。
我当前的XSD文件:
<xs:complexType name="worker">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" "maxOccurs="1">
<xs:element name="ssn" type="xs:positiveInteger" minOccurs="0" "maxOccurs="1">
</xs:sequence>
</xs:complexType>
答案 0 :(得分:1)
你必须做
<xs:complexType name="worker">
<xs:group ref="workerGrp" minOccurs="0"/>
</xs:complexType>
<xs:group name="workerGrp">
<xs:sequence>
<xs:element name="name" type="xs:string">
<xs:element name="ssn" type="xs:positiveInteger">
</xs:sequence>
</xs:group>
答案 1 :(得分:1)
<xs:complexType name="worker">
<xs:sequence minOccurs="0">
<xs:element name="name" type="xs:string">
<xs:element name="ssn" type="xs:positiveInteger">
</xs:sequence>
</xs:complexType>