1

次のXML構造のXSDを作成しています。

<BaseNode>
  <ParentNode1>
    <childnode/>
  </ParentNode1>
  <ParentNode2>
    <childnode/>
  </ParentNode2>
  <ParentNodeA>
    <childnode/>
  </ParentNodeA>
  <ParentNodeB>
    <childnode/>
  </ParentNodeB>
</BaseNode>

ここで、ParentNodes 1と2は順番に表示される必要があり、AとBはオプションです(存在する場合はそれぞれ1回だけ表示されます)が、存在する場合は1と2の後に表示される必要があります。

私が「思う」と思うのは次のとおりですが、それは有効ですか?(具体的には、シーケンスとすべての注文インジケーターの両方の存在)

<xs:element name="BaseNode">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="ParentNode1">
        ....
      </xs:element>
      <xs:element name="ParentNode2">
        ....
      </xs:element>
    </xs:sequence>
    <xs:all>
      <xs:element name="ParentNodeA">
        ....
      </xs:element>
      <xs:element name="ParentNodeB">
        ....
      </xs:element>
    </xs:all>
  </xs:comlexType>
</xs:element>

(w3schools.comまたは他の場所で)注文インジケーターの複合使用への参照を見つけることができず、すぐに利用できるバリデーターがありません。

前もって感謝します。

4

1 に答える 1

1

http://www.w3.org/TR/xmlschema-0/#groupsで答えを見つけました

XMLスキーマでは、すべてのグループがコンテンツモデルの上部に唯一の子として表示される必要があると規定されています。

リンクで提供される例。

于 2012-07-16T16:34:37.360 に答える