RSSに付いての覚え書き Ver.1.0形式
RSSのバージョン
0.9、1.0、2.0、の3種類が主流。最近ではAtom 1.0と言うのが登場し、Gogle mailなどで使われており、どれが標準に成るか不明な点が多い。
日本では1.0と2.0が共に多く使われている。
2.0は1.0の後継ではなく、0.9の後継でページによっては1.0と2.0を同時に公開しているページもある。
入力の形式
1.0は特に別ファイルに書き出す。書式はUTF-8(ユニコード形式)
<?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet href="/hoge/rssxsl" type="text/xsl" media="screen"?> <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> <channel rdf:about="http://hogehoge.co.jp/rss"> <title>ホームページタイトル</title> <link>http://hogehoge.co.jp/</link> <description>ページタイトル</description> <image rdf:resource="http://hogehoge.co.jp/images/rogo.gif"/> <dc:creator>制作者</dc:creator> <items> <rdf:Seq> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0009"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0008"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0007"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0006"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0005"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0004"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0003"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0002"/> <rdf:li rdf:resource="http://hogehoge.co.jp/news/0001"/> </rdf:Seq> </items> </channel> <item rdf:about="http://hogehoge.co.jp/news/0009"> <title>9番目のアイテム</title> <link>http://hogehoge.co.jp/news/0009</link> <description>9番目のアイテムの内容</description> <dc:creator>制作者</dc:creator> <dc:date>2006-04-08T10:15:38+09:00</dc:date> <dc:subject>科目B</dc:subject> </item> <item rdf:about="http://hogehoge.co.jp/news/0008"> <title>8番目のアイテム</title> <link>http://hogehoge.co.jp/news/0008</link> <description>8番目のアイテムの内容</description> <dc:creator>制作者</dc:creator> <dc:date>2006-04-08T10:22:35+09:00</dc:date> <dc:subject>科目A</dc:subject> </item> <item rdf:about="http://hogehoge.co.jp/news/0007"> <title>7番目のアイテム</title> <link>http://hogehoge.co.jp/news/0007</link> <description>7番目のアイテムの内容</description> <dc:creator>制作者</dc:creator> <dc:date>2006-04-06T11:28:55+09:00</dc:date> <dc:subject>科目A</dc:subject> </item> (( 中 略 )) <item rdf:about="http://hogehoge.co.jp/news/0001"> <title>1番目のアイテム</title> <link>http://hogehoge.co.jp/news/0001</link> <description>1番目のアイテムの内容</description> <dc:creator>制作者名</dc:creator> <dc:date>2006-03-26T16:06:52+09:00</dc:date> <dc:subject>科目B</dc:subject> </item> </rdf:RDF> ※表記中「〜番目」とは、新しい記事ほど記事番号が大きいと言う認識です。
おおよそ、2部分に分割して考えることが出来る。それぞれチャンネル要素とアイテム要素、先頭部分(チャンネル部)に目次が表示され後半部分(アイテム部)には、それぞれのサマリーが入る事になっている。
なお、チャンネル要素のtitle部は40バイト以内、descriptionは500バイト以内に納めること、各アイテムのtitle部は100バイト以内、description部分は500バイト以内でまとめられていることが望まれる。
また、保存される拡張子は「.rdf」が望ましいとされて次点で「.xml」が推奨。
また、XHTML内では幾つかの特殊文字が特別な利用をされているため、エンティティされたコードによって記述しなければならないものがある。
文字 | XMLエンティティ |
---|---|
& | & |
< | < |
> | > |
' | ' |
" | " |
もう少し突っ込んだ説明
上記ソースをもう少し簡単にモデル化すると以下のようになります。
channel
title
チャンネル(サマリー対象)のタイトル。できれば40バイト以内(必須)link
RSSでサマリー対象とするサイトのURI。ホームページや新着ページのURIが一般的だが、特定のページやセクションのサマリーをチャンネルとする場合はそのURI(必須)description
チャンネル(サマリー対象)の内容、機能、ソースなどの概要説明。できれば500バイト以内(必須)items
channelに続くitem要素で記述するリソースの目次に相当。リソースのURIをrdf:li要素のrdf:resource属性で示し、これらをitem要素と対応させる(必須)rdf:Seq
rdf:li
必要に応じてrdf:RDF直下のitemと同じ分だけ表示
但し、0.9との互換性を保つため15個以上は推奨されない。さらにオプションとして、image要素(チャンネルのロゴなどがある場合に記述。イメージのURIをrdf:resource属性で示し、さらに具体的内容をrdf:RDF直下のimage要素に記述する)や、textinput要素(チャンネルと共に検索用のフォームなどを送る場合に使う。古いRSSとの互換性のために残されている)があるが利用の頻度は低い
item
チャンネル部のrdf:liで指定した数だけ続ける。
0.9との互換性を保つため15個以上は推奨されない。title
リソースのタイトル(ニュースヘッドラインなら見出し)。できれば100バイト以内(必須)description
リソースの要約、概要説明など。できれば500バイト以内(仕様上オプション扱いだが、基本的にRSSリーダはここを読み取る事が多いのでDe Factoの必須要項である)