我有这个XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
<catalog>
<album>
<title>Exodus</title>
<artist>Bob Marley</artist>
<country>Jamaica</country>
<price>19,99</price>
</album>
<album>
<title>Black Album</title>
<artist>Metallica</artist>
<country>USA</country>
<price>20,00</price>
</album>
<album>
<title>Nevermind</title>
<artist>Nirvana</artist>
<country>USA</country>
<price>22,00</price>
</album>
</catalog>
链接到此XSL文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My Catalog</h2>
<table border="1">
<tr bgcolor="#9ACD32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/album">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当我在浏览器中打开XML文件时,我看不到任何显示内容。由于我按照指示复制了教程,我不确定这里出了什么问题。你有什么可能导致缺乏显示的线索吗?
答案 0 :(得分:4)
根据您使用的浏览器的XSLT限制,您可能看不到任何内容。
我使用Chrome 19.0.1084.46和Firefox 3.6.22在本地测试了您的文件。
在Firefox中我可以毫无问题地查看它,但在Chrome中我什么都没看到。
当我在Chrome中的开发者工具中打开控制台选项卡时,会显示以下消息:
不安全的尝试加载网址 file:///temp/web/catalog.xsl来自带URL的帧 文件:///temp/web/catalog.xml。域,协议和 端口必须匹配。
然后,我启动了Tomcat并部署了2个文件,当我从Chrome voilà访问xml时,它会按预期显示所有内容。
我猜您正在使用file:///访问它,这与此问题有关Bug 397894