<xsd:group> 要素
一連の要素宣言をグループ化して、複合型定義に 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) |
コンテンツ |
解説
次の要素のいずれか 1 つを group 要素の子要素として指定できます。
choice |
グループに要素を 1 つだけ含めることを許可します。 |
sequence |
グループ内の要素は、指定された順序で記述する必要があります。 |
all |
グループ内の要素をコンテナー要素内に任意の順序で含める、または含めないようにできます。 |
minOccurs 属性と maxOccurs 属性の既定値は 1 です。 どちらの属性も持っていないグループは、そのグループが含まれた要素内で 1 回しか出現できません。
例
3 つの要素のシーケンスを含むグループを定義し、複合型定義で group 要素を使用する例を次に示します。
その他のリソース
詳細については、www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all で公開されている、W3C 勧告『XML Schema Part 1: Structures』を参照してください。