2003年12月14日(日)更新 |
【ノード集合関数】 last
たけち: 今回は、ノード集合関数のひとつ、last関数について学ぼうね。 さらら: はい。 (^ ^* たけち: last関数は、カレントノードリストのサイズ、つまり何個のノードがあるかを、数値で返してくれるんだ。。 さらら: ふぅ〜ん。 |
たけち: last関数は、テンプレートでノードセット中の(文書順で)最後のノードについて特別な処理をしたいときなどに使うんだ。 さらら: あっ、そっか。 たけち: じゃ、まず、last関数は、どう書くのかをつぎに載せておくね。
|
さらら: カレントノードリストのサイズを求めるから、引数は無いのね。 たけち: そうなんだね。じゃ、いつものようにサンプルをみてみよう。ここでは、XMLデータ中の歌のリストを生成するのに使ってみようね。 さらら: はい。 (^ ^* たけち: 次の【manyosyu.xml】を見て。 |
【manyosyu.xml】 |
---|
<?xml version="1.0" encoding="Shift_JIS" ?> |
さらら: これまでにサンプルとして使ったXMLデータと同じね。 たけち: これを、これまでと同じように表示するのに加えて、先頭に「歌番号」を","(カンマ)で区切って表示しよう。それから、紹介する歌の数として、poem要素ノードの数を利用してみよう。 さらら: はい。つまり、カレントノードリストの最後のノードかどうかで、","(カンマ)を表示するかしないかを決めるのね。。。それと、歌の数を表示するのにもlast関数を使うわけね。 たけち: そうだね。じゃあ、これを実現するXSLTスタイルシートの例をみてみよう。 さらら: はい。 (^ ^* たけち: 次の【manyosyu.xsl】を見て。 |
XSLTスタイルシート: last関数の使用例 |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
■last()
さらら: 二ヶ所でlast関数を使っているのね。 たけち: mode="list"が指定されているテンプレートで、歌番号のリストと、歌の数、ここでは「5首を紹介します。」という文字列を生成しているよね。 さらら: あっ、最後のpoem要素ノードかどうかを判断するのと、poem要素ノードの数を知るのにlast関数を使っているのね。それにしても、xsl:chooseって久しぶりに見たわ。 たけち: じゃあ、このXSLTスタイルシートを"manyosyu.xsl"というファイルにして、実際にどうなるか見てみようね。次のテキストをクリックしてみて。 |
さらら: うんうん。last関数は分かりやすかったわ。 たけち: じゃあ、今回はこれでおしまい。 さらら: はい。ありがと。 (*^ ^*) →つづきます (^ ^; |