1

助けてください、これは私のxmlファイルを検証する際に達成したいことです:

<?xml version="1.0" encoding="UTF-8"?>
<worker>
    <name>dingo</name>
    <ssn>12345</ssn>
</worker>

2 つの単純な要素 'name' と 'ssn' が (グループとして) 値を持つか、(グループとして) 値を持たないようにしたいと考えています。値を持って個別に存在することはできません。

XSD スキーマを使用する必要があるため、他のオプションを使用できません。Relax 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>
4

2 に答える 2

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>
于 2013-01-08T23:02:02.760 に答える
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>
于 2013-01-08T21:18:57.410 に答える