属性の値または要素の値 (または値セット) が指定したスコープ内のキーである必要があることを指定します。 キーのスコープは、インスタンス ドキュメント内のコンテナー element です。 キーは、指定したスコープ内でデータが一意であり、null を許容せず、常に存在する必要があることを指定します。
<key
id = ID
name = NCName
{any attributes with non-schema Namespace}...>
Content: (annotation?, (selector, field+))
</key>
属性
id
この要素の ID。 id の値は ID 型である必要があり、この要素を含んでいるドキュメント内で一意である必要があります。省略可能。
name
key 要素の名前。 この名前は、『XML Namespaces』の仕様に定義されているとおり、コロンを含まない名前 (NCName) である必要があります。この名前は、ID 制約セット内で一意である必要があります。
必須。
要素情報
出現回数 |
無制限 |
親要素 |
|
コンテンツ |
解説
key 要素には、次の要素を順に含める必要があります。
selector |
selector 要素には、要素の集合を指定する XPath (XML Path Language) 式が含まれています。その式で指定された要素の集合では、field で指定された値が一意でなければなりません。 selector 要素は、必ず 1 つ存在する必要があり、また 2 つ以上存在することはできません。 |
field |
個々の field 要素には、selector 要素で指定された要素の集合で一意でなければならない値 (属性値または要素値) を指定する XPath 式が含まれています。 field 要素が複数存在する場合、それらの field 要素の組み合わせは一意である必要があります。 field 要素が複数存在する場合、1 つの field 要素は選択した要素の範囲で一意であっても一意でなくてもかまいませんが、すべてのフィールドの組み合わせは一意である必要があります。 1 つ以上の field 要素を指定する必要があります。 |
例
このスキーマの key 要素に対応する keyref 要素の定義例を次に示します。
入力 : key.xml
その他のリソース
詳細については、www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all で公開されている、W3C 勧告『XML Schema Part 1: Structures』を参照してください。