K_Reverter的网页开发记录

要么不做,要么就当作艺术品来做!

导航

[导入]关于xslt中current()和(.)的区别

    在xslt中有current和(.)看起来都表示当前节点,似乎差不多,其实不同,而且绝对是缺一不可的。
    (.)实际上就是self::node()
    来看一个例子,比如,对于如下xml

<books>
<group type="1" index="6" name="aaaa"/></group>
<group1 type="1" index="4" name="aaaa"/></group1>
<book group="group"/>
<book group="group1"/>
<book group="group"/>
<book group="group1"/>
<book group="group"/>
<book group="group1"/>
</books>

 

    每个group引用的index都是一个book的number
    假如我们在设计book的模板的时候,想调用aaaa,就应该这样:

<xsl:value-of select="../../group[name(.)=name(current)]/@name">


就着样在xpath的路径中.随路径变化,而current不随xpath路径变化。

posted on 2005-03-31 19:46  K_Reverter  阅读(226)  评论(0编辑  收藏  举报