4

可能重复:
如何使 XSLT 在 chrome 中工作?

我有这个 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 文件时,我看不到任何显示。由于我按照说明从教程中复制,我不确定这里出了什么问题。您对可能导致显示不足的原因有任何线索吗?

4

1 回答 1

4

根据您使用的浏览器的 XSLT 约束,您可能什么也看不到。

我使用 Chrome 19.0.1084.46 和 Firefox 3.6.22 在本地测试了您的文件。

在 Firefox 中我可以毫无问题地查看它,但在 Chrome 中我什么也没看到。

当我在 Chrome 的开发人员工具中打开控制台选项卡时,它会显示以下消息:

从带有 URL 文件:///temp/web/catalog.xml 的框架加载 URL 文件:///temp/web/catalog.xsl 的尝试不安全。域、协议和端口必须匹配。

然后,我启动了我的 Tomcat 并部署了 2 个文件,当我从 Chrome 访问 xml 时它按预期显示了所有内容。

我猜您正在使用 file:/// 访问它,这与此问题有关Bug 397894

于 2012-05-17T18:42:51.507 回答