blogのrssが、エラー表示されます。

http://rossa.jugem.cc/
_____________________________

フィード  コードのエラー
Internet Explorer ではこのフィードを表示できません

このフィードにはコード上のエラーが含まれています。


終了タグ 'SCRIPT' が開始タグ 'content:encoded' と一致していません。
行: 340 文字: 3

</SCRIPT>

・・・とのことなのですが、何をどういう風に直したらいいのか?
あちこち、見てみたのですが、特に思い当たる所がなく、というか、わからなくて。。。
解決方法をお教えください。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2009/08/24 15:16:17
  • 終了:2009/08/24 23:07:27

ベストアンサー

id:y-kawaz No.2

y-kawaz回答回数1420ベストアンサー獲得回数2252009/08/24 17:10:26

ポイント70pt

scriptタグのcharsetがeucだから云々は全くの間違いですので参考にしないで下さい。

もちろんそのjsファイルとかは全く関係ありませんのでそのサイトに問い合わせとかやめてあげて下さいね。



340行目で起こっている本当のことは、そのサイトのコンテンツテキスト内にCDATAの閉じタグ ]]> が含まれてしまっているのが原因です。

RSSの各アイテムのコンテンツはCDATAで出力されているようですが、CDATAは中身のXMLエスケープをしなくて良いので手軽な反面、CDATA内では ]]> を使うことが出来ないというデメリットがあります。

今回問題になっているのは http://rossa.jugem.cc/?eid=297 のコンテンツ本文の一部にが以下のように ]]> を含んでしまっている為にXMLパースエラーになっているのが原因です。

(前略)
<SCRIPT type=text/javascript> 
// <![CDATA[

	document.write("><div style=¥"float:left;display:block;margin-right:10px;¥">")
	var gfxObj = new gfx("flash/mounterPU.swf", "266", "411","DetailArticle", "#e7e7e7");
	gfxObj.addParam("FlashVars", 
 
"article_id=/fashion/4303320&href=http://img.afpbb.com/flashdata/detail/20090626/4303320.swf");
	gfxObj.write();
	document.write("</div>")
// ]]>  
</SCRIPT> 
(後略)

対応としては、以下が考えられます。

・当該エントリーのソース中からCDATAを削る(「// 」)を消すだけでよいでしょう

・RSSの出力にCDATAを使わないでXMLエスケープを使うようにする

取り急ぎは前者の対応を行えばエラーは出なくなると思います。

今後のことを考えたら ]]> が含まれる可能性はゼロでないので、後者の対応を行ってCDATAは使わないようにした方が良いと思います。

id:rossa

ご回答ありがとうございます。

このBLOGは、AFPのサイトの写真や動画を引用して記事にしているのですが、元サイトのAFPから、自分の使用してるBLOGに飛ぶと

自動的に記事が挿入され、その後、自分が感想などを書くスタイルです。

ご指摘いただいています>当該エントリーのソース中からCDATAを削る

・・・というあたりについては、すでに私がじぶんBLOGに記事を書くときにはシステムとして組み入れられていて

ソースを触る状態にはありません。

ためしに、同じ記事を同じ状態で引用してる別のブロガーの記事をチェックいたしましたが、ちゃんと表示されています。

彼らは、特に、>当該エントリーのソース中からCDATAを削る

ようなことはなく、ちゃんとRSSが機能していると思われます。

やはり、私のみの問題で、AFPには関係ないような気がします。

ご回答ありがとうございました。エラーのでる自分と、同じ条件なのに、エラーが出ない人を

もうすこし、比べて、違うところを探してみます。

2009/08/24 18:55:00

その他の回答(1件)

id:i4ooon No.1

regnif回答回数56ベストアンサー獲得回数202009/08/24 15:25:54

ポイント10pt

XMLのencodeingは"utf-8"なのに、scriptタグのcharsetが"euc-jp"だから発生しています。

<?xml version="1.0" encoding="utf-8"?>

<script type="text/javascript" charset="euc-jp">・・・

あまりXML(rss)の中にscriptタグが書かれたものって見ない(というより通常は動作しない?)ですが、

アフィリエイトか何かでしょうか?

http://jss.afpbb.com/sdata/newsdelivery/jugem/js/euc/4317000/3b3...

というJavaScriptを読み込んでいる箇所が"eud-jp"です。

カスタムブロックのようなもので、取り込む記述をしているのであれば、それを消すか、該当箇所の"euc-jp"を"utf-8"に変更(しても問題ないのであれば)すれば、解消するはずです。

ちなみにieは意外とこういったところにシビアなんですが、FireFoxでは問題なく表示されたりするので確認には良いかもしれませんよ。

id:rossa

早速ありがとうございます。

http://jss.afpbb.com/sdata/newsdelivery/jugem/js/euc/4317000/3b3...

は私の引用している<ニュースサイト>のAFP BB NewsのURLです。ここ。思いもよりませんでした。

確かめてみます。ご回答ありがとうございます。うれしいです。

2009/08/24 15:34:17
id:y-kawaz No.2

y-kawaz回答回数1420ベストアンサー獲得回数2252009/08/24 17:10:26ここでベストアンサー

ポイント70pt

scriptタグのcharsetがeucだから云々は全くの間違いですので参考にしないで下さい。

もちろんそのjsファイルとかは全く関係ありませんのでそのサイトに問い合わせとかやめてあげて下さいね。



340行目で起こっている本当のことは、そのサイトのコンテンツテキスト内にCDATAの閉じタグ ]]> が含まれてしまっているのが原因です。

RSSの各アイテムのコンテンツはCDATAで出力されているようですが、CDATAは中身のXMLエスケープをしなくて良いので手軽な反面、CDATA内では ]]> を使うことが出来ないというデメリットがあります。

今回問題になっているのは http://rossa.jugem.cc/?eid=297 のコンテンツ本文の一部にが以下のように ]]> を含んでしまっている為にXMLパースエラーになっているのが原因です。

(前略)
<SCRIPT type=text/javascript> 
// <![CDATA[

	document.write("><div style=¥"float:left;display:block;margin-right:10px;¥">")
	var gfxObj = new gfx("flash/mounterPU.swf", "266", "411","DetailArticle", "#e7e7e7");
	gfxObj.addParam("FlashVars", 
 
"article_id=/fashion/4303320&href=http://img.afpbb.com/flashdata/detail/20090626/4303320.swf");
	gfxObj.write();
	document.write("</div>")
// ]]>  
</SCRIPT> 
(後略)

対応としては、以下が考えられます。

・当該エントリーのソース中からCDATAを削る(「// 」)を消すだけでよいでしょう

・RSSの出力にCDATAを使わないでXMLエスケープを使うようにする

取り急ぎは前者の対応を行えばエラーは出なくなると思います。

今後のことを考えたら ]]> が含まれる可能性はゼロでないので、後者の対応を行ってCDATAは使わないようにした方が良いと思います。

id:rossa

ご回答ありがとうございます。

このBLOGは、AFPのサイトの写真や動画を引用して記事にしているのですが、元サイトのAFPから、自分の使用してるBLOGに飛ぶと

自動的に記事が挿入され、その後、自分が感想などを書くスタイルです。

ご指摘いただいています>当該エントリーのソース中からCDATAを削る

・・・というあたりについては、すでに私がじぶんBLOGに記事を書くときにはシステムとして組み入れられていて

ソースを触る状態にはありません。

ためしに、同じ記事を同じ状態で引用してる別のブロガーの記事をチェックいたしましたが、ちゃんと表示されています。

彼らは、特に、>当該エントリーのソース中からCDATAを削る

ようなことはなく、ちゃんとRSSが機能していると思われます。

やはり、私のみの問題で、AFPには関係ないような気がします。

ご回答ありがとうございました。エラーのでる自分と、同じ条件なのに、エラーが出ない人を

もうすこし、比べて、違うところを探してみます。

2009/08/24 18:55:00
  • id:pahoo
    対処法は y-kawaz さんの回答の通り。
    W3Cのバリデータ http://validator.w3.org/feed/ で調べると、他にも注意箇所があることが分かります。
  • id:rossa
    pahooさま。コメントありがとうございます。
    ご回答いただいた、i4ooon さま。y-kawaz さま。ありがとうございます。

    このblogは、長らくこのスタイルで、AFP NEWSの引用のスタイルをとっていて、ずっと、普通に
    表示されていました。特に何も変わったことを自分が行ったわけでないのに、
    ある日突然。。。といっても、7月最初くらいから。おかしくなりました。最初、
    mixiに日記が反映されないのでおかしいなぁ。。と気づき、rssをチェックしましたら、エラーとのことでした。
    AFP NEWSからの引用部分はソースも触れませんので、きっと何か、私が、わすれてること。とか
    無意識に何か?変わったことをしたのか?・・・・よくわからないです。。。。

    いろいろと、ご心配いただきありがとうございました。
  • id:rossa
    引き続き、回答をお待ちします。よろしくお願いします。
  • id:rossa
    解決しました。私の目がふし穴でした。
    ありがとうございました☆!
    y-kawazさんのおっしゃってることが、わかりました。
    何回もソース見ながら。。。見落としていました。
    助かりました。うれしいです。

    pahooさま。W3Cをにらめっこしました。
    ありがとうございました☆

    みなさま☆ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません