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/xmlおよびapplication/xmlであると明確に述べられています。

XSLT スタイルシートには、MIME メディア タイプ text/xml および application/xml [RFC2376] を使用する必要があります。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

application/xslt+xmlXSLT は、 ではなくMIME タイプで配信する必要がありますapplication/xml。そのようにサーバーを構成する必要があります。.htaccess行を含むファイルが必要です

AddType application/xslt+xml .xsl

これにより、拡張子.xslが正しい MIME タイプに関連付けられます。.htaccessXSLT のディレクトリまたは親ディレクトリに既にファイルがある場合は、この行を追加できます。それ以外の場合は、そのようなファイルを作成します。

于 2012-12-06T23:34:12.420 に答える