list項目での xsl:if について

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
cojicoji

list項目での xsl:if について

投稿記事 by cojicoji » 2005年5月26日(木) 16:09

cojicojiです。

添付ファイルがあるときだけ、[添付ファイル]という文字を表示したいのですが、うまくいきません。お助けください。

現在のコードは下記のとおりです。

コード: 全て選択

<div class="file">
<xsl:if test="file/text()">
[添付ファイル]
<ul><xsl:for-each select="filelist/listitem">
<li><a href="{file}"><xsl:value-of select="file/@org" /> <xsl:value-of select="round(file/@filesize div 10240) div 100" />MB</a></li></xsl:for-each></ul>
</xsl:if>
</div>

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

Re: list項目での xsl:if について

投稿記事 by webmaster » 2005年5月26日(木) 19:20

 webmasterです。

 そういえば、リスト項目が空だった場合の判定方法をマニュアルに書いており
ませんでした。
 現在手が空いておらず試していないのですが、以下の方法でいけると思います。

コード: 全て選択

<div class="file">
<xsl:if test="count(filelist/listitem)>0">
[添付ファイル]
<ul><xsl:for-each select="filelist/listitem">
<li><a href="{file}"><xsl:value-of select="file/@org" /> <xsl:value-of select="round(file/@filesize div 10240) div 100" />MB</a></li></xsl:for-each></ul>
</xsl:if>
</div>
 if要素のtest属性の中身を

 count(filelist/listitem)>0

 としています。>は>を意味するので、これは
 「filelistのリスト項目のcount(件数)が0より大きければ」という意味になります。

cojicoji

list項目での xsl:if について2

投稿記事 by cojicoji » 2005年5月26日(木) 20:45

cojicojiです。

できましたー。 :lol:

ありがとうございます。

XSLTにはまだまだ謎が多そうです。

またよろしくお願いします。

返信