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:template match="/">
<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>
<html>
<body>
<xsl:value-of select="$maximum"/>
</body>
</html>
</xsl:template>
Greetings,
bas.alberts@xxxxxxxxxxxx
-----Original Message-----
From: Gustaf Liljegren [mailto:gustaf.liljegren@xxxxxx]
Sent: Wednesday, September 12, 2001 13:46
To: XSL List
Subject: Getting the latest date
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.
Regards,
Gustaf Liljegren
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|