シーケンスを指定するために、コンテンツをグループにまとめる XDR (XML-Data Reduced) スキーマ要素。
<group
maxOccurs="{1 | *}"
minOccurs="{0 | 1}"
order="{one | seq | many}" >
属性
maxOccurs
グループの最大出現回数。次の値をこの属性に割り当てることができます。1
最大 1 回出現します。
*
出現回数は無制限に許可されます。
minOccurs
グループの最小出現回数。次の値をこの属性に割り当てることができます。0
必須ではありません。グループは省略可能です。
1
少なくとも 1 回出現する必要があります。
order
このグループ内の要素 (およびこのグループに含まれている他のグループ) のシーケンスの制約条件。次の値をこの属性に割り当てることができます。one
グループに各要素のインスタンスを 1 つだけ含めることができます。これは、ドキュメント型定義 (DTD) の縦棒 (|) シンボルに相当します。
seq
グループ内の要素は、指定された順序で記述する必要があります。
many
グループ内の要素を任意の順に表示できます。
seq を設定する場合は、有効なシーケンスを指定する必要があります。たとえば、
x1,y1
やx2,y2
など、特定のシーケンスが有効であり、その他すべての組み合わせが無効である場合は、この値を使ってその条件を指定できます。seq 値は、DTD のかっこと同じ役割を果たします。
要素情報
出現回数 |
無制限 |
親要素 |
|
子要素 |
要素のプロパティ
TAG | 説明 |
---|---|
order='one' |
1 つの要素のセットのみが許可されます。 |
* order='seq' |
一覧表示されたシーケンス中に要素が表示されている必要があることを示します。これは、要素のリストの既定値と同様です。ただし、 |
order='many' |
要素は、順不同で表示されます (または表示されません)。 |
minOccurs='0' または '1' maxOccurs='1' または '*' |
カーディナリティを正確に定義できます。maxOccurs の '*' は無制限を意味します。 |
解説
order 属性は、ElementType 要素の order 属性と同じ値を受け取ります。
minOccurs 属性と maxOccurs 属性の既定値は 1 です。どちらの属性も持っていないグループは、コンテンツ モデル内で 1 回だけ出現する必要があります。
例
one の設定例を次に示します。
<ElementType name="z" order="one">
<element type="x"/>
<element type="y"/>
</ElementType>
スキーマの有効なインスタンスの例を示します。
<z>
<x/>
<y></y>
</z>
seq の設定例を次に示します。
<ElementType name="x" order="one">
<group order="seq">
<element type="x1"/>
<element type="y1"/>
</group>
<group order="seq">
<element type="x2"/>
<element type="y2"/>
</group>
</ElementType>
このスキーマの有効なインスタンスの例を次に 2 つ示します。
<x>
<x1/>
<y1/>
</x>
および
<x>
<x2/>
<y2/>
</x>
many の設定例を次に示します。
<ElementType name="x" content="eltOnly" order="many">
<element type="q"/>
<element type="r"/>
</ElementType>
このスキーマのすべての有効なインスタンスの例を次に 5 つ示します。
<x> </x>
<x> <q> </x>
<x> <r> </x>
<x> <q> <r> </x>
<x> <r> <q> </x>