一連の要素宣言をグループ化して、複合型定義に 1 つのグループとして組み入れることができるようにします。
<group
name= NCName
id = ID
maxOccurs = (nonNegativeInteger | unbounded) : 1
minOccurs = nonNegativeInteger : 1
name = NCName
ref = QName
{any attributes with non-schema Namespace}...>
Content: (annotation?, (all | choice | sequence))
</group>
属性
name
グループの名前。この名前は、『XML Namespaces』の仕様に定義されているとおり、コロンを含まない名前 (NCName) である必要があります。name 属性は、schema 要素がこの group 要素の親であるときだけ使用されます。schema 要素がこの group 要素の親である場合、group は complexType、choice、sequence の各要素によって使用されるモデル グループです。
省略可能です。
id
この要素の ID。id の値は ID 型である必要があり、この要素を含んでいるドキュメント内で一意である必要があります。省略可能です。
maxOccurs
コンテナ要素内で指定できるこの要素の最大出現回数。値は 0 以上の整数です。最大数で上限を設定しない場合は、文字列 "unbounded" を使用します。グループが schema 要素の子でないとき、要素の最小出現回数が制限されます。
省略可能です。
minOccurs
コンテナ要素内で指定できるこの要素の最小出現回数。値は 0 以上の整数です。この要素が省略可能であることを指定するには、この属性を 0 に設定します。グループが schema 要素の子でないとき、要素の最小出現回数が制限されます。
省略可能です。
name
要素の名前。この名前は、『XML Namespaces』の仕様に定義されているとおり、コロンを含まない名前 (NCName) である必要があります。name 属性と ref 属性は、同時には使用できません。コンテナ要素が schema 要素である場合に必要になります。
省略可能です。
ref
このスキーマ (または指定した名前空間によって示される他のスキーマ) に宣言されている名前。ref 値は QName である必要があります。ref には、名前空間プリフィックスを含めることができます。ref 属性を指定した場合、id、minOccurs、および maxOccurs は指定できます。ref および name は、同時には指定できません。
既存のグループ定義を使用してグループを宣言するには、ref 属性を使用して既存のグループ定義を指定します。
<xs:group ref="globalGroup"/>
省略可能です。
要素情報
出現回数 | 無制限 |
親要素 | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
コンテンツ | annotation、all、choice、sequence。 |
解説
次の要素のいずれか 1 つを group 要素の子要素として指定できます。
choice | グループに要素を 1 つだけ含めることを許可します。 |
sequence | グループ内の要素は、指定された順序で記述する必要があります。 |
all | グループ内の要素をコンテナ要素内に任意の順序で含める、または含めないようにできます。 |
minOccurs 属性および maxOccurs 属性の既定値は 1 ですが、どちらの属性も設定されていないグループは、コンテナ要素内に 1 つしか指定できません。
例
3 つの要素のシーケンスを含むグループを定義し、複合型定義で group 要素を使用する例を次に示します。
<xs:element name="thing1" type="xs:string"/>
<xs:element name="thing2" type="xs:string"/>
<xs:element name="thing3" type="xs:string"/>
<xs:attribute name="myAttribute" type="xs:decimal"/>
<xs:group name="myGroupOfThings">
<xs:sequence>
<xs:element ref="thing1"/>
<xs:element ref="thing2"/>
<xs:element ref="thing3"/>
</xs:sequence>
</xs:group>
<xs:complexType name="myComplexType">
<xs:group ref="myGroupOfThings"/>
<xs:attribute ref="myAttribute"/>
</xs:complexType>
参照
XML スキーマ リファレンス (XSD) | XML スキーマの要素
詳細については、http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-group で、W3C『XML Schema Part 1: Structures Recommendation』を参照してください。