このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
さて、実際に XSL を試してみよう。
まず変換元の XML 文書を用意する必要がある。
適当に簡単なものを生成してもよいのだが、
ここでは、少しは実用的なものを題材にしてみよう。
ということで、以下の RSS 2.0 をサンプルとして利用する。
http://loafer.jp/mixi/diary/rss.xsp
RSS は、Web サイトの概要を表現した XML 適合文書だ。
RSS を利用すれば、Web サイトの更新情報を、
他の Web サイトから取得して連動させたり、
プログラム的に処理したりすることができる。
まあ、今回は RSS についての説明は割愛するが、
RSS は色々な Web サイトで利用されている。
RSS は XML に基づいた規格なので、
画面のデザインに関する情報を持たず、
そのままでは Web ブラウザで表示することができない。
できたとしても、無骨な XML のツリーが表示されるだけだ。
そこで、XSL を使って HTML に変換し、
Web ブラウザがレイアウトできるようにしてみよう。
RSS 2.0 は、<rss> がルート要素であり、
その下に <channel> 要素が 1 つ含まれる。
<channel> 直下には、<title> や <link>、
<description> などの要素がある。
これらは、RSS 文書の情報である。
また、<channel> 要素の中には、
任意の数の <item> 要素が含まれる。
<item> 要素は、公開されている項目に関する情報である。
更新履歴の場合は、最新変更された項目が含まれる。
<item> 要素も、<title> や <link>、
<description> などの要素を持つ。
これらは、項目に関する情報となる。
今回利用する枠組みを抜き出してみるとこんな感じとなる。
<rss version="2.0">
<channel>
<pubDate>更新日時</pubDate>
<title>タイトル</title>
<link>Web サイトの URL</link>
<copyright>著作権情報</copyright>
<item>
<title>項目タイトル #1</title>
<description>項目の説明 #1</description>
<pubDate>項目の更新日時 #1</pubDate>
<link>項目の URL #1</link>
</item>
<item>
<title>項目タイトル #2</title>
<description>項目の説明 #2</description>
<pubDate>項目の更新日時 #2</pubDate>
<link>項目の URL #2</link>
</item>
</channel>
</rss>
この RSS を以下のような HTML に変換したい。
<html>
<head>
<title>タイトル</title>
</head>
<body>
<h1><a href="Web サイトの URL">タイトル</a></h1>
<p>更新日時</p>
<hr>
<h2><a href="項目の URL #1">項目のタイトル #1</a></h2>
<p>
項目の説明 #1...<br>
(<small>項目の更新日時 #1</small>)
</p>
<hr>
<h2><a href="項目の URL #2">項目のタイトル #2</a></h2>
<p>
項目の説明 #2...<br>
(<small>項目の更新日時 #2</small>)
</p>
<hr>
<address>著作権情報</address>
</body>
</html>
さて、上記の変換を行う XSLT を書いていこう。