入門RSS(ISBN4-8399-1649-7)の1章を読んだ

今日はファイルの転送仕事で待ちが多いので、待ち時間を勉強に充てたい。
「1章RSSとは何か」から読み進める。さくっと1章ぐらい読みたい。

1.1 RSSとBlog (P12-)

読んだ。わりと導入的。

1.2 RSSXML (P16-)

XMLって何?について書かれてた。
article、title、link、summary、updateなどのタグはXMLの説明用?それともRSSでの基本的なタグなの?
そこが知りたかったが、ここではXMLの説明に終始しているのでわからなかった。ま、そりゃそうだ。次を読もう。

1.3 RSSRDF (P22-)

本節は興味深い。RSSRDFってどうちがうの?というこれまであった疑問に答えてくれた。
RDFに基づいてRSSフォーマットが作られたが、バージョンによってその限りではないとのこと。ほほう。
RDFの基本となる(らしい)3組モデル(1.7節のやつだな)について書かれていた。
"リソース"→"プロパティ"→"値"っとメモメモ。
こっそり著者のウェブページ新納浩幸のホームページが紹介されてたのでそれもメモ。

1.4 RSSのバージョン (P26-)

なにー。RSSのバージョンによってRSSの意味が違うのか。
RSS0.9 は RDF Site Summary
RSS0.91 は Ritch Site Summary
RSS1.0RDF Site Summary
RSS2.0Really Simple Syndication
RSS0.9→拡張→RSS1.0
 └descriptionなどの追加。RDFとの剥離→RSS0.91→RSS0.92→RSS2.0
ほうほう。経緯は分かった。RDFに準拠したRSS1.0と非準拠のRSS2.0があるのね。
日本では神崎正英(FOAF)さんによるRSS(RDF Site Summary)によるサイト情報の要約と公開
によりRSSが普及したため、RSS1.0が主流とのこと。
感想:僕はルールに従順な日本人だし、やっぱRSS1.0を選びたいと思った。

1.5 RSS1.0のフォーマット1 XML宣言とchannel、item要素 (P30-)

ぱぱっと要点だけを箇条書き

  • 要素にchannel、image、textinput、itemがある。
  • image(チャンネルロゴなどを記述)、textinput(検索用フォーム等)はほとんど使われていない。
  • RSSフィードUnicodeで書く(UTF-8が一般的)
  • <?xml version="1.0 encoding="utf-8" ?>で最初にxml宣言する。
  • channel要素の子要素にはtitle、link、description、itemsがある。
  • titleはサイトタイトル
  • linkはURI(URL+URNだけどURNは謎なのでURI≒URL)
  • descriptionはサイトの概要
  • itemsには各記事のURIrdf:Seqタグでリストにして記述する。
  • item要素にはchannel要素に記述したitems要素の詳細を記述する。
  • item要素の子要素にはtitle、link、descriptionがある。

このへんはRSS(RDF Site Summary)によるサイト情報の要約と公開を見ると分かりやすい。

1.6 RSS1.0のフォーマット2 モジュールによる拡張 (P36-)

RSS1.0ではモジュールという仕組みを使って、公開情報の種類を拡張できる。
拡張はrdf:RDFタグの要素に名前空間を記述すればOK。
一般的には"Dublin Core"、"Syndication"の2つのモジュールが有名
他のモジュールについても名前空間の定義例だけ紹介してあった。
拡張する場合の記述例

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ... RDF名前空間
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" ... Syndicationモジュールの名前空間
xmlns:dc="http://purl.org/dc/elements/1.1" ... Dublin Coreモジュールの名前空間
xmlns="http://purl/org/rss/1.0/"> ... デフォルトの名前空間
 (中略)
</rdf:RDF>

Dublin Coreモジュール

Dublin Coreモジュールで良く使われる要素はこのへんだってさ。

要素 記述内容
date 時刻。フォーマットはW3CDTFの時刻表記。YYYY-MM-DDThh:mm:ss+TZ
creator 文書の作成者など
publisher 記事を提供している母体
subject 記事のサブジェクト
rights 権利情報
language 利用言語。日本語はja

普段使われないその他の要素についても書いてあった。使われないだけのことはある感じ。
追記:神崎さんの資料がもの凄い良い感じ。ステキ過ぎる。勉強対象が発散している印象もあるなー。
Dublin Core(ダブリン・コア): 書誌情報メタデータの共通語彙
 

Syndicationモジュール

RSSフィードのupdateに関するもので3要素あるみたい。使い方がわからねー。続きをよむしかないね。これ。

要素 記述内容
updatePeriod 更新の頻度。値はhourly,daily,weekly,monthly,yearlyのいずれか。省略時はdaily
updateFrequency 更新の頻度。updatePeriodの間に何度更新するか。
updateBase 起点の日と時間。W3CDTFの時刻表記

1.7 RSS1.0のフォーマット3 3組モデルによる表現 (P40-)

3組モデル"リソース"、"プロパティ"、"値"による表現を図解してあった。ちょっと複雑でわかりにくい。
パエリア爆発とかちゃんと笑いがとってあることに今頃気付く。

1.8 RSSフォーマットの他のバージョンとの比較 (P42-)

RSS1.0とRSS0.91、RSS2.0の比較があった、
情報量だとRSS1.0+DC拡張≒RSS2.0>RSS0.91>RSS1.0という感じ。
RDF準拠のRSS1.0だとitems要素でリストがあって、後でitem要素で補足する感じだが
RDF非準拠のRSS0.9x、RSS2.0ではitems要素がなくいきなりitem要素が書いてある感じ。

よし一章終わった!あんまり書きすぎると著作権的にもやばそうだし、スピードが落ちるね。