current()与.的问题:谁能解释它们的异同?

大可山人
博客专家认证
2004-04-04 01:26:16
<xsl:value-of select="current()"/>与
<xsl:value-of select="."/>

<xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/>与
<xsl:apply-templates select="//glossary/item[@name=./@ref]"/>和
<xsl:apply-templates select="//glossary/item[@name=@ref]"/>
...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
大可山人 2004-04-05
  • 打赏
  • 举报
回复
UP
大可山人 2004-04-05
  • 打赏
  • 举报
回复
我找到答案了:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xsl_xsltfun_7bji.asp
cloudchen 2004-04-05
  • 打赏
  • 举报
回复
current()只在特殊的环境下才和.节点有区别。
看一下打印出来的由水平线分割的两组结果。

<xml id="xml">
<root ref="2">
<node name="1" ref="1">正确元素</node>
<node name="1" ref="1">正确元素</node>
<node name="2" ref="1">错误元素</node>
</root>
</xml>

<xml id="xsl">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<xsl:apply-templates select="//node[@name=current()/@ref]"/>
<hr/>
<xsl:apply-templates select="//node[@name=./@ref]"/>
</xsl:template>

<xsl:template match="node">
<xsl:value-of select="text()"/><br/>
</xsl:template>
</xsl:stylesheet>
</xml>

<SCRIPT LANGUAGE="JavaScript">
var html = xml.transformNode(xsl)
document.write(html);
</SCRIPT>

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧