- - PR -
RSSの書き方について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-14 19:16
RSSを作ってまして、ブラウザの右隅にナビゲーション(サイトマップなど)を作りたいのですが、RSSの構造を意識した場合、xmlのどの部分にそのナビゲーションを書くのかが分からず、ご教授願えればと思います。
** rss.xml *********************************** <channel rdf:about="http://test.org/rss/rss.xml"> <title>title</title> <link>http://test.org</link> <description>desc</description> <dc:date>2006-01-11</dc:date> <dc:creator>creator</dc:creator> <items> <rdf:Seq> <rdf:li rdf:resource='../test.html'/> <rdf:li rdf:resource='../test2.html'/> </rdf:Seq> </items> </channel> <item rdf:about='http://test.org/test.html'> <title>test1_title</title> <link>../test.html</link> <dc:subject>test1_subject</dc:subject> <description>test1_desc</description> </item> <item rdf:about='http://test.org/test2.html'> <title>test2_title</title> <link>../test2.html</link> <dc:subject>test2_subject</dc:subject> <description>test2_desc</description> </item> ** rss.xsl ************************************************: <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"/></title> </head> <body> <h1><a href="{rss:channel/rss:link}"><xsl:value-of select="rss:channel/rss:title"/></a></h1> <p class="lead"><xsl:value-of select="rss:channel/rss:description"/></p> <xsl:apply-templates select="rss:item"/> </body> </html> </xsl:template> <xsl:template match="rss:item"> <h2><a href="{rss:link}"><xsl:value-of select="rss:title"/></a></h2><p class="desc"><xsl:value-of select="rss:description"/></p> </xsl:template> </xsl:stylesheet> というように、rss.xmlに対してrss.xslを適用してます。 もしxmlのほうにナビゲーションが追加できていれば、あとはxsltでクラスを定義してCSSで位置を右上に表示させるだけなのですが、RSSの構造を考えた場合にrss.xmlのどこにナビゲーションを書けばいいのでしょうか? (<span class="navi">sitemap</span>とxsltで整形できるのが望ましいです。) RSSの要素もimage、item、textinputしかないと思いますので、その場合新たに名前空間を使って独自に定義するものなのでしょうか? 分かりづらい説明で申し訳ないのですが、ご教授のほど宜しくお願いします。 |
|
投稿日時: 2006-01-17 14:32
すいません。自己解決しました。
方法としては、読み込まれているxslに、includeによって別のxslファイルを呼び込むみ、そのxslファイルからcall-tamplateでナビゲーション部を持ってくることで、考えていたようにできました。 ご迷惑おかけしました。 |
1