2012-01-02 9 views
4

use属性またはmatch属性のいずれかの値が可変参照を含むことが重要な要素です。<key>内のkey()関数

use属性またはmatch属性にkey()機能が含まれている可能性がありますか?

これは許されているようですが、key要素がスタイルシートの文書順に実行される場合にのみ意味があります。それは保証されていますか?

(これは実際に作業を行う場合は、1が時々許可されていないグローバル変数が何であろうと仕事をするuseまたはmatchkey()機能を使用することができます。)

答えて

4

しかしuse属性をすることができますかmatch属性にキー() の機能が含まれていますか?

XSLT 1.0では、これらは両方ともエラーです。 W3C Errata to the XSLT 1.0 Specificationから

E13 - 実体的。

第12.2項第8段落。一致しているキーの関数を呼び出し、 xsl:key要素の属性を使用すると、サイクルが発生することがあります。 http://lists.w3.org/Archives/Member/w3c-xsl-wg/2000Jun/0048.html (メンバーのみ)を参照してください。

、使用属性またはVariableReferenceを含有する一致 属性のいずれかの値、またはXSLT 2.0でkey()機能の使用における重要な機能

への呼び出しはエラーでありますこれらの場所は許可されます。ただし、キーはそれ自体で定義されていません(定義内の循環参照は許可されません)。

+0

XSLT 2.0の場合、key()関数の使用は、http://www.w3.org/TR/xslt20/#circularityで説明されているように、キー自体を定義してはならないという制約があります。 –

+0

@MichaelKay:はい、もちろんです。円形の定義はエラーです。 –

関連する問題