Chrome说:资源解释为样式表,但使用MIME类型application / xml进行传输

时间:2012-12-06 21:22:51

标签: xml xslt

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

2 个答案:

答案 0 :(得分:7)

XSLT 1.0 规范明确指出XSLT的相应MIME类型是 text / xml application / 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不会返回任何错误。

答案 1 :(得分:1)

XSLT应该以MIME类型application/xslt+xml提供,而不是application/xml。您应该配置服务器来执行此操作。您需要一个包含

行的.htaccess文件
AddType application/xslt+xml .xsl

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