XML Schema group 要素

定義と用法

group 要素は、複雑な型定義で使用される要素グループを定義するために使用されます。

要素情報

出現回数 無制限
親要素 schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent)
内容 annotation、all、choice、sequence

文法

<group
id=ID
name=NCName
ref=QName
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
任意属性
>
annotation?,(all|choice|sequence)?)
</group>

(? 符号は group 要素内に宣言され、この要素はグループ要素として0回または1回出現できます。)

属性

id

任意。この要素のユニークな ID を指定します。

name

任意。グループの名前を指定します。この名前は XML 命名空間規范で定義された冒号なしの名前 (NCName) でなければなりません。

schema 要素が group 要素の親要素である場合にのみ使用します。この場合、group は complexType、choice、sequence 要素によって使用されるモデルグループです。

name 属性と ref 属性は同時に使用できません。

ref

任意。他のグループの名前を参照します。ref 値は QName でなければなりません。ref には名前空間接頭辞を含むことができます。

name 属性と ref 属性は同時に使用できません。

maxOccurs

任意。グループ要素が親要素の中で出現する最大回数を指定します。この値は0以上の整数です。最大回数に制限を設けずに、文字列 "unbounded" を使用します。デフォルト値は1です。

minOccurs

任意。グループ要素が親要素の中で出現する最小回数を指定します。この値は0以上の整数です。デフォルト値は1です。

任意属性

任意。非スキーマ命名空間を持つ他の属性を指定します。

例 1

以下の例では、4つの要素を含むシーケンスのグループを定義し、そのグループを複雑なタイプの定義で使用しています:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="custGroup">
 <xs:sequence>
  <xs:element name="customer" type="xs:string"/>
  <xs:element name="orderdetails" type="xs:string"/>
  <xs:element name="billto" type="xs:string"/>
  <xs:element name="shipto" type="xs:string"/>
 </xs:sequence>
</xs:group>
<xs:element name="order" type="ordertype"/>
<xs:complexType name="ordertype">
  <xs:group ref="custGroup"/>
  <xs:attribute name="status" type="xs:string"/>
</xs:complexType>
</xs:schema>