2012-09-14 15 views

答えて

23

xs:sequence - xs:choicexs: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> 
+3

だからここで 'XS:シーケンス'はターゲットXMLの構造を意味し、' xs:group'は基本的にスキーマを単純化するための構文的砂糖ですか? –

+3

修正 - 'group'を使わずに可能なスキーマを書くことができます – MiMo