Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

選択肢を作成する

要素に別の要素(または要素グループ)を含められるようにすっることもできます。このためには選択肢セットを使います。選択肢を定義するにはxsd:choice要素を使います。

■ 選択肢を作成するには

1. <xsd:choice と入力します。

2. 必要であれば、minOccurs属性とmaxOccurs属性を使って、選択肢セット自体を指定できる回数を指定します。(「使用回数を指定する」)

3. > と入力して開始タグを終えます。

4. 選択肢セットを構成する各核要素を、指定する順序で宣言または参照します。

5. </xsd:choice> と入力します。

XSDコード
<xsd:complexType name="place"/>
・・・・・・・・・・・・・・・・・・・
<xsd:choice>
   <xsd:element name="subsections" type="subsectionType" / >
   <xsd:sequence >
   <xsd:element name="machine" type="xsd:string" / >
   <xsd:element name="equipment" type="equipmentType" / >
   </xsd:sequence>
</xsd:choice>
</xsd:complexType>

subsectionのない場合もあります。subsectionがある場合はそれを指定し、subsectionがない場合はその他の要素だけを指定するようにします。

XMLコード

<place>
<name language="Japanese">内科外来</name>
・・・・・・・・・・・・・・・・・・・
<subsections>診療室1</subsection>
<subsections>診療室2</subsection>
<subsections>診療室3</subsection>
<subsections>診療室4</subsection>
<subsections>診療室5</subsection>
<subsections>点滴室1</subsection>
<subsections>点滴室2</subsection>
<subsections>処置室
    <machine>点滴ウォッチャー1</machine>
    <machine>点滴ウォッチャー2</machine>
    <machine>点滴ウォッチャー3</machine>
    <equipment>点滴セット1<equipment>
    <equipment>点滴セット2<equipment>
    <equipment>点滴セット3<equipment>
    <equipment>点滴セット4<equipment>
    <equipment>点滴セット5<equipment>
    <equipment>採血セット<equipment>
    <equipment>尿検査セット<equipment>
</subsection>
</place>


上記のplace要素は、スキーマに対して有効です。

■ 補足

・minOccurs属性とmaxOccurs属性の規定値(どちらも1)では、XML文書では選択肢セット内の1つの要素しか指定できません。maxOccurs属性に1より大きい値を指定すれば、その回数だけ選択肢を指定することができます。maxOccurs="unbounded"を指定すれば、DTDで選択肢セットにアスタリスク(*)を追加するのと同じことになります。

・選択肢セットは、ネスとシーケンス、ほかの選択肢セット、名前付きグループへの参照(「名前付きグループを参照する」)を含めることもできます。

・選択肢セットは、複雑型定義(「要素のみを含む要素を定義する」参照)、シーケンス、ほかの選択肢グループ、名前付きグループ定義(「名前付きグループを参照する」参照)に含めることができます。

・xsd:choice要素は、DTDのパイプ(|:縦棒)に相当します。

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box