ウン年前にPHPでRSS Readerを作ったことを思い出した。 当時はWebサービスで、今度はiOSアプリケーションにでもしてやろうと思う。
これにあたって、RSSの仕様書をちゃんと読んでみようと考えた。 RSSは諸々分岐していることをWikipediaから知り、RSS 2.0 -> 0.92 -> 0.91 と元にしているバージョンが連なっているようだった。
RSSはXML1.0 で記述されているとのこと。 アプリケーション内で表現するにあたって、まずは構造を把握しようと試みた。 文字列の長さに関する規定などが個別にあるようだが、それらは一旦後回しとした。
RSS 0.91 の構造を手元に書き写した
- rootに
<rss>
を持つ <rss>
は単一の要素<channel>
を持つ<channel>
の必須要素<title>
<link>
<description>
<language>
<image>
<channel>
のオプショナル要素<copyright>
<managingEditor>
<webMaster>
<rating>
<pubDate>
<lastBuildDate>
<docs>
<textInput>
<skipDays>
<skipHours>
<image>
は以下の必須要素を持つ<url>
<title>
<link>
<image>
は以下のオプショナル要素を持つ<width>
<height>
<description>
<channel>
は複数の<item>
を持つ<item>
は以下の要素を持つ<title>
<link>
<description>