xsl:key

xsl:key

xslt:key 要素 (XSLT)

[2] xslt:key 要素 (<http://www.w3.org/TR/xslt#element-key>) は、を設定するのに使います。

属性:

matchパターン(必須)鍵対象節
nameQName(必須)鍵名
use(必須)鍵値取得元

文脈

[7] この要素は強制空要素で、最上位要素です。

他の最上位要素とは異なり、この要素型では輸入優先度による取捨選択がありません。 輸入優先度とは全く無関係に、全ての要素が使われます。

[3] match 属性及び use 属性で変数参照を使うのは誤りです。

[8] Schematron でも使うことができます。

処理

use 属性は match の式に一致した節それぞれについて、 その節を現在節, その節だけを現在節並びとして評価します。 その結果が鍵名になりますが、節集合ならその構成要素それぞれの文字列値 (複数になることもある!), それ以外なら string 関数に通した結果が採用されます。

key 関数 (XSLT)

[4] 節集合 key (QName, 物体) は、条件に合致する鍵の節を返します。 <http://www.w3.org/TR/xslt#function-key>

第1引数は鍵の名前、第2引数は鍵の値です。 第2引数が節集合以外であれば、 string 関数を通した値と鍵の値の一致をみます。 節集合であれば、構成するそれぞれの節の文字列値についての結果の和集合となります。

メモ