XMLデータをIEで表示(基礎編): XSLTスタイルシート
xsl:value-of で要素の内容を表示

2003年8月10日(日)更新


xsl:value-ofで要素の内容を表示

たけち: 前回は、万葉集第一巻の抜粋を示したXMLサンプルデータ中の、すべての歌の「読み(yomi)」だけを表示させてみたね。今回は、ひととおり全部の要素を表示してみよう。

さらら: わ〜い!! (*^ ^*)

たけち: じゃあ今回のXSLTスタイルシートのサンプルでは何をするのかってことを図に示しておくね。まずは、どんな結果にしたいかを図にするね。

それぞれの歌の原文・読み・意味・イメージを表示

たけち: 上の図にあるように、歌のすべて、つまり、歌番号・原文・作者・読み・意味・イメージのすべてをhtmlのtable形式で表示します。それから次の図で、XSLでどういう風にhtmlを生成するかを示しておくね。htmlのtableのタグは大体知っているよね。

さらら: えぇ。もちろんすべてを覚えているわけじゃないけど、だいたい雰囲気はわかっているつもり。。。 (^ ^; だいたいね。

歌の原文・読み・意味・イメージを表示


■要素内容を取り出す : xsl:value-of

たけち: まず、XSLTスタイルシートをいっぺんに示す前に、それぞれをどのように表示指定するのかを歌の要素ごとに簡単に説明しておこうね。前回のサンプルで使ったけど、XMLドキュメントから要素や属性を取り出すには、xsl:value-of要素を使うんだよ。

さらら: 要素を取り出すためのxsl:value-of要素? ...あっ、XSLTスタイルシートもXMLだもんね。

たけち: 最初のほうで紹介したけどxsl:value-of要素の主な属性、というか簡単な書き方についても一度載せておくね。

value-ofの書き方

たけち: で、XMLデータの各要素、つまり、pno, poet, mkana, yomi, mean要素の内容を取り出すには、xsl:value-of要素のselect属性で指定するんだ。次にすべてについて載せておくね。HTMLのテーブル要素といっしょに書いてあるから注意してね。

<th>歌番号: <xsl:value-of select="pno" /></th>
tableの見出しに"歌番号: xxxxxxxxx"を表示してください。
"xxxxxxxxx"のところに、XMLデータの「poem」の「pno」の内容(数字)が入ります。
<th><xsl:value-of select="poet" />の歌</th>
tableの見出しに"xxxxxの歌"を表示してください。
"xxxx"のところに、XMLデータの「poem」の「poet」の内容(テキスト)が入ります。
<td colspan="2">原文: <xsl:value-of select="mkana" /></td>
tableの行に"原文: xxxxxxxxx"を表示してください。
"xxxxxxxxx"のところに、XMLデータの「poem」の「mkana」の内容(テキスト)が入ります。ちなみに、colspan="2"は、2列分の幅をとることを指定しています。
<td colspan="2">読み: <xsl:value-of select="yomi" /></td>
tableの行に"読み: xxxxxxxxx"を表示してください。
"xxxxxxxxx"のところに、XMLデータの「poem」の「yomi」の内容(テキスト)が入ります。ちなみに、colspan="2"は、2列分の幅をとることを指定しています。
<td>意味: <xsl:value-of select="mean" /></td>
tableの行に"意味: xxxxxxxxx"を表示してください。
"xxxxxxxxx"のところに、XMLデータの「poem」の「mean」の内容(テキスト)が入ります。

さらら: そっかぁ〜。select属性で指定した要素ノードの内容(テキスト)をとってこれるってことなのね。

たけち: そうだね。

さらら: あれっ? image要素ってどうなっちゃったの??

たけち: あっ、ばれた? (^ ^; これについては次回に説明しようね。実際のサンプルもそこで見ようね。

さらら: 引っ張るわねぇ〜。 (^ ^*

→次はxsl:attributeで属性を作るです。。。。。 (^ ^;