首页 新闻 搜索 专区 学院

一个XSLT引用函数的问题

-1
悬赏园豆:10 [已解决问题] 解决于 2011-11-28 17:15

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl
="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/x">
<b>
<xsl:value-of select="fn:abs(1)"/>
</b>
</xsl:template>
</xsl:stylesheet>

引用之后,提示

名称空间 'http://www.w3.org/2005/xpath-functions' 不包含任何函数。

 

dbking的主页 dbking | 初学一级 | 园豆:191
提问于:2011-11-22 17:09
< >
分享
最佳答案
0

你是怎么引用的?我放在Altova XMLSpy中发现不会报错啊。

收获园豆:10
LCM | 大侠五级 |园豆:6876 | 2011-11-22 17:30

就这么引用啊

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="./XSLTFile1.xslt"?>
<x>
  1  
</x>

dbking | 园豆:191 (初学一级) | 2011-11-22 17:41

@LCM:

不行啊。还是这个错误:

无法显示 XML 页。

使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。


名称空间 'http://www.w3.org/2005/xpath-functions' 不包含任何函数。

 

能提供一下您的IM联系方式么?

dbking | 园豆:191 (初学一级) | 2011-11-28 10:29

@dbking: 不好意思,我发现我的xslt是用的2.0版本,就是xslt中第二句如下开头:

<xsl:stylesheet version="2.0"
LCM | 园豆:6876 (大侠五级) | 2011-11-28 13:37

@LCM:

亲,还是不行啊

xslt是

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl
="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/xml">

<xsl:value-of select="fn:abs(1)"/>

</xsl:template>
</xsl:stylesheet>

XML是这样的

dbking | 园豆:191 (初学一级) | 2011-11-28 15:57

@dbking: 晕,还不行。我一步一步截个图给你看吧。

 

LCM | 园豆:6876 (大侠五级) | 2011-11-28 16:35

其中xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="./Untitled3.xsl"?>
<x>
-1
</x>

其中xslt文件内容

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="/">
<b>
<xsl:value-of select="fn:abs(x)"/>
</b>
</xsl:template>
</xsl:stylesheet>

在XMLSpy中显示xml的时候按快捷键F10,就显示结果如下:



LCM | 园豆:6876 (大侠五级) | 2011-11-28 16:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册