[XPATH] fonctions min, max sur des nombres ?

fonctions min, max sur des nombres ? [XPATH] - XML/XSL - Programmation

Marsh Posté le 22-11-2004 à 16:30:04    

Pour une fois, c'est pas dans la catégorie Java que je post ;)
 
Je fais du XSLT là et je suis emmerdé pour un truc : je n'ai pas trouvé de moyen simple pour faire un bête min(nb1,nb2).
 
en gros, ce que je voudrais ce serait ca (mais ca ne semble pas exister) :

Code :
  1. <xsl:variable name="min" select="min(1,2)" />


 
et le plus simple que j'ai trouvé c'est ca :  

Code :
  1. <xsl:variable name="min">
  2.      <xsl:variable name="op1" select="1">
  3.      <xsl:variable name="op2" select="2">
  4.      <xsl:choose>
  5.       <xsl:when test="$op1 &lt; $op2"><xsl:value-of select="$op1" /></xsl:when>
  6.       <xsl:otherwise><xsl:value-of select="$op2" /></xsl:otherwise>
  7.      </xsl:choose>
  8. </xsl:variable>


 
j'utilise xalan qui implémente les extensions XSLT (http://www.exslt.org) qui contiennent bien une fonction max, mais elle ne fonctionne que sur une NodeList, comme celle prévu pour le XPATH2.0 ...
 
Quelqu'un peut confirmer (ou infirmer ;)) que y a pas de moyen plus simple ?


Message édité par benou le 22-11-2004 à 16:31:04
Reply

Marsh Posté le 22-11-2004 à 16:30:04   

Reply

Marsh Posté le 22-11-2004 à 16:50:35    

Je n'ai pas l'environnement pour le test, mais il me semble que tes éléments sont considérés comme des chaines.
 
donc si tu veux t'en assurer, test min (a,2), ou 1 et 0050 par exemple (je ne me rappelle plus le test qui fait que c'est vrai si les deux variables sont des chaines mais qui est fausse si ces mêmes variables sont des numériques; c'est peut etre celui avec 1 et 00050)

Reply

Marsh Posté le 22-11-2004 à 17:34:22    

merci pour la précision
 
mais, ma question ne portait pas vraiment là dessus : je cherche cette fameuse fonction min (et max accessoirement).

Reply

Marsh Posté le 23-11-2004 à 00:20:38    

en fait, y a moyen de faire ca en utilisant directement des fonctions java (java.lang.Math.min(), par exemple) avec l'extension développée par xalan :
http://xml.apache.org/xalan-j/exte [...] -namespace


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed