Xml 更改上下文节点的XSLT指令/函数列表?

Xml 更改上下文节点的XSLT指令/函数列表?,xml,xslt,xslt-2.0,xslt-1.0,Xml,Xslt,Xslt 2.0,Xslt 1.0,有人知道更改上下文节点的XSLT指令/函数列表吗 例如,每个的指令(如)就是其中之一 XSLT1.0中只有两件事可以改变上下文,它们都不是函数。这些是: <xsl:apply-templates select='some-test'/> (这将导致所选节点被处理,每个节点在处理时都成为上下文节点) 及 在XSLT2.0中,您还可以 <xsl:for-each-group/> (与xsl:apply templates和xsl:for each相比,设置上下

有人知道更改上下文节点的XSLT指令/函数列表吗


例如,每个的指令(如
)就是其中之一

XSLT1.0中只有两件事可以改变上下文,它们都不是函数。这些是:

<xsl:apply-templates select='some-test'/>

(这将导致所选节点被处理,每个节点在处理时都成为上下文节点)


在XSLT2.0中,您还可以

<xsl:for-each-group/>


(与
xsl:apply templates
xsl:for each
相比,设置上下文节点的方式稍微复杂一些。更改上下文的XSLT 2.0指令显然是
for each
apply templates
for each group
,以及
analyze string
。但是,例如,还有
xsl:sort
xsl:key


在XPath中,运算符
/
[]
更改上下文。没有更改上下文的函数。

应用模板不会更改当前模板中的上下文节点,而是转到不同的模板。据我所知,xsl:for each是唯一可以更改模板中
含义的函数。严格地说,是的。
xsl:apply templates
本身不会更改上下文。它会选择要处理的节点。处理模板本身会设置当前节点。但是,它确实会导致上下文更改,这正是我要说的:)heys cool=D顺便问一句,更改当前节点的唯一方法是对XSLT 3.0的每次更新吗?现在还有
xsl:iterate
xsl:source document
xsl:merge

<xsl:for-each-group/>