问题
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