问题
Does anyone know of a list of XSLT instructions/functions that change the context node?
For example, instruction like for-each is one of them.
回答1:
The obvious XSLT 2.0 instructions that change the context are for-each, apply-templates, for-each-group, and analyze-string. But there's also, for example, xsl:sort and xsl:key.
In XPath, the operators / and [] change the context. There are no functions that change the context.
回答2:
There are only two things in XSLT 1.0 that change the context and neither of them are functions. These are:
<xsl:apply-templates select='some-test'/>
(which will lead to the selected nodes being processed, each one becoming the context node as it is processed)
and
<xsl:for-each select='some-test'/>
In XSLT 2.0, you also have
<xsl:for-each-group/>
(which sets the context node in slightly more complex way than xsl:apply-templates and xsl:for-each
来源:https://stackoverflow.com/questions/6953265/list-of-xslt-instructions-functions-that-change-the-context-node