控制上下文节点的方法之一就是使用xsl:apply-templates(或xsl:for-each),从xslt处理引擎处从根本上获取
对上下文的控制权。方法很简单,如下:
在要想从处理机上获取对上下文节点的控制权时,请先建立一个参数,xsl:with-param可以和xsl:apply-templates
一起来改变上下文节点,无论什么时候使用xsl:apply-templates都会建立上下文节点。由于apply-templates语句建立
上下文,因此可以使用xsl:with-param元素精确的选择要作为上下文节点的节点,然后可以对该节点进行任意
次的比较和运算、例如,可以将文档中的某个节点与另外文档中的类似节点进行比较。当然,无论什么时候
使用不带参数的apply-templates或for-each语句,也能改变上下文节点。这里的参数可以给予用户额外的控制。
xslt名称空间:http://www.w3.org/1999/XSL/Transform
轴:定义导航的方向,以轴名开始加两个冒号(::)共有13种轴。child,descendant,parent,ancestor
following-sibling,preceding-sibling,following,preceding,attribute,namespace,self,
descentdant-or-self,ancestor-or-self
对上下文的控制权。方法很简单,如下:
1 <xsl:template match="/">
2 <xsl:param name="node_second" select="document('orders_002.xml')"/>
3 <xsl:for-each select="*">
4 <xsl:variable name="index" select="position()"/>
5 <xsl:apply-templates select=".">
6 <xsl:with-param name="node_second" select="$node_second/*[position()=$index]"/>
7 </xsl:apply-templates>
8 <xsl:value-of select="."/>
9 <xsl:text> </xsl:text>
10 </xsl:template>
2 <xsl:param name="node_second" select="document('orders_002.xml')"/>
3 <xsl:for-each select="*">
4 <xsl:variable name="index" select="position()"/>
5 <xsl:apply-templates select=".">
6 <xsl:with-param name="node_second" select="$node_second/*[position()=$index]"/>
7 </xsl:apply-templates>
8 <xsl:value-of select="."/>
9 <xsl:text> </xsl:text>
10 </xsl:template>
在要想从处理机上获取对上下文节点的控制权时,请先建立一个参数,xsl:with-param可以和xsl:apply-templates
一起来改变上下文节点,无论什么时候使用xsl:apply-templates都会建立上下文节点。由于apply-templates语句建立
上下文,因此可以使用xsl:with-param元素精确的选择要作为上下文节点的节点,然后可以对该节点进行任意
次的比较和运算、例如,可以将文档中的某个节点与另外文档中的类似节点进行比较。当然,无论什么时候
使用不带参数的apply-templates或for-each语句,也能改变上下文节点。这里的参数可以给予用户额外的控制。
xslt名称空间:http://www.w3.org/1999/XSL/Transform
轴:定义导航的方向,以轴名开始加两个冒号(::)共有13种轴。child,descendant,parent,ancestor
following-sibling,preceding-sibling,following,preceding,attribute,namespace,self,
descentdant-or-self,ancestor-or-self
浙公网安备 33010602011771号