1. ホーム
  2. xml

[解決済み] ChromeでローカルファイルのXSL変換を行うことはできますか?

2023-02-08 10:35:51

質問

xsltについて調べていて、w3schoolsにある例でテストを始めました。

しかし、xmlとxslをファイルに保存して、ローカルで開こうとすると、クロームはxsl変換を実行しません。空白のページが表示されるだけです。

私は <?xml-stylesheet type="text/xsl" href="style.xsl"> タグを追加したところ、firefox はその通りに表示します。また、ウェブサーバーを通してファイルを見ると、クロームがそのファイルを想定通りに表示します。

リンク先がローカルの場合、chromeがスタイルシート情報を見つけるのに問題があるのでしょうか?hrefを変更すると file:///C:/xsl/style.xsl に変更しても、何も変わりませんでした。

更新しました。 これは、セキュリティポリシーの副作用のようです。 を使用して、file:///* を同じオリジンとして扱わないようにする副作用のようです。 これにより、コンソールに以下のようなエラーが表示されます。

URL file:///C:/xsl-rpg/style.xsl を URL file:///C:/xsl-rpg/data.xml でフレームからロードしようとする安全でない試みがあります。ドメイン、プロトコル、およびポートが一致している必要があります。

どのように解決するのですか?

簡単に言うと のいずれかを使用します。 多様なブラウザのセット のいずれかを使用してください。 .

これがうまくいかないのは、Chrome が賛否両論ある方法で対処したセキュリティ上の懸念のためです [1] [2] [3] [4] HTML ファイルが同じディレクトリの .CSS ファイルに問題なくアクセスできる一方で、XML ファイルが同じディレクトリのローカルの XSLT ファイルにアクセスするのをブロックすることによって、.CSS ファイルにアクセスできないようにします。

上記のような問題に対して、ユーザーはより明確なエラー メッセージ (ドメイン、プロトコル、およびポートが実際に一致するため) や、少なくともスタイル設定なしの XML を表示するよう求めてきました。Chrome の開発者はこれらの要求を無視しました。