条件に合うエントリのみテーブル表示

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
nagashima
パワーユーザー
記事: 44
登録日時: 2007年5月26日(土) 15:52
お住まい: 東京

条件に合うエントリのみテーブル表示

投稿記事 by nagashima » 2007年8月16日(木) 16:27

お世話になります。

エントリ一覧のテーブル表示機能を使用し、
条件に合うエントリのみ表示させることは
可能でしょうか?

例えば下記のように3列表示で写真があるエントリのみ
テーブル表示させる等。

<xsl:template match="/entrylist">

<table cellpadding="0" cellspacing="0" border="0">

<xsl:for-each select="row">
<tr>
<xsl:for-each select="entry">
<xsl:if test="not(photo1='')">
<td><img src="{photo1}" title="{photo1/@alt}" border="0" /></td>
</xsl:if>
</xsl:for-each>
</tr>
</xsl:for-each>

</table>

</xsl:template>

ただこれだと条件に合わないエントリも数に数えられて、
3列表示されずに2列しか表示しなかったりします。

条件に合うエントリのみ3列表示することは可能でしょうか?

写真の高さ等一定でないことを想定し、デザインが崩れないよう
<div>ではなくテーブル表示を使用したいと思っております。

<xsl:variable>等を使用して条件にあうエントリのみ
抽出した変数を使用して、
<xsl:for-each select="entry">
のentryを抽出した変数などに置き換えて
実現させることって可能なんでしょうか?

<xsl:variable>を使用して条件にあうエントリの
抽出の仕方がよくわからないので試すことができないでいます。

すいませんがよろしくお願い致します。

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

Re: 条件に合うエントリのみテーブル表示

投稿記事 by webmaster » 2007年8月17日(金) 21:56

 nagashimaさん、ご質問ありがとうございます。

 ご質問の件ですが、申し訳ありません、テーブル表示機能使用時に、デザイン定義
側で条件に合うデータのみ表示した場合には、仰るような問題が生じるかと思います。
 この件につきましては、設計時の想定外でした。m(__;)m

 現状のところ、良い解決方法を思いつきません。

 もし、先頭○件のみを表示し、残りは表示しなくて良い、という場合には、
デザイン定義側で対応することも可能です。
 その場合には再度ご質問頂ければ幸いです。

 ご希望に沿えず申し訳ありませんでした。

返信