首页 > 解决方案 > XSLT 样式表不适用于 Firefox 中的 XML。如何解决?

问题描述

我不知道为什么我的代码不与我和我的 xml 合作。我很抱歉提供图片,但是当我提供代码时,网站显示的是最终结果,而不是它自己的代码,我不知道如何更改它。

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="movies.xsl" type="text/xsl" ?>
<collection>
    <movie>
        <title>hasdasd</title>
        <year>1222</year>
        <genre>horror</genre>
    </movie>
    <movie>
        <title>wqw</title>
        <year>1111</year>
        <genre>notporn</genre>
    </movie>
    <movie>
        <title>asdsd</title>
        <year>1444</year>
        <genre>comedy</genre>
    </movie>
</collection>

我的 XML 代码

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/collection">
      <html>
        <body> <h1>OEIHFWOEFIHEFOI</h1>
        <table border="1">
            <tr>
                <th>title</th>
                <th>Genre</th>
                <th>year</th>
            </tr>
            <xsl:for-each select="movie">
            <tr>
                <td><xsl:value-of select="title" /></td>
                <td><xsl:value-of select="year" /></td>
                <td><xsl:value-of select="genre" /></td>
            </tr>
            </xsl:for-each>
        </table>
        </body>
      </html>
  </xsl:template>
</xsl:stylesheet>

我的 XSLT 代码我真的不知道出了什么问题,似乎它们以错误的方式相互连接,但我仍然一无所知。

最终结果

标签: xmlfirefoxxsltxslt-1.0

解决方案


这似乎是较新版本的 Firefox 对 XML-XSLT 组合的来源应用更严格的策略的常见问题。如果 XML 和 XSLT 是本地文件,Firefox 将阻止/忽略对 XSLT 的引用。

解决方案是更改一个设置about:config:设置

privacy.file_unique_origin

false. 正如@evilpie 所建议的,这是首选修改。

这应该使您的 XML 显示为所需的。此处讨论:Firefox 68:本地文件现在视为跨域 (1558299)


推荐阅读