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

任意の順序で指定できる要素を定義する

要素の中に、ほかの要素を任意の順序で指定できるようにしたい場合は、allグループを使ってそれらの内部要素をグループ化します。

■ 任意の順序で指定できる要素を定義するには

1. <xsd:all と入力して、順序なし要素グループを開始します。

2. 必要であれば、minOccurs属性とmaxOccurs属性を使って、順序なしグループ自体を指定できる回数を指定します。(「使用回数を指定する」)

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

4. 順序なしグループ内の各要素を指定する順序で宣言または参照します。

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

XSDコード
<xsd:complexType name="subspeciesType"/>
<xsd:all>
<xsd:element ref="name" / >
<xsd:element name=region" type="xsd:string" minOccurs="0" / >
<xsd:element name="population">
   <xsd:complexType>
   <xsd:simpleContent>
   <xsd:extension base="xsd:nonNegativeInteger">
   <xsd:attribute name="year" type="xsd:year" / >
   </xsd:extension>
   </xsd:simpleContent>
   </xsd:xomplexType>
</xsd:element>
</xsd:all>
</xsd:complexType>

allグループを使って、subspeciesType型要素にname 要素、region要素を任意の順序で指定できるように定義しています。さらに、region要素のminOccurs属性を0に設定しているので、この要素は任意指定です。この要素は省略できます。

XMLコード
<subscribes>
   <name language=Japanese">鎌状赤血球症</name>
   <population year="1999">501</population>
   <region>ソマリア</region>
</subspecies>
<subscribes>
   <population year="1998">315</population>
   <name language=Japanese">HIV</name>
</subspecies>

region要素は任意指定で順序は任意なので、これらのsubspecies要素はどちらもスキーマに対して有効です。

■ 補足

・allグループ内の要素は、任意の順序で1回または0回ずつ指定します(それぞれのminOccurs属性とmaxOccurs属性によって回数が決まります)。

・minOccurs属性とmaxOccurs属性は、0または1しか設定できません。

・allグループには、個々の要素の宣言または参照しか含めることができません。ほかのグループを含めることはできません。また、どの要素も複数回指定することはできません。

・allグループは、複雑型定義(「要素のみを含む要素を定義する」参照)、または名前付きグループ定義(「名前付きグループを参照する」参照)にしか含めることができません。これらの定義には、allグループとともに別のコンポーネントを含めることはできません。

<<<戻る

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