Landscape トップページ | < 前の日 2005-10-16 2005-10-17 次の日 2005-10-18 >

Landscape - エンジニアのメモ 2005-10-17

XSLT 適用時の「リソース '*' の実行エラー」への対処


* XSLT 適用時の「リソース '*' の実行エラー」への対処

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [XML] [IE]

XML ファイルが置いてあるドメインと XSL ファイルが置いてあるドメインが異なっている場合、Internet Explorer のセキュリティ設定によってはエラーが出て XSLT が有効にならないことがある。インターネットオプションで設定することで対処可能。

- アクセスが拒否されました。リソース ' http://sonic64.com/rss.xsl ' の実行エラーです。

当サイト Landscape の RSS http://sonic64.com/cl.xml は、2005-03-16 の「RSS を XSLT で html に変換して見栄え良く表示する」で作成した XSLT http://sonic64.com/rss.xsl を使い、ブラウザで見たときに見やすくなるようにしてある。

しかし、RSS にアクセスすると、以下のようなエラーが表示されるようになってしまった。

XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。

アクセスが拒否されました。リソース ' http://sonic64.com/rss.xsl ' の実行エラーです。

- XSTL 実行時にエラーになる原因を探る

何でエラーになるんだろう? 2005-10-12 の「RSS広告社の広告プログラム Trend Match に参加」したことが原因だろうか? http://sonic64.com/cl.xml にアクセスされたら http://rss.rssad.jp/rss/qArzgZHGLg5Z/rss_0003 に HTTP 302 Moved Temporarily でリダイレクトしているのだが、それが悪いってこと? まさかそんなことはないはず。

Google で アクセスが拒否されました リソース の実行エラーです を検索しても、有力な情報は得られなかった。

おかしいなあ、httpd のアクセスログには XSL ファイルへのアクセスは HTTP Status 200 OK で記録されてる。つまり、XSL ファイルには HTTP 的にアクセスできている。XSLT ってクライアント側で行うものだし、rssad.jp のサーバ設定も関係ない。何だろう?

いろいろ切り分けて考える必要があるな。試しに Mozilla でやってみると、やっぱり XSLT が実行されない。あと、私のサイト sonic64.com 内に別の RSS を置き、同じ XSL を参照すると正常に XSLT が実行される。ということは、RSS や XSL ファイル自体の問題ではないってことだ。クライアント側の問題のような気がする。

IE のオプションで何かあるんじゃないか? 探してみる。あった。

- 「ドメイン間でのデータソースのアクセス」を「有効にする」で IE の XSLT が有効になった

IE だと以下の設定を行うことで、ドメインをまたいだ XML と XSTL による XSLT が有効になる。

IE のメニューバーの「ツール (T)」 の「インターネットオプション (O)を開く。
「セキュリティ」タブを開く。
「インターネット」のアイコンを選択する。
「レベルのカスタマイズ (C)」ボタンを押す。
「その他」カテゴリにある「ドメイン間でのデータソースのアクセス」を「有効にする」を選択。

ちなみに、セキュリティレベルが「中」のとき、「ドメイン間でのデータソースのアクセス」は「無効にする」になっている。

つまり、ドメインをまたがって XSL ファイルにアクセスすることは、セキュリティ的に良くないのでデフォルトで無効にしてあるということか。それもそうか。参照先の XSL ファイルが差し替えられた場合、出力する HTML も差し替えられるということだもんね。

そういえば、amazon は 2004-04-15 の「amazon ウェブサービスでリアルタイムに価格を表示」などのサービスにおいて、XSLT をブラウザ任せにせずにわざわざ HTTP GET している。高度な XSLT プロセッサを提供するというのが第一の理由だろうが、このセキュリティ制限に引っかからないようにするというのも、理由の一つなんだろうな。

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。