XSLT側で絞り込み?

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
mmclt
記事: 5
登録日時: 2010年12月27日(月) 14:00

XSLT側で絞り込み?

投稿記事 by mmclt » 2010年12月27日(月) 14:35

リストアイテム内での日付の絞り込みをしたいのですが、ここのフォーラムを調べてみるとXSL側で絞り込みしないとできないように思い、以下のようにしてみました。
絞り込み自体は成功しました。ですが条件内表示で、htmlタグで指定したものは表示されるのですが<xsl:value-of select="xxxx" />のデータが表示がされません。
これはどうしたらよいのでしょうか?
どなたかよろしくお願い致します。
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entrylist">
<xsl:for-each select="entry">
<li>
<xsl:for-each select="schedule/listitem">
<xsl:if test="floor((open/@day - /*/today/@day))=0">
<h1>普通のタグは表示されます</h1>

<h3><a href="index.php?eid={@id}"><xsl:value-of select="name" />xslが表示されません</a></h3>

</xsl:if></xsl:for-each>
</li>
</xsl:for-each>
</xsl:template>
<xsl:template match="/noentry"></xsl:template>
</xsl:stylesheet>

miya
パワーユーザー
記事: 85
登録日時: 2006年3月25日(土) 09:20
お住まい: 東京都

Re: XSLT側で絞り込み?

投稿記事 by miya » 2010年12月28日(火) 13:20

mmclt さん、こんにちは。
よくわかりませんが、階層の問題じゃないかと。。。
mmclt さんが書きました:<xsl:value-of select="name" />
の部分を

コード: 全て選択

<xsl:value-of select="../name" />
というようにしてみてはいかがでしょうか?

mmclt
記事: 5
登録日時: 2010年12月27日(月) 14:00

Re: XSLT側で絞り込み?

投稿記事 by mmclt » 2010年12月28日(火) 15:01

miyaさん、ありがとうございます。
試してみましたがダメでした。
<xsl:value-of select="name" />の「name」に入っているデータの例えば「山田さん」を表示したいのですが、表示されないのです。

mmclt
記事: 5
登録日時: 2010年12月27日(月) 14:00

Re: XSLT側で絞り込み?

投稿記事 by mmclt » 2010年12月28日(火) 15:54

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="EUC-JP" omit-xml-declaration="yes" />
<xsl:template match="/entrylist">
<xsl:for-each select="entry">
<li>
(↓ここに書いた場合はnameのデータ「山田さん」と表示されます)
<h3><a href="index.php?eid={@id}"><xsl:value-of select="name" /></a></h3>


<xsl:for-each select="schedule/listitem">(←ここの絞り込みした以前では表示され、以降では表示されません)
<xsl:if test="floor((open/@day - /*/today/@day))=0">
<h1>普通のタグは表示されます</h1>
(↓ここに書いた場合はnameのデータ「山田さん」が表示されません)
<h3><a href="index.php?eid={@id}"><xsl:value-of select="name" /></a></h3>


</xsl:if></xsl:for-each>
</li>
</xsl:for-each>
</xsl:template>
<xsl:template match="/noentry"></xsl:template>
</xsl:stylesheet>

miya
パワーユーザー
記事: 85
登録日時: 2006年3月25日(土) 09:20
お住まい: 東京都

Re: XSLT側で絞り込み?

投稿記事 by miya » 2010年12月28日(火) 16:12

2階層上の。。。

コード: 全て選択

<xsl:value-of select="../../name" />
ではどうですか?

少し前に、私も似たようなところでつまづいたので。。。

ダメなら、スキーマファイルもアップしていただけないでしょうか?
テストしてみようかと思います。 :D

mmclt
記事: 5
登録日時: 2010年12月27日(月) 14:00

Re: XSLT側で絞り込み?

投稿記事 by mmclt » 2010年12月28日(火) 17:02

miyaさんありがとうございます。 :D

<h3><a href="index.php?eid={../../@id}"><xsl:value-of select="../../name" /></a></h3>

これで表示できました!!

mmclt
記事: 5
登録日時: 2010年12月27日(月) 14:00

Re: XSLT側で絞り込み?

投稿記事 by mmclt » 2010年12月28日(火) 17:15

miyaさん、本当にありがとうございました。 :D

<xsl:for-each select="schedule/listitem">
ここで、2階層下に入っているという事でしょうか?

miya
パワーユーザー
記事: 85
登録日時: 2006年3月25日(土) 09:20
お住まい: 東京都

Re: XSLT側で絞り込み?

投稿記事 by miya » 2010年12月28日(火) 18:21

おお!おめでとうございます! :D
mmclt さんが書きました:<xsl:for-each select="schedule/listitem">
ここで、2階層下に入っているという事でしょうか?
ですね。

スキーマファイルをInternet Explorerで見ると階層が分かりやすいと思います :)

ohashi
記事: 1
登録日時: 2011年10月04日(火) 20:53
連絡を取る:

Re: XSLT側で絞り込み?

投稿記事 by ohashi » 2011年10月04日(火) 21:10

私も同じ問題で悩んでいました。
ご回答参考になりました。ありがとうございます。
幻のネックレスの輝き

返信