19
XMLスキーマのxs:group
とxs:sequence
の違いは何ですか?どちらを使うのですか?XMLスキーマのグループとシーケンスの違いは?
XMLスキーマのxs:group
とxs:sequence
の違いは何ですか?どちらを使うのですか?XMLスキーマのグループとシーケンスの違いは?
xs:sequence
- xs:choice
とxs:all
と一緒に、ターゲットXMLのXML要素の有効シーケンスを定義するために使用されます。例えば。このXMLのスキーマ:
<xs:element name='mainElement'>
<xs:complexType>
<xs:sequence>
<xs:element name="firstSubElement"/>
<xs:element name="subElementA"/>
<xs:element name="subElementB"/>
</xs:sequence>
</xs:complexType>
</xs:element>
xs:group
は、スキーマのさまざまな部分で参照することができ、一定のルールを次のXML要素の名前付きグループを定義するために使用されます。
<mainElement>
<firstSubElement/>
<subElementA/>
<subElementB/>
</mainElement>
のようなものです。 XMLがある場合例:
<root>
<mainElementA>
<firstSubElement/>
<subElementA/>
<subElementB/>
</mainElementA>
<mainElementB>
<otherSubElement/>
<subElementA/>
<subElementB/>
</mainElementB>
</root>
あなたは、共通のサブ要素のグループを定義することができます。その後、
<xs:group name="subElements">
<xs:sequence>
<xs:element name="subElementA"/>
<xs:element name="subElementB"/>
</xs:sequence>
</xs:group>
し、それを使用します。
<xs:element name="mainElementA">
<xs:complexType>
<xs:sequence>
<xs:element name="firstSubElement"/>
<xs:group ref="subElements"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mainElementB">
<xs:complexType>
<xs:sequence>
<xs:element name="otherSubElement"/>
<xs:group ref="subElements"/>
</xs:sequence>
</xs:complexType>
</xs:element>
だからここで 'XS:シーケンス'はターゲットXMLの構造を意味し、' xs:group'は基本的にスキーマを単純化するための構文的砂糖ですか? –
修正 - 'group'を使わずに可能なスキーマを書くことができます – MiMo