マニュアル48ページの、データ値の内容によって出力する内容を変える場合、
複数の条件で制御する事は可能でしょうか?
具体的には、
・photo1とphoto2の項目が二つある
・両方とも空の場合には、別の画像を表示させる
といった具合です。
<xsl:if test="not(photo1='')"> と <xsl:if test="not(photo2='')">
を統合して記述したいということなんですが、このような事は可能でしょう?
データ値の内容によって処理を変える場合[複数の条件の組み合わせ]
Re: データ値の内容によって処理を変える場合[複数の条件の組み合わせ]
kaz575 さん、初めまして。
試してはいませんが、たぶんこれでもいけると思います。
これでもいけそうな気はするんですが、たぶんダメだと思います。
おそらく、これでいけると思います。。。kaz575 さんが書きました:・photo1とphoto2の項目が二つある
・両方とも空の場合には、別の画像を表示させる
コード: 全て選択
<!-- photo1 にデータがある場合 -->
<xsl:if test="not(photo1='')"><img src="photo1" alt="" /></xsl:if>
<!-- photo2 にデータがある場合 -->
<xsl:if test="not(photo2='')"><img src="photo2" alt="" /></xsl:if>
<!-- photo1 と photo2 にデータが無い場合 -->
<xsl:if test="photo1=''">
<xsl:if test="photo2=''">
<img src="photo3" alt="" />
</xsl:if>
</xsl:if>
コード: 全て選択
<xsl:choose>
<!-- photo1 にデータがある場合 -->
<xsl:when test="not(photo1='')">
<img src="photo1" alt="" />
</xsl:when>
<!-- photo2 にデータがある場合 -->
<xsl:when test="not(photo2='')">
<img src="photo2" alt="" />
</xsl:when>
<!-- それ以外 -->
<xsl:otherwise>
<img src="photo3" alt="" />
</xsl:otherwise>
</xsl:choose>
コード: 全て選択
<!-- photo1 と photo2 にデータが無い場合 -->
<xsl:if test="photo1=''&photo2=''">
<img src="photo3" alt="" />
</xsl:if>
Re: データ値の内容によって処理を変える場合[複数の条件の組み合わせ]
miyaさん、アドバイスありがとうございます。
結論として、上手く動きました。ありがとうございます。
1番目のコードで問題なく動きました。
if testを入れ子にすればよかったんですね。なるほど頭の体操になりました。
2番目のコードだと、画像を2枚表示させようとした時、1枚目しか表示してくれませんでした。
ただ、chooseとかwhenとか見たことなかったので、これが動いたらスマートでカッコいいなーと思ったんですが。
これから機会があったら使い方を研究してみたいと思います。
3番目のコードは、エラーでした。
自分でも一昨日同じことを試してお手上げだーと思ったきっかけでした。
大変ありがとうございました。
結論として、上手く動きました。ありがとうございます。
1番目のコードで問題なく動きました。
if testを入れ子にすればよかったんですね。なるほど頭の体操になりました。
2番目のコードだと、画像を2枚表示させようとした時、1枚目しか表示してくれませんでした。
ただ、chooseとかwhenとか見たことなかったので、これが動いたらスマートでカッコいいなーと思ったんですが。
これから機会があったら使い方を研究してみたいと思います。
3番目のコードは、エラーでした。
自分でも一昨日同じことを試してお手上げだーと思ったきっかけでした。
大変ありがとうございました。