プロが教えるわが家の防犯対策術!

みなさん、初めまして。

今、XSLTでXMLファイルをJavaファイルに変換するxslファイルを
書いているのですが質問のタイトルの通りタグの有無を判定して処理
を行いたいのですが、どのようにすれば可能でしょうか?

例えば、XMLファイル中に

<work>
<value></value>
</work>
<work>
<value>test</value>
<work>

上記のような内容があった場合にのタグの値の有無で処理を行うには

<xsl:choose>
<xsl:when test="value=''">hogehoge</xsl:when>
<xsl:otherwise>fugafuga</xsl:otherwise>
</xsl:choose>

とすれば可能だと思うのですが(もっと簡単な方法もあるかも
しれませんが・・・)、workタグの中にvalueタグが無かった
場合にAという処理をし、タグがある場合にはBと言う処理を
行うという事をしたいのです。

それではよろしくお願い致します。

A 回答 (1件)

タグの値の有無(空か否か)を判断したいのであれば


<xsl:when test="value=''">hogehoge</xsl:when>
でいいでしょう

タグの有無を判断するなら
<xsl:when test="count(value)=0">hogehoge</xsl:when>
ですね



<value></value>のような空要素と、タグが無いというのは同義語ではないです。どちらを指していたのでしょうか?
    • good
    • 0
この回答へのお礼

ym2です。MetalKingさん、アドバイスありがとうございました。

#<value></value>のような空要素と、タグが無いというのは同義語
#ではないです。どちらを指していたのでしょうか?

私が知りたかったのは「タグがない」という事です。タグ値の有無は
質問の時に書いたと思うのですが出来ていました。
これで一気にXMLファイルの記述の自由度が高くなり本当に感謝し
ています。

お礼日時:2005/02/25 00:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!