List of XSLT instructions/functions that change th

2019-04-19 06:37发布

问题:

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