11

我有一个使用 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。

4

2 回答 2

9

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

MIME 媒体类型 text/xml 和 application/xml [RFC2376] 应该用于 XSLT 样式表。可能会专门为 XSLT 样式表注册媒体类型;如果是并且当它是,也可以使用该媒体类型。

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

在没有为 XSLT 样式表注册的媒体类型的情况下,一些供应商的产品采用了不同的约定,特别是 type=" text/xsl "。

Chrome 32.0.1700.107 返回错误:

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

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

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

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

于 2014-02-06T13:25:20.830 回答
1

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

AddType application/xslt+xml .xsl

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

于 2012-12-06T23:34:12.420 回答