4
在关键元素中,use
属性值或match
属性的值包含变量引用时出错。<key>元素中的key()函数
但是,use
属性或match
属性是否可以包含key()
函数?
这似乎是允许的,但只有在样式表中按文档顺序执行key
元素时才有意义。这有保证吗?
(如果这确实工作,那么可以有时使用key()
函数内的use
或match
做的工作是不允许的全局变量会做。)
在关键元素中,use
属性值或match
属性的值包含变量引用时出错。<key>元素中的key()函数
但是,use
属性或match
属性是否可以包含key()
函数?
这似乎是允许的,但只有在样式表中按文档顺序执行key
元素时才有意义。这有保证吗?
(如果这确实工作,那么可以有时使用key()
函数内的use
或match
做的工作是不允许的全局变量会做。)
,但可以在
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()
功能的这些地方是允许的,只要一个关键字没有按照它自己的定义(在定义中不允许循环引用)。
对于XSLT 2.0,允许使用key()函数,但必须受限于不能根据自身定义密钥,如http://www.w3.org/TR/xslt20/#circularity中所述 – 2012-01-03 00:17:48
@MichaelKay:当然可以。任何循环定义都是错误的。 – 2012-01-03 00:40:35