アプリ版:「スタンプのみでお礼する」機能のリリースについて

RSSを出力するCGIを自作で作ったのですが、
その出来上がったRSS(RDFファイル)を、IEで開くと

セミコロン ( ; ) が必要です。
行: 7 文字: 76
?<channel rdf:about="*ttp://**.******.***/***/index.ms?mode=showvote&voteid=8549924">

などというエラーが出ます。
ちなみに上記の*は、文字数そのまま伏字にしております。
*ttpは、もちろんhttpです。
あるどうやら、全てのエラーは、
URLが記述されたところに発生しているようです・・・
リンク先は、CGIなので、?***=***などは何個も使っています。
もしかして、RSSでは、URLの?、=とかは使ってはいけないんですか?

問題のRSSについては、
ちょっとURLなどがあるので、アップ出来ません
どうしても必要なら、アップさせていただきます。

A 回答 (1件)

http://bakera.jp/ref/html/dataformat/rcdata

>属性値の中で文字参照が解釈されることには注意が必要です。特に href属性の値に & を含む URL をそのまま書くことはできませんので注意してください。たとえば、http://example.jp/foo?bar&baz という URL があったとき、ブラウザのアドレスバーには http://example.jp/foo?bar&baz と打ち込むことになりますが、href属性の値としては href="http://example.jp/foo?bar&amp;baz" あるいは href="http://example.jp/foo?bar&baz" と指定する必要があります。

まあ要するに

&voteid;という実体参照だとXML Parserが思っちゃっている(この解釈が正しい)から
;が足りない文法エラーだと言っているんだね。
    • good
    • 0
この回答へのお礼

ありがとうございました。
その後、いろいろGoogleなどで調べてみたところ
同様のケースが見つかりまして、
結局、セミコロンは関係なくて、
半角の&をそのまま使ったのが悪かったようです。
&にしたら直りました。

ご迷惑をおかけしました。

お礼日時:2008/04/05 00:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!