今、DBから値をとって、
XMLをXSLを使って表示するサイトを作っています。
データベースは
掲示板のタイトルを格納するBBS
BBSに対するコメントを格納するRES
の2つで
1ページに以下のようなツリー構造のページを作成する
XSLの文法が知りたいです。
【ツリー構造1】
BBS1
--RES1
BBS2
--RES1
--RES2
--RES3
BBS3
--RES1
--RES2
-------------------------------------
BBSが1つしかない以下のようなツリー構造の場合は、
【ツリー構造2】
BBS1
--RES1
--RES2
--RES3
は、以下のようなXSLで実現することが出来ました。
【XSL】
<xsl:template match="root">
<html>
<body>
<xsl:apply-templates select="bbs"/>
<xsl:apply-templates select="res"/>
</body>
</html>
</xsl:template>
<xsl:template match="bbs">
ここでBBS1の情報を表示させる
</xsl:template>
<xsl:template match="res">
ここでBBS1のRESをRES1~3まで表示させる
</xsl:template>
----------------------------------------------
↑の【ツリー構造1】のように出力するXSLが分かりません。
この件について分かる人や、XMLを使った掲示板のサンプルプログラムのサイトを
知っている人がいましたら教えてください。
お願いしますm(_ _)m
XMLを最近使っていないのであまり詳しくはないのですが、参考になれば幸いです。
データベースから取得したXMLはどのような形式なのでしょうか?
BBSとRESが関連付いて入れ子構造であるなら、下記のようなXSLでできます。(階層は1階層限定ですが・・・)
「XML」
<BBS> <NAME>タイトル1</NAME> <RES> <NAME>コメント1</NAME> </RES> </BBS> <BBS> <NAME>タイトル2</NAME> <RES> <NAME>コメント1</NAME> </RES> <RES> <NAME>コメント2</NAME> </RES> </BBS>
「XSL」
<xsl:for-each select="//BBS"> //BBSの情報を出力 <xsl:for-each select="//RES"> //RESの情報を出力 </xsl:for-each> </xsl:for-each>
ツリー構造のXSLについては、下記のサイトが参考になると思います。(パート1~6まであります)
http://japan.internet.com/column/developer/20060214/25.html
基本的なXMLなどの情報は下記がわかりやすいです。
コメント(0件)