- - PR -
XSLTの処理を教えてください
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-02-13 20:47
はじめまして。
以下のようなXMLデータがあった場合に <data>1</data> <data>3</data> XSLTのほうにて、<data>タグをループして、 dataに1があるかないかで、処理を切り分け 次にdataに2があるかないかで、処理を切り分け 次にdataに3があるかないかで、処理を切り分け・・というようなことをしたいのですが。 data要素の数はわかっております。 xsl:for-eachですとどのように記述していいかわかりません。 宜しくお願いします。 |
|
投稿日時: 2004-02-14 13:01
該当データがあるかないかだけで区別する場合なら
<xsl:if test="data[. = '1']"> 1があるときの処理 </xsl:if> ... のようにできます。 各dataの値で処理を切り分けるのであれば <xsl:for-each select="data"> <xsl:choose> <xsl:when test=". = '1'"> 1のときの処理 </xsl:when> ... </xsl:choose> </xsl:for-each> for-eachを使う必要もないですけど。 |
|
投稿日時: 2004-02-14 18:51
まことさん。説明不足ですいません。
もう少し詳しく書きますと、 処理がA、Bの2種類あるとします。 1.data=1があるので=>data=1に関しては、Aの処理をする 2.data=2がないので=>data=2に関しては、Bの処理をする 3.data=3があるので=>data=3に関しては、Aの処理をする 4.data=4がないので=>data=4に関しては、Bの処理をする 5.data=5がないので=>data=5に関しては、Bの処理をする 以上でdata要素はおしまい。 ここでfor-eachですと、data=1、3については処理を記述できるのですが、 data=2,4,5に関しての処理ができません。 数字の小さい方から、全ての数字に関して処理をしたいのですが。 以上です。上手に説明できないのですが、宜しくお願いいたします。 |
|
投稿日時: 2004-02-14 19:11
井上です。
データが 5 種類に限定されているのであれば、述部フィルタ ([ ] 内) の記述をそれぞれの値に合わせて変えた 5 個のテンプレートを data 要素用に作成しておいて、片っ端から適用するというのはどうです ? _________________ www.kojii.net |
1