我最近一直在玩XML格式和XLST文件,因为它似乎是一个UI问题的最直接的解决方案,我一直在摔跤,涉及用户以不同的方式访问中央数据。在我的实验中,我创建了一个非常好的格式表,在Internet Explorer中看起来很棒。当我在Firefox中测试时,我始终得到相同的错误消息:为什么Firefox不能解析这个XSLT?
“加载样式表时出错:解析XSLT样式表失败。”
我试过把样式表放到一个非常基本的文档中,仍然遇到同样的问题。我一直在检查教程和其他webforums并模仿示例,但我似乎无法找到任何明确适用的内容。
这里是我的测试XML文件:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="fox.xslt"?>
<article>
<title>Making Excellent Pasta Sauce</title>
<synopsis>A simple recipe for an amazing sauce, with tips on getting that extra flavor.</synopsis>
<content>Here is my content.</content>
<tags>
<tag>sauce</tag>
<tag>recipes</tag>
</tags>
</article>
然后,这里是我的XSLT文件(命名的,因为你可能会从例如块告诉上面, “fox.xslt”
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select="article">
TITLE: <xsl:value-of select="title"/> <BR/>
SYNOPSIS: <xsl:value-of select="synopsis"/> <BR/><BR/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
。我怀疑它可能与 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
有关,因为我已经在示例中看到了与此有关的一些不同的事情,我在这里尝试了一些不同的值,并且似乎没有碰到与此一起工作的一个例如,
我敢肯定这可能是一个基本问题,我只是在追查时一直不知所措。希望有人能把我带到“前额拍摄时刻”。
在此先感谢!
我应该说它也适用于'version =“1.0”'(或1.1)。主要问题可能是'xsl'命名空间。 – Bruno 2010-11-12 14:30:59
问题**是XSLT命名空间。但你的回答错过了解释。名称空间URI“http:// www.w3.org/TR/WD-xsl”被早期的M $ productos用于实现旧的XSLT工作草案。后来这已被弃用。现在没有人抱怨XSLT处理器今天可以使用这个命名空间。 – 2010-11-12 14:45:43
@Alejandro的确,但是我刚刚在Firefox 3.6上进行了测试,如果'version'属性丢失,它也不起作用(所以这两个问题都需要修复)。 – Bruno 2010-11-12 15:06:35