メモ:content:encoded

はじめに。このことを指摘してくれた方、ありがとうございました。

content:encodedを使ってRSSリーダで本文を全部読めるようにするためには、XMLとRDF的にはRSSのrdf:RDFのところにxmlns:content=”http://purl.org/rss/1.0/modules/content/”と入れておかないといけないらしい。これはcontentモジュールをimportするみたいな感じのやつで、content:encodedがcontentモジュールの配下にある(?)機能であるため、という解釈でいいのかな。XML…なんというか(これ、ここで名前空間を拡張していたのか、と少し驚くところです。何かのおまじないかと思ってた)。

例えばHeadline Readerはxmlns:content=を書かないでcontent:encodedを書くとエラーを吐くらしい。Bloglinesでは書かなくても読めてしまったので気付かなかったが、挙動としてはHeadline Readerが正しいのかもしれない。パースできなくても文句は言えない。

ファイルを変更するときはひととおりのクライアントでチェックしとけよという指摘は偉い(けど思っている以上に面倒)。むしろlibxml2に含まれるxmllintで調べたら、エラーを吐いてくれてましたね。これでエラーが出るか出ないかを調べれば済む話か。

というわけで、直しました。

RSSリーダだけで(サイトを訪れることなく)全文を読まれることに抵抗を感じる書き手もいるかもしれないけど、読み手からすると、時間がないのに読みたいものがたくさんあるという状況で、いちいちそれぞれのサイトを訪れてらんないよというのは切実な問題なのです。そしてdescriptionにはタグを書けないから、どうせならcontent:encodedがあったほうが見栄えがいい。

現状ここは画像を相対パスで書くとBloglinesで見えてくんない(パスが上にずれる)とか、いろいろまだちょっとおかしいところはあるんだけど。

コメントはありません

  1. ひととおりのクライアントでチェックするのは、大変ですよね。
    どうも、無邪気におねがいをしました(^_^;)でも、私はRSSリーダーで
    見るようになってから、そのサイトを訪れることも多いです。感謝です(^.^)—–

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です