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