1

MultiViews を備えた Apache サーバーがあります。これが私のディレクトリ レイアウトです。

/style.css [text/css]
/style.xsl [text/xsl]
/index.xml [application/xml]

私の index.xml ファイルでは、XSL を参照しています。

<?xml-stylesheet href="/style"?>

XSL では、CSS を参照します。

<link rel="stylesheet" href="/style" />

このアプローチは、私が試したどのブラウザーでも機能しません。

Firefox-16.0.1 では、次のメッセージが表示されます。

Error loading stylesheet: An XSLT stylesheet does not have an XML mimetype:

HTTP 会話をデバッグすると、Firefox が次のメッセージを送信していることに気付きました。

Accept: */*

Firefox はあらゆる種類のコンテンツを要求しているため、Apache は /style.css を送信することを選択します。

特定のコンテンツ タイプを必要とする Web ブラウザは、それらのコンテンツ タイプに対して明示的な Accept ヘッダーを送信することを期待しています。

Accept 制約を取り除くことを明示的に文書化した他の 2 つの文書を見つけたとき、私はバグを提出する準備ができていました。

ファイル名に拡張子を入れることでこれを回避できますが、これはW3C ブログで説明されているように、画像のコンテンツ ネゴシエーションと同じように機能するはずです。利点は、ドキュメントを更新することなく、後で新しいコンテンツ タイプを追加できることです。

これはバグですか、それとも何か間違っていますか?

4

0 に答える 0