目次へ

3.2 出現回数の設定

XML Schemaでは、minOccurs、maxOccurs属性を使用して要素の出現回数を指定することができます。属性の出現回数は、use属性により指定します。

<attribute name="属性の名前"  type="属性の型" use="出現回数に対する規定"/>
<attribute ref="属性の名前"   use="出現回数に対する規定"/>

 use属性は、required、optional、prohibitedのいずれかの値をとります。それぞれの意味は以下の通りです。

required 必ず、1回出現する
optional 出現してもしなくてもよい。0回か1回。
prohibited 1回も出現しない。

use属性が存在しない場合、optionalが設定されています。以下に例を示します。

<xsd:complexType name="Items"> 
  <xsd:sequence>
   <xsd:element name="item" minOccurs="0" maxOccurs="unbounded"> 
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="productName"type="xsd:string"/>
      <xsd:element name="quantity">
       <xsd:simpleType>
         <xsd:restriction base="xsd:positiveInteger">
          <xsd:maxExclusive value="100"/>
         </xsd:restriction>
       </xsd:simpleType>
      </xsd:element> 
      <xsd:element name="USPrice" type="xsd:decimal"/>
      <xsd:element ref="po:comment" minOccurs="0"/>
      <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
     </xsd:sequence>
     <xsd:attribute name="partNum" type="po:SKU" use="required"/>
    </xsd:complexType>
   </xsd:element>
  </xsd:sequence>
 </xsd:complexType> 

以上の例では、下から5行目でpartNum属性を宣言しています。use属性はrequiredです。これにより、partNum属性は省略できません。

prohibited属性は、既存のComplex Typeの拡張や制限を行うときに便利な属性になります。XML Schemaでは、既存のComplex Typeに、独自の要素を付け足したり、制限を加えることにより、新たなComplex Typeを作成する仕組みを用意しています。prohibited属性が存在することにより、既存のComplex Typeの不要な属性を使用できないようにすることが可能です。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp