<xsl:key>
要素は、名前付きキーを宣言します。名前付きキーとは、XML ドキュメント内で指定された要素に割り当てられる名前と値のペアです。 複雑な XML ドキュメント内のキーが割り当てられた要素に効率的にアクセスできるように、XPath 式で key()
関数と共にキーを使用します。
<xsl:key
name = QName
match = Pattern
use = Expression
</xsl:key>
属性
- name
キーの 修飾名 を指定します。
- match
このキーを保持するノードを識別する パターン を指定します。
- use
キーの値として使用する 式 を指定します。 キーの値には、属性、子要素、または一致した要素の内容のいずれかを指定できます。
要素情報
出現回数 |
無制限 |
親要素 |
|
子要素 |
(子要素はありません) |
解説
XML ドキュメント内の要素を参照するための汎用の ID としてキーを使用できます。 そうするには、まず <xsl:key>
を使ってノードのキーを宣言します。 次に、キーの名前と値を関数の引数として渡して key() 関数を呼び出し、ノードを取得します。 詳細については、下の例を参照してください。
1 つのノードに対して複数のキーを定義できます。 そうすれば、複数の方法でノードを照会できます。
比較的大きい XML ドキュメントの操作では、多くの場合、キーが要素をすばやく照会する手段になります。 これは、キーを指定することで、目的のノードの位置に事前にインデックスが付くからです。 ただし、キーを指定して key()
関数を呼び出さない限り、XSLT プロセッサは <xsl:key>
要素のコンパイル時にはそのようなインデックスを作成しません。 そのため、時間のかかるインデックス付けの操作は、必要な場合にしか実行されません。
スタイル シートでは、<xsl:key>
要素は最上位の要素であり、テンプレートの中に表示されることはありません。 循環参照が発生するため、<xsl:key>
match の一部としてパラメーター参照または変数参照を使用することはできません。
例
次のトピックでは、<xsl:key>
要素の使用例を紹介します。