
| |
Problème récurrent 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és sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2006
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|