名前付きグループを定義する
いくつかの要素をまとめてXML文書内の複数個所で使う場合は、xsd:groupを使ってそれらの要素をグループ化すれば、まとめて参照しやすくなります。
1. スキーマの中でグループ内の要素を使用したい箇所に<xsd:group と入力します。
2. name="label"と入力します。
labelの部分には、そのグループを識別するために使う名前を入力します。
3. /> と入力して開始タグを終えます。
4. 名前付きグループを構成するシーケンス(「シーケンス内の要素を定義する」)、選択肢セット(「選択肢を作成する」)、順序なしグループ(「任意の順序で指定できる要素を定義する」)を宣言します。
5. </xsd:group> と入力して、グループ定義を終えます。
XSDコード <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" >
<xsd:group name="phisical_traits" >
<xsd:sequence >
<xsd:element name=weight" type="xsd:string" / >
<xsd:element name="length" type="xsd:string" / >
<xsd:element name="gestation" type="xsd:timeDuration" / >
<xsd:selement name="distinguishing" type="xsd:string />
</xsd:group>グループを使うと、1つまたは複数の要素で使用できる関連要素のリストを定義できます。
・groupは、DTDのパラメータエンティティに似ています。
・グループは、スキーマのトップレベル(xsd:schemaのすぐ下)でしか定義できませんが、さまざまな状況で参照できます。
・XML Schemaの仕様ではm、シーケンス、選択肢セット、順序なしグループ、名前付きグループのことを「グループ」、「モデルグループ」と呼んでいることがあります。
ここでは、xsd:group要素を使って定義するコンポーネントの集まりのことを「名前付きグループ」と呼びます。