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

XML スキーマ attribute 要素


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

定義と用法

attribute 要素は、属性を定義します。

要素情報

  • 親要素: attributeGroup, schema, complexType, restriction (simpleContent および complexContent の双方), extension (simpleContent および complexContent の双方)

構文

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>

(annotation?,(simpleType?))

</attribute>

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

属性 説明
default オプション。属性のデフォルト値を指定する。 default 属性と fixed 属性の両方が存在することはできない
fixed オプション。 属性の固定値を指定する。 default 属性と fixed 属性の両方が存在することはできない
form オプション。属性の形式を指定する。デフォルト値は、属性を含む要素の attributeFormDefault 属性の値となる。 次のいずれかに設定できる:
  • "qualified" - この属性は、属性の名前空間接頭辞とコロンなし名前(NCNameという)で 修飾する必要があることを示す
  • unqualified - この属性は、名前空間接頭辞で修飾する必要がなく、属性の(NCName)にマッチしたことを示す
id オプション。 要素へユニークな ID を指定する
name オプション。属性の名前を指定する。name と ref 属性の両方が存在することはできない
ref オプション。名前付き属性への参照を指定する。name と ref 属性の両方が存在することはできない。 ref が存在する場合、simpleType 要素、form、および type は存在することができない
type オプション。組み込みデータ型か単純型を指定する。 type 属性は、コンテンツが simpleType 要素を含まない場合にのみ存在することができる
use オプション。属性の使い方を指定する。次のいずれかの値となる:
  • optional - 属性は任意 (デフォルト)
  • prohibited - 属性は使用できない
  • required - 属性は必須
any attributes オプション。 非スキーマ名前空間を持つ他の属性を指定する

例 1

<xs:attribute name="code">

<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>

</xs:attribute>

上記例は、"code" "属性には制約があることを示しています。唯一の許容値は、a〜zの2つ大文字です。

例 2

複合型内の既存の属性定義を使用して属性を宣言するには、ref 属性を使用します:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

例 3

属性は、デフォルト値か指定した固定値のいずれかを持つことができます。 他の値が指定されていない場合、デフォルト値が自動的に属性に割り当てられます。 次の例でのデフォルト値は "EN" です:

<xs:attribute name="lang" type="xs:string" default="EN"/>

他の値が指定されていない場合、固定値が自動的に属性に割り当てられます。 しかし、デフォルト値の場合と異り、固定とは別の値を指定した場合、ドキュメントは無効と見なされます。 次の例での固定値は "EN" です:

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

例 4

すべての属性は、デフォルトではオプションです。明示的に属性がオプションであることを指定するには、 "use" 属性を使用します:

<xs:attribute name="lang" type="xs:string" use="optional"/>

属性を必須にする:

<xs:attribute name="lang" type="xs:string" use="required"/>


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