→[Opera 9.0 Preview 1 Build 8031]
Opera 9.0 pre 1でrssをXSL変換出来るか試してみた。
XSLTは見よう見まねで書いてるのでよく分かってないんだけど、こんなふうに
<a href="{rss:link}">
<xsl:value-of select="rss:title" />
</a>
{rss:link}のような中カッコを含む記述があるとエラーがでるので、
<a>
<xsl:attribute name="href">
<xsl:value-of select="rss:link"/>
</xsl:attribute>
<xsl:value-of select="rss:title" />
</a>
のように書く必要がある。
件数を表示させる為のこんな記述も出来ない。
<xsl:value-of select="count(rss:item)" />
これはどうしたら良いんだろうなぁ。
それからcontent:encodedのdisable-output-escapingには対応してないご様子。
名前空間宣言xmlns:content="http://purl.org/rss/1.0/modules/content/"
で
<xsl:value-of select="content:encoded" disable-output-escaping="yes" />
としても、content:encodedの![CDATA[ ]]で囲まれた部分はタグごと実体参照されて表示される。これはmozillaでも同じ。現状対応してるのはIEのみか?
なので
<xsl:value-of select="rss:description" />
descriptionのみ出力させておいた方が無難ですね。
それから‥
h1要素にタイトルを入れるのに
<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>
こんなのはOKなんだけど、head内のtitle要素へrss:channel/rss:titleを入れても反映されない。
例えばこんなの
<head>
<title>RSS - <xsl:value-of select="rss:channel/rss:title" /></title>
</head>
んー。
わけわからん。