XML スキーマ attribute 要素
完全な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スキーマリファレンス
|