xsl:ifの中でxsl:variable

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
oae
記事: 4
登録日時: 2007年10月30日(火) 12:27

xsl:ifの中でxsl:variable

投稿記事 by oae » 2007年12月13日(木) 16:26

条件によって変数の値を変えたいと思っています。

いろいろ試行錯誤した結果、xsl:ifの中ではxsl:variableは機能していないように思います。

これもXSLTの仕様上の問題でしょうか?
ご存知の方がおられましたら教えてください。

宜しくお願いします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: xsl:ifの中でxsl:variable

投稿記事 by webmaster » 2007年12月14日(金) 00:40

 おそらく、xsl:ifの中でxsl:variableを定義し、xsl:ifの外側でそのvariableを参照
しようとされているのだと思います。

 プログラマ的には非常に自然な発想だと思いますが、variableはそれが宣言された
位置と同レベル、又はその下位要素からしか参照することができない為、機能して
いないように見えるのだと思います。

 また、XSLTの仕様上、variableを別の値で上書きすることができません。
 variableという名前にも関わらず、XSLTのvariableはJavaでいうfinal変数の
ように振舞います。

 この点、非常に歯がゆいかと思いますが、これを踏まえた上でロジックを再構成
して頂く必要があるかと思います。m(__)m

 もしよろしければ、アルゴリズムの検討のお手伝いができるかもしれませんので、
ご要望をお知らせ下さい。

oae
記事: 4
登録日時: 2007年10月30日(火) 12:27

投稿記事 by oae » 2007年12月14日(金) 16:51

>おそらく、xsl:ifの中でxsl:variableを定義し、xsl:ifの外側でそのvariableを参照
しようとされているのだと思います。

その通りです。
無理なのですね…。

もう一度考え直してみようと思います。
それでも分からない場合はまた相談させてください。

返信