2003年12月21日(日)更新 |
【ノード集合関数】 position
たけち: 今回は、ノード集合関数のひとつ、position関数について学ぼうね。といっても、last関数の例で使ったんだけどね。 さらら: あっ、そうだったっけ・・・(^ ^; たけち: position関数は、ノードリスト内のコンテキストノードの位置を数値で返してくれるんだ。 さらら: あっ、思い出したわ。last関数とposition関数を使って、一番最後のノードかどうかを調べたんだったわね。 |
たけち: そうだったね。じゃ、まず、position関数は、どう書くのかをつぎに載せておくね。
|
さらら: 引数は無いのね。 たけち: そうだね。さっそく、いつものようにサンプルをみてみよう。ここでは、XMLデータ中の歌のリストを生成するのに使ってみようね。 さらら: はい。 (^ ^* たけち: 次の【manyosyu.xml】を見て。 |
※XMLデータ例: 万葉集第1巻・第2巻抜粋 |
さらら: これまでにサンプルとして使ったXMLデータと同じね。 たけち: このデータを元にして、表示する歌の順、つまりpoem要素ノードの順に、1から番号を付けてみよう。 さらら: ということは、position関数を使って、表示するpoem要素ノードが何番目なのかを知るのね。 たけち: そうだね。じゃあ、これを実現するXSLTスタイルシートの例をみてみよう。 さらら: はい。 (^ ^* たけち: 次の【manyosyu.xsl】を見て。 |
※XSLTスタイルシート例: position関数を使って表示順に番号表示 |
■position()
さらら: <xsl:value-of select="position()" />の個所よね。これで、コンテキストノードpoem要素ノードが、ノードリストで何番目かを求めているのね。 たけち: そうだね。この場合のノードリストはmanyosyu要素の全ての子要素ノードpoemだね。 さらら: えぇ。 |
たけち: じゃあ、このXSLTスタイルシートを"manyosyu.xsl"というファイルにして、実際にどうなるか見てみようね。次のテキストをクリックしてみて。 |
さらら: 分かったわ。 たけち: じゃあ、今回はこれでおしまい。 さらら: はい。ありがと。 (*^ ^*) →つづきます (^ ^; |