ホーム HTML CSS XML JAVASCRIPT   PHP SQL MORE...   リファレンス 事例集    

XML スキーマ element 要素


XML Schema Reference 完全なXMLスキーマリファレンス

定義と用法

element 要素は、要素を定義します。

要素情報

  • 親要素: schema, choice, all, sequence, group

構文

<element
id=ID
name=NCName
ref=QName
type=QName
substitutionGroup=QName
default=string
fixed=string
form=qualified|unqualified
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
nillable=true|false
abstract=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

annotation?,((simpleType|complexType)?,(unique|key|keyref)*))

</element>

(element 要素内で、? 記号は要素が 0 または 1 回出現できることを宣言し、* 記号は要素がゼロ回以上出現できることを宣言します)

属性 説明
id オプション。 要素へユニークな ID を指定する
name オプション。要素の名前を指定する。親要素が schema 要素の場合、この属性は必須
ref オプション。他の要素の名前を参照する。 ref 属性は、名前空間接頭辞を含めることができる。 親要素が schema 要素の場合、この属性は使用できない
type オプション。組込みデータ型の名前か、simpleType または complexType 要素の名前のいずれかを指定する。
substitutionGroup オプション。この要素で置換することができる要素の名前を指定する。 親要素が schema 要素でない場合、この属性は使用できない
default オプション。要素のデフォルト値を指定する (要素の内容が単純型またはテキストのみの場合にだけ使用することができる)
fixed オプション。要素の固定値を指定する (要素の内容が単純型またはテキストのみの場合にだけ使用することができる)
form オプション。要素の形式を指定する。"unqualified" は、 この属性は名前空間接頭辞で修飾する必要がないことを示す。 "qualified" は、この属性は名前空間接頭辞で修飾する必要があることを示す。 デフォルト値は、スキーマ要素の elementFormDefault 属性の値となる。 親要素が schema 要素である場合、この属性は使用できない
maxOccurs オプション。この要素が親要素で出現できる最大値を指定する。 値は、任意の数値 >= 0 にすることができる。また、最大数で上限を設定しない場合は、 値に "unbounded" を使用する。デフォルト値は 1。 親要素が schema 要素である場合、この属性は使用できない
minOccurs オプション。この要素が親要素で出現できる最小値を指定する。 値は、任意の数値 >= 0 にすることができる。デフォルト値は 1。 親要素が schema 要素である場合、この属性は使用できない
nillable オプション。明示的な NULL 値を要素に割り当てることができるかどうかを指定する。 True は、要素のインスタンスが null 属性をもつために true へ設定することを可能にする。 null 属性は、インスタンスのXMLスキーマ名前空間の一部として定義される。デフォルトは false
abstract オプション。要素がインスタンスドキュメント内で使用できるかどうかを指定する。 Trueの場合、要素がインスタンスドキュメントに出現できないを示す。 代わりに、この要素の修飾名(QName)が含まれている substitutionGroup 属性の他の要素は、 この要素の位置に出現する必要がある。デフォルトは false
block オプション。派生の指定した型をもつ要素を、この要素の代わりに使用されることを防ぐ。 この値は、#all または、拡張、制約、または equivClass のサブセットであるリストを含めることができる:
  • extension - 拡張により派生した要素の使用を防ぐ
  • restriction - 制約により派生した要素の使用を防ぐ
  • substitution - 置換により派生した要素の使用を防ぐ
  • #all - すべての派生した要素の使用を防ぐ
final オプション。element 要素の final 属性のデフォルト値を設定する。 親要素が schema 要素でない場合、この属性は使用できない。 この値は、#all または、拡張あるいは制約のサブセットであるリストを含めることができる:
  • extension - 拡張により派生した要素を防ぐ
  • restriction - 制約により派生した要素を防ぐ
  • #all - すべての派生した要素を防ぐ
any attributes オプション。非スキーマ名前空間を持つ他の属性を指定する

例 1

次の例は、それぞれ型 string、nonNegativeInteger、dateである "fname"、 "lname"、"age"、"dateborn" と言う名前の 4 つの簡単な 要素を持つスキーマです:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="fname" type="xs:string"/>
<xs:element name="lname" type="xs:string"/>
<xs:element name="age" type="xs:nonNegativeInteger"/>
<xs:element name="dateborn" type="xs:date"/>

</xs:schema>

例 2

次の例は、複合型の "note" という名前の要素を持つスキーマです。"note" 要素には、 他の4つの単純な要素が含まれています; "to"、"from"、"heading"、"body":

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="to" type="xs:string"/>
      <xs:element name="from" type="xs:string"/>
      <xs:element name="heading" type="xs:string"/>
      <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

</xs:schema>

例 3

この例は、例 2 と同じですが、ここでは要素名を参照する ref 属性を使用することにしました:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
    <xs:element ref="to"/>
    <xs:element ref="from"/>
    <xs:element ref="heading"/>
    <xs:element ref="body"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>

</xs:schema>


XML Schema Reference 完全なXMLスキーマリファレンス