以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  在使用xsl中,current 函数放在[]里,代表的意思是什么叫,为什么与“.”表示的不一样,详情见内  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=33242)


--  作者:lian
--  发布时间:5/29/2006 10:42:00 AM

--  在使用xsl中,current 函数放在[]里,代表的意思是什么叫,为什么与“.”表示的不一样,详情见内
[current()]  与[.]为什么表示不一样

例子如下:
http://www.zvon.org/xxl/XSLTutorial/Output_chi/example56_ch16.html


谢谢回答


--  作者:Qr
--  发布时间:5/29/2006 1:28:00 PM

--  
current()函数返回一个仅包含当前节点的节点集。通常当前节点和上下文节点是一样的。
<xsl:value-of select="current()"/>与<xsl:value-of select="."/>是一样的。
然而,有一点不同。看下面的XPath 表达式:"catalog/cd"。这个表达式选择<catalog>作为当
前节点,然后选择<catalog>的子节点<cd>。这意味着在赋值的每一步,"."都有不同的意义。
下面这行代码:
将会处理所有title 属性的值与当前节点的ref 属性的值相等的所有cd 元素。
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
这与下面有区别
下面这段代码将会处理所有title 属性的值与ref 属性的值相等的所有cd 元素。
<xsl:apply-templates select="//cd[@title=./@ref]"/>
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms