2004年01月04日(日)更新 |
■算術演算子
たけち: さて今回は、歌番号が奇数の歌を表示してみようと思うんだ。 さらら: へぇ〜。そんなことできるの? でも、奇数かどうかを調べるって、まさか1か3か5か7かって調べるんじゃないでしょ (^ ^; |
たけち: もちろん、そんなことしてられないよね。式には次のような算術演算子が書けるんだよ。 さらら: さっ、算術演算子・・・・ (^ ^; たけち: あっ、算術演算子っていっても次に載せるようなものだよ。
さらら: あら、これだけなの。もっと難しいのかと思ってドキドキして損しちゃった... (^ ^* でも、歌の番号が奇数かどうかってどうやって調べるのかしら? たけち: 何かを判断する時ってなにを使ったかな? さらら: え〜っと。。。あっ、そうだ。xsl:ifとかxsl:choose - xsl:whenとかだったわね。? |
■xsl:if test="歌番号が奇数"
たけち: そうだね。ここではxsl:ifを使って考えてみようね。次にそこのところだけを書いてみるけど、どう?
さらら: えっ〜と・・・・歌番号を2で割ったあまりが1だったら奇数って考えるのね、そうでしょ。 たけち: そうそう。これの代わりに、次のように書いてもいいんだよ。
さらら: う〜ん・・・・ !=ってなぁに? たけち: !=は、NOT Equal(等しくない)っていう意味なんだ。だから、歌番号を2で割ったあまりが0と等しくなかったら奇数って考えているんだよね。 さらら: そっか〜。。。ねぇ、もっと具体的にサンプルで見せて欲しいわ.....(^ ^* |
■xsl:if test="歌番号が奇数"
たけち: じゃぁ、具体的に説明するから、次にXMLデータのサンプルとXSLTスタイルシートを載せるね。今回のXMLデータでは、pno(歌番号)をpoemの属性にしてあるからね。 |
xmlデータ 【mod.xml】 |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
XSLTスタイルシート 【mod.xsl】 |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
さらら: @pnoってところでpnoという属性を見ているのよね?! たけち: そうだね。xslスタイルシートの<xsl:if test="(@pno mod 2) = 1">の@pnoは、poemの属性pnoの内容を示しているんだ。詳しくは、XSLとXPathの関係を参考にしてね。 |
たけち: じゃあ、このXSLテキストを"mod.xsl"というファイルにして、実際にどうなるか見てみようね。次のテキストをクリックしてみて。 |
さらら: ねぇ。数の扱いって他には無いの? たけち: うん。それが意外にあるんだよね。それについては、関数のところで勉強しようね。 さらら: はい。 (^ ^*) →次回はmode属性を使った例: 簡単な目録を表示するです。。(^ ^; |