XML スキーマ anyAttribute 要素
完全なXMLスキーマリファレンス
定義と用法
anyAttribute 要素は、スキーマで指定されていない属性により、作者が XML 文書を拡張することを可能にします。
要素情報
- 親要素: complexType、restriction (simpleContent および complexContent の双方)、
extension (simpleContent および complexContent の双方)、attributeGroup
構文
<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
any attributes
>
(annotation?)
</anyAttribute>
(anyAttribute 要素内で、? 記号は要素が 0 または 1 回出現できることを宣言します)
属性 |
説明 |
id |
オプション。 要素へユニークな ID を指定する |
namespace |
オプション。使用可能な属性を含む名前空間を指定する。次のいずれかに設定できる:
- ##any - 任意の名前空間の属性が出現できる(これがデフォルト)
- ##other - 親要素の名前空間ではない任意の名前空間からの属性が出現できる
- ##local - 名前空間を持たない任意の属性が出現できる
- ##targetNamespace - 親要素の名前空間の属性が出現できる
- {名前空間の URI 参照、##targetNamespace、##local} のリスト -
名前空間の空白区切りリストの属性が出現できる
|
processContents |
オプション。XMLプロセッサがこの any 要素によって指定された要素に対する妥当性確認
処理方法を指定する。次のいずれかに設定できる:
- strict - XMLプロセッサは、要求された名前空間のスキーマを取得し、
要素の妥当性確認を行う必要がある(これがデフォルト)
- lax - strict に同じだが、スキーマを取得できない場合でもエラーは発生しない
- skip - XMLプロセッサは、指定された名前空間からの任意の要素に対する妥当性確認をしない
|
any attributes |
オプション。非スキーマ名前空間を持つ他の属性を指定する |
例 1
次例は、"person" という要素の宣言を示しています。
<anyAttribute> 要素を使用して、作者は "person" の要素に任意の数の属性を追加することができます:
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:element>
完全なXMLスキーマリファレンス
|