Xml 更改上下文节点的XSLT指令/函数列表?
有人知道更改上下文节点的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相比,设置上下
例如,每个的指令(如
)就是其中之一 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/>