This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: XSL-List Digest V3 #1090


> Date: Wed, 12 Sep 2001 13:55:40 +0200
> From: Bas Alberts <bas.alberts@group2000.nl>
> Subject: RE: [xsl] Getting the latest date

> Since your dates are suitable for lexicographical ordering,
> how about the following (almost literally copied from
> http://www.dpawson.co.uk/xsl/sect2/N6461.html#d194e703):

    <xsl:variable name="maximum">
        <xsl:for-each select="//revision">
            <xsl:sort select="@date" order="descending" />
            <xsl:if test="position() = 1">
                <xsl:value-of select="."/>
            </xsl:if>
        </xsl:for-each>
    </xsl:variable>

This didn't work. Suppose I put the revision elements in arbitrary order:

<revision date="2000-04-20">1.0B</revision>
<revision date="2000-04-21">1.0C</revision>
<revision date="2000-04-19">1.0A</revision>

I want the value "2000-04-21" but the code outputs "1.0B". It seems that no
sorting happens.

Original message:

>
> In a DTD I collect meta information about a document's history, like this:
>
> <revision date="2000-04-19">1.0A</revision>
> <revision date="2000-04-20">1.0B</revision>
> <revision date="2000-04-21">1.0C</revision>
>
> I need a way to pick out the latest date from these. The latest revision
is
> usually put on top of the others, but this may not always be the case. I
> have considered converting the string "2000-04-19" to the number
"20000419"
> and then using the ceiling() function to get the latest date, but I'm
> looking for a less complicated way of doing this.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]