<key>元素</key>中的key()函数

时间:2012-01-02 23:24:17

标签: xslt xslt-1.0

在一个关键元素中,use属性或match属性的值包含变量引用是错误的。

use属性或match属性是否包含key()函数?

这似乎是允许的,但只有在样式表中按文档顺序执行key元素才有意义。这有保证吗?

(如果这确实有效,那么有时可以在key()use内使用match函数来完成不允许的全局变量可以执行的工作。)

1 个答案:

答案 0 :(得分:4)

  

use属性或match属性是否包含密钥()   功能

在XSLT 1.0中,这两个都是错误

来自 W3C Errata to the XSLT 1.0 Specification

   E13 - 实质性。

     

第12.2节,第8段。在匹配和调用key函数   在xsl上使用属性:key元素可能会导致循环。看到   http://lists.w3.org/Archives/Member/w3c-xsl-wg/2000Jun/0048.html   (仅限会员)。

     

use属性或匹配的值是错误的   属性包含VariableReference或对键的调用   功能

在XSLT 2.0中,允许在这些位置使用key()函数,前提是密钥没有按照自身定义(在定义中不允许使用循环引用)。