第1回 RSSの要約配信はさらに加速するBlogを支えるテクノロジー(4/6 ページ)

» 2005年04月08日 15時33分 公開
[大澤文孝,ITmedia]

RSSを公開するための手順、そして決まりごと

 RSSを公開するには、単純にRSSのアイコンなどを用意し、それに対してRSSファイルへのリンクを張ればよい。

 その一方で、リーダーやFireFoxなど対応ブラウザに対してRSSが存在することを明示的に伝えるという方法もある。それは、「RSS auto-discovery」という方法だ(関連リンク)。RSS auto-discoveryというと難解なイメージが先行するかもしれないが、利用方法はいたって簡単だ。HTML内の<head>タグ要素に、次のような<link>要素としてRSSファイル先を指定しておくだけだ。

<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.example.co.jp/ rss.xml">

 RSS auto-discoveryがどのように使われるのかはクライアント側(リーダーや対応ブラウザ)が利用している環境に依存する。たとえば、FirefoxをRSSリーダー化する「Sage」モジュールをインストールすると、Sageツールバーの虫眼鏡アイコンクリックでそのページに含まれるRSS一覧が表示され、登録完了する(図5)。

図5■SageによるRSSの読み取り

 RSS auto-discoveryに対応していないWebブラウザの場合は単純にRSSのタイプ指定要素タグが無視されるだけであり、<link>要素が存在しても別に害があるわけではない。そこでRSSを公開するのであれば、明示的に含めておいた方が好ましいといえる。

RSSをXSLTで整形し、表示するためには

 RSSはXML形式のファイルなので、Internet ExplorerなどのWebブラウザで参照すると、図6のように、ツリー構造として参照することができる。

図6■Internet ExplorerでRSSを表示したところ

 しかしXSLTを使って変換すれば、もう少し人間が把握しやすい形式になる。たとえば、図6に示したRSSの冒頭に、次のようにXSLTスタイルシートへのリンクを追加するとしよう。

<?xml-stylesheet type="text/xsl" href="https://www.itmedia.co.jp/enterprise/articles/0504/08/rssxslt.xsl" version="1.0"?>

 ここでrssxslt.xslというXSLTファイルは、リスト1のように用意したとする。

リスト1■XLSTファイルの例
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<xsl:template match="/">
<H1>新着情報</H1>
<HR/>
<table border="1">
<tr>
<th>タイトル</th><th>概要</th><th>更新日</th>
</tr>
<xsl:for-each select="rss/channel/item">
<tr>
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="link"/>
</xsl:attribute>
<xsl:value-of select="title"/>
</a>
</td>
<td>
<xsl:value-of select="description"/>
</td>
<td>
<xsl:value-of select="pubDate"/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

 するとXSLTによってHTMLに変換され、見栄えが図7のようになるのだ。

図7■XSLTで整形したRSSの例

 このようにRSSをXSLTで変換することによって、コンテンツの概要をリーダー利用などを必要とせず、ユーザーに見やすい形式で配信することも可能だ。

 たとえばサイトの「最新情報」を表示する場面では、最新情報をHTMLページとして用意するのではなくRSSとして用意しておき、XSLTで変換して表示すれば、「RSSの提供」と「最新情報ページの提供」をまとめてしまうことができるだろう。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ