- PR -

XSLTで最大値を求めるには?

1
投稿者投稿内容
kunyami
会議室デビュー日: 2002/10/14
投稿数: 7
投稿日時: 2002-11-01 18:14
はじめまして、くにゃみです。
XSLTで最大値を求めるのにどのようにしたらいいかわからずにいます。

<root>
<row>
<col>1</col>
</row>
<row>
<col>3</col>
</row>
<row>
<col>2</col>
</row>
</root>

のようなXML文書から最大の3という値を導き出したいのです。
純粋なXSLTでやるにはどうしたらいいのでしょうか?
どうぞよろしくお願いします。
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-11-01 18:23
井上です。
こんな感じでどうでしょう。

<xsl:for-each select="root/row">
<xsl:sort select="col"/>
<xsl:value-of select="col[last()]" />
</xsl:for-each>

昇順ソートして、最後のものだけを表示させるわけです。
_________________
www.kojii.net
kunyami
会議室デビュー日: 2002/10/14
投稿数: 7
投稿日時: 2002-11-01 19:00
井上さん、回答ありがとうございます。
提示いただいたものだと、
123
と表示されてしまいます。
やっていることが違うのでしょうか?
井上孝司
ぬし
会議室デビュー日: 2001/09/08
投稿数: 668
お住まい・勤務地: 東京都
投稿日時: 2002-11-01 19:10
すみません、おおぼけしてました。

<xsl:template match="/">
<xsl:for-each select="root/row">
<xsl:sort select="col" order="descending" />
<xsl:if test="position()=1">
<xsl:value-of select="col" />
</xsl:if>
</xsl:for-each>
</xsl:template>

逆順ソートで先頭レコードの時だけ表示、でした。
自著で書いたネタなのに忘れてた...
kunyami
会議室デビュー日: 2002/10/14
投稿数: 7
投稿日時: 2002-11-01 19:19
井上さん、すばらしい!!
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)