【问题标题】:Chrome says: Resource interpreted as Stylesheet but transferred with MIME type application/xmlChrome 说:资源解释为样式表,但使用 MIME 类型 application/xml 传输
【发布时间】:2012-11-25 00:37:51
【问题描述】:

我有一个使用 XSL 文件设置样式的 XML 文件。在 Firefox 中打开 XML 文件时,我没有遇到任何问题,(虽然奇怪的是,有时它只会在我点击“重新加载”后才显示),但在 Chrome/Chromium 中我收到错误消息:

Resource interpreted as Stylesheet but transferred with MIME type application/xml

文件在这里:http://jonreeve.com/test/mike/biblexml.xml

我认为 XML/XSL 语法没有任何不规则之处,而且链接似乎也都用词正确。

此外,这似乎与此处所有看起来相似的问题都不相似,这些问题似乎与 javascript 和其他应用程序有关。这只是纯 XML/XSL。

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    XSLT 应使用 MIME 类型 application/xslt+xml 而不是 application/xml 交付。您应该配置您的服务器来执行此操作。您需要一个包含该行的.htaccess 文件

    AddType application/xslt+xml .xsl
    

    这会将扩展名.xsl 与正确的 MIME 类型相关联。如果您在 XSLT 的目录或父目录中已经有一个 .htaccess 文件,则可以添加该行。否则,创建这样一个文件。

    【讨论】:

    • 添加 .htaccess 文件会给我一条“禁止”消息,并附注“此外,在尝试使用 ErrorDocument 处理请求时遇到了 404 Not Found 错误。”我尝试使文件可执行,但这没有效果。
    【解决方案2】:

    XSLT 1.0 规范明确指出 XSLT 的适当 MIME 类型是 text/xmlapplication/xml

    The MIME media types text/xml and application/xml [RFC2376] should be used for XSLT stylesheets. It is possible that a media type will be registered specifically for XSLT stylesheets; if and when it is, that media type may also be used.

    XSLT 2.0 中,这已更改为 application/xslt+xml

    但是

    In the absence of a registered media type for XSLT stylesheets, some vendors' products have adopted different conventions, notably type="text/xsl".

    Chrome 32.0.1700.107 返回错误:

    资源解释为样式表,但以 MIME 类型 text/xml 传输;

    资源解释为样式表,但使用 MIME 类型 application/xml;

    资源被解释为样式表,但使用 MIME 类型 application/xslt+xml;

    如果 text/xsl 类型通过,Chrome 不会返回错误。

    【讨论】:

    猜你喜欢
    • 2012-09-20
    • 2015-11-16
    • 2014-11-19
    • 2013-05-26
    • 2013-07-02
    • 2017-03-19
    • 1970-01-01
    • 2013-06-17
    相关资源
    最近更新 更多