
| |
Problème récurrant que le classement des dates.
Désormais il s'agira plutôt d'une solution récurrente...
Le XML | <?xml version="1.0" encoding="UTF-8"?>
<r>
<date>01/01/2000</date>
<date>01/02/2001</date>
</r> |
Le XSLT | <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<r>
<xsl:value-of select="r/date[1]"/>
<xsl:variable name="res">
<xsl:call-template name="CompDate">
<xsl:with-param name="date1" select="r/date[1]"/>
<xsl:with-param name="date2" select="r/date[2]"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="number($res)=1"> est postérieure à </xsl:when>
<xsl:when test="number($res)=-1"> est antérieur à </xsl:when>
<xsl:otherwise> est la même date que </xsl:otherwise>
</xsl:choose>
<xsl:value-of select="r/date[2]"/>
</r>
</xsl:template>
<xsl:template name="CompDate">
<xsl:param name="date1"/>
<xsl:param name="date2"/>
<xsl:variable name="d1" select="number(concat(substring($date1, 7, 4),substring($date1, 4, 2),substring($date1, 1, 2)))"/>
<xsl:variable name="d2" select="number(concat(substring($date2, 7, 4),substring($date2, 4, 2),substring($date2, 1, 2)))"/>
<xsl:choose>
<xsl:when test="$d1>$d2">1</xsl:when>
<xsl:when test="$d1<$d2">-1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet> |
Le Résultat | 01/01/2000 est antérieure à 01/02/2001 |
|
Consultez les autres pages sources


Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2006 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.