« RSDFinderの実装 | メイン | どう? »
2006年04月27日
RSDとは?
さて、前ページで「マジックな機能」として紹介したのが、「使えるAPIを自動判定する!」という強烈な機能だ。ただし、これはちょっと調査してみたが、ブログだからと言って「必ずある!」というものではない。まだまだ普及の途中のようだが、実に良い機能なので、ぜひぜひ紹介したい。
MovableType のインデックス・テンプレートの中に、「Atomフィード」や「RSS 1.0」などと並んで「RSD」というテンプレートがあるのは御存じか? これがマジックの根源である。このファイルはブログのトップページに atom.xml とか index.rdf なんかとどう様に作られる。中身はたとえばこんな感じだ。
<?xml version="1.0" ?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
<service>
<engineName>Movable Type 3.171-ja</engineName>
<engineLink>http://www.movabletype.org/</engineLink>
<homePageLink>http://www.nurs.or.jp/‾sug/blog/</homePageLink>
<apis>
<api name="MetaWeblog" preferred="true"
apiLink="http://www.nurs.or.jp/‾sug/mt/mt-xmlrpc.cgi" blogID="1" />
<api name="Blogger" preferred="false"
apiLink="http://www.nurs.or.jp/‾sug/mt/mt-xmlrpc.cgi" blogID="1" />
</apis>
</service>
</rsd>
これが「このブログが受け入れ可能なXML-RPC API」を示していてくれているのである。これを見ると、
- XML-RPC を受け付けるURLは...
- apiLink って属性の「http://www.nurs.or.jp/‾sug/mt/mt-xmlrpc.cgi」だ!
- ブログIDは?
- blogID 属性 で「1」だ!
- で、APIは?
- 「MetaWeblog」と「Blogger」の両方がOKだ。ただし、「preferred="true"」とあるのは、「MetaWeblog」だから、こっちがオススメだ。
という具合に、「欲しかった情報」がぜーんぶ手に入る。勿論「MovableType API」が使えるかどうか、は「engineName」を見て「ホントに MovableType ?」を確認すればいい。
とはいえ...この rsd.xml は MovableType でこそ実装されている機能だが、他のブログでの普及はまだまだのようだ。だから「必ず使える!」というような代物ではない。「あったらラッキー!」くらいに捉えるのが現実的なようだ。しかし、今見たように「大変良い」機能である。だから、フライングしてこの機能を使っちゃおう。
で、更に、ブログのトップページには、
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.nurs.or.jp/‾sug/blog/rsd.xml" />
のように RSS なんかと同様に埋め込まれる。だから、HTMLのページから rsd.xml を拾い出すことも出来てしまう。ここらへんの実装も考慮して、この RSD を扱うクラスを書いたわけである。
投稿者 sug : 2006年04月27日 22:27