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)。
RSS auto-discoveryに対応していないWebブラウザの場合は単純にRSSのタイプ指定要素タグが無視されるだけであり、<link>要素が存在しても別に害があるわけではない。そこでRSSを公開するのであれば、明示的に含めておいた方が好ましいといえる。
RSSはXML形式のファイルなので、Internet ExplorerなどのWebブラウザで参照すると、図6のように、ツリー構造として参照することができる。
しかし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のようになるのだ。
このようにRSSをXSLTで変換することによって、コンテンツの概要をリーダー利用などを必要とせず、ユーザーに見やすい形式で配信することも可能だ。
たとえばサイトの「最新情報」を表示する場面では、最新情報をHTMLページとして用意するのではなくRSSとして用意しておき、XSLTで変換して表示すれば、「RSSの提供」と「最新情報ページの提供」をまとめてしまうことができるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.