« うわっ | トップページ | RSS 2.0 の feed を開始しました »
2004.06.09
index.rdf 用 XSLT 設置
もっと早い時期に実行しようと思ってやっていなかった、ココログの標準的な RSS 1.0 用の XSLT ファイルを、 今頃になって作成、設置してみました。
これで
をクリックしたとき、XSLT対応ブラウザの場合、html 変換された結果が表示されるようになります。
参考までにソースを示しておきます。ココログプロで使う場合は、新しいインデックステンプレートを作成し、 下記のソースを貼り付けてください。ファイル名は rss.xsl 辺りが無難かな。
その後、RSS 1.0 のテンプレート(RSS Template)の2行目に
<?xml-stylesheet href="<$MTBlogURL$>rss.xsl" type="text/xsl" media="screen"?>
という行を追加すれば OK。
以下、ソースです。
(2004年6月10日追記: fumikaさんの指摘により、Mozilla や Firefox で parsing error になることが判明。error にならないよう対処しました。以下のソースは修正済みです[さらに再修正しました。Internet Explorer 6.0 と Firefox 0.8 で動作確認済み])
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rss="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<xsl:template match="/">
<xsl:apply-templates select="rdf:RDF"/>
</xsl:template>
<xsl:template match="rdf:RDF">
<html xml:lang="ja" lang="ja">
<head>
<title><xsl:value-of select="rss:channel/rss:title"/>
-- headline via RSS/RDF</title>
<style type="text/css">
ul {margin-left:1.5em}
li {margin-bottom:0.5em; list-style-type : square;}
hr {color: #aaa; height: 3px; }
.headDescription { margin-top: 0px; margin-bottom: 0px; }
.headAuthor { margin-top: 0px; margin-bottom: 0px;
text-align: right;}
.footer { margin-top: 0px; margin-bottom: 0px;
font-size: x-small; font-weight: bold; }
.author { font-style: italic; }
</style>
</head>
<body>
<h1>
<a>
<xsl:attribute name="href">
<xsl:value-of select="rss:channel/rss:link" />
</xsl:attribute>
<xsl:value-of select="rss:channel/rss:title"/>
</a>
</h1>
<p class="headDescription">
<xsl:value-of select="rss:channel/rss:description"/></p>
<p class="headAuthor">by <span class="author">
<xsl:value-of select="rss:channel/dc:creator"/></span></p>
<hr/>
<ul><xsl:apply-templates select="rss:item"/></ul>
<hr/>
<p class="footer">
[
RSS/RDF of
<a>
<xsl:attribute name="href">
<xsl:value-of select="rss:channel/rss:link" />
</xsl:attribute>
<xsl:value-of select="rss:channel/rss:title"/>
</a>
generated by `<a href="http://www.cocolog-nifty.com/">ココログ</a>'.
]
</p>
</body>
</html>
</xsl:template>
<xsl:template match="rss:item">
<li>
<a>
<xsl:attribute name="href">
<xsl:value-of select="rss:link" />
</xsl:attribute>
<xsl:value-of select="rss:title"/>
</a> (<xsl:value-of select="dc:date"/>)<br/><xsl:value-of select="rss:description"/></li>
</xsl:template>
</xsl:stylesheet>
そのうち、Atom 0.3 用の XSLT ファイルも用意する予定です。
投稿者: tsupo 2004.06.09 午後 05:59
| 固定リンク
|
|
| ![]()
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: index.rdf 用 XSLT 設置:
» RSS 0.9x,1.0,2.0,Atom 0.3すべてに対応したXSLT from HepCat Dev and Test
観測気球さんの所で、 index.rdf 用 XSLT 設置 というエントリーがありました。 ああぁこういう使い方もされているんだと、納得。 公開しても誰も使... 続きを読む
» ココログはindex.rdf用のXSLTを標準装備すべき from データバックアップメモ - extended -
観測気球: index.rdf 用 XSLT 設置で紹介されていたindex.rdf 用 XSLTの設置について。 このサイトと連携する (RSS 1.0) を... 続きを読む
» 観測気球: index.rdf 用 XSLT 設置 from 此処録ANNEX:ココログTIPS
観測気球: index.rdf 用 XSLT 設置 続きを読む
» XSLT設置しました。 from アルカディア空間鉄道 / Arcadia AIR Railway
一応ココログ、ムーバブルタイプ用ですが、myu-s 2.09b でも普通に使えてますよXSLTを設置しようかと思っていたら、観測気球さんが丁度使えそうなのを作ら... 続きを読む
» RSS用のXSLT from けにあメモ
RS... 続きを読む
» 「観測気球」のRSS/Atomフィードを一本化しました from 観測気球
今まで、RSS 1.0、RSS 2.0、Atom 0.3、Atom 1.0 の各形式で当ブログの更新情報を配信してきましたが、RSS 1.0 を概要のみの配信から概要 全文の配信に変更し、RSS 2.0、Atom 0.3 による配信を RSS 1.0 の配信に(リダイレクトすることで)一本化しました。... 続きを読む
コメント
残念ながらMozillaではエラーとなってしまいます。
「スタイルシートの読み込みエラー: XSLT スタイルシートのパースに失敗しました。」
Mozilla は 1.7RC2 です。どこがいけないのでしょうかね。
投稿者: fumika (2004.06.10 午前 09:35)
いま、Firefox 0.8 をインストールして試してみましたが、確かに “Error loading stylesheet: Parsing an XSLT stylesheet failed.”になりますね。どこがいけないんでしょう?
RSS 2.0 の方は問題なく parse できて、期待通りの表示ができています。基本的には、RSS 1.0 の方も 2.0 の方も同じようなことをやってるだけなんですが。
ちょっと調べてみます。
投稿者: tsupo (2004.06.10 午前 10:30)
> exclude-result-prefixes="rdf rss dc"
を消したら parsing error は消えますが、今度は index.rdf をワードパッドで開こうとしますね。error が出るよりはましですが……
Internet Explorer では
> exclude-result-prefixes="rdf rss dc"
はあってもなくても、期待通りの表示ができていますので、消す方向で修正したいと思います。
投稿者: tsupo (2004.06.10 午前 10:44)
rss.xsl を修正したものに入れ替えました。これで、Mozilla でも error は出なくなったと思います。
ついでに、Atom 0.3 用の XSLT も設置しました。
Firefox にて error が出ないことを確認済みです。
投稿者: tsupo (2004.06.10 午前 11:35)
素早い対応有り難うございます。RSS 2.0 とATOM 0.3 は表示されました。相変わらず RSS 1.0 はダメみたいです。Firefox 0.9 RC でも同様でした。
投稿者: fumika (2004.06.10 午前 11:43)
RSS 1.0 の XSLT の件ですが。全く同じ内容の XSLT を Movable Type 2.661 に設置したときは、error が出ません。なぜか、ココログだと error になりますね(Firefox 0.8)。
どうすればいいんだろう?
投稿者: tsupo (2004.06.10 午後 12:36)
やっとわかりました。
> xmlns:xsl="http://www.w3.org/TR/WD-xsl"
を
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
に変更したら、parsing error は出なくなりました。ちゃんと期待通り表示されます。Movable Type の方で動きが違ったのは、どうも .rdf に対するサーバ側の MIME-TYPE の設定の問題のようです。
投稿者: tsupo (2004.06.10 午後 01:18)



