From: cyril vidal (cyr.vidal@wanadoo.fr)
Date: 27/12/2002 - 08:57
Parce qu'ici, le test porte sur la nullité ou non d'une valeur numérique, on
peut même se passer de l'égalité = 0 en utilisant par défaut les règles de
conversion de nombre en booléen qui énoncent que:
-tout numérique différent de zéro est true; la valeur 0 est false
En reprenant la feuille de style de Hervé Agnoux, on peut donc écrire la
feuille XSLT suivante:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>
<xsl:template match="nombre">
<xsl:choose>
<-- renvoie une valeur non nulle donc true pour les nombres impairs -->
<xsl:when test="number() mod 2">
J'affiche <xsl:value-of select="."/> parce que c'est un nombre IMPAIR.
</xsl:when>
<xsl:otherwise>
J'affiche <xsl:value-of select="."/> parce que c'est un nombre PAIR.
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
ou dans l'autre sens, en commençant d'abord par le test des nombres pairs:
<xsl:template match="nombre">
<xsl:choose>
<xsl:when test="not(number() mod 2)">
J'affiche <xsl:value-of select="."/> parce que c'est un nombre PAIR.
</xsl:when>
<xsl:otherwise>
J'affiche <xsl:value-of select="."/> parce que c'est un nombre IMPAIR.
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Cordialement,
Cyril.
----- Original Message -----
From: "Herve AGNOUX" <herve.agnoux@diaam-informatique.com>
To: <xml-tech@xmlfr.org>
Sent: Friday, December 27, 2002 8:12 AM
Subject: [xml-tech] Re: Nombre paire ou impaire
>
> Le Jeudi 26 Décembre 2002 19:57, Skink a écrit :
> > Bonjour,
> >
> > Est-il possible dans une feuille de style xsl de tester un argument pour
> > savoir si c'est un nombre impaire ou paire ?
> >
>
> Pour vous inspirer, prenez cet XML :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <tout>
> <nombre>15248</nombre>
> <nombre>7859</nombre>
> </tout>
>
> Et cette feuille de style :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
> <xsl:output indent="yes"/>
>
> <xsl:template match="nombre">
> <xsl:if test="(number() mod 2) = 0">
> J'affiche <xsl:value-of select="."/> parce que c'est un nombre PAIR.
> </xsl:if>
> </xsl:template>
> </xsl:stylesheet>
>
> vous obtiendrez
>
> J'affiche 15248 parce que c'est un nombre PAIR.
>
> Grâce à :
>
> <xsl:if test="(number() mod 2) = 0">
>
> Cordialement.
>
>
> --
> SARL diaam informatique - 04 50 77 12 60
> Ingenierie, développements de systèmes d'information
> http://www.diaam-informatique.com
>
>
> --
> Devenez redacteur <XML>fr et contribuez au developpement du
> xml francophone (http://xmlfr.org/infos/redacteurs/) !
>
> Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
>
> Cette liste est a votre disposition pour discuter en francais de
> tout sujet technique lie a XML.
>
> Pour resilier votre abonnement, envoyez un message contenant
> la commande "unsubscribe" a xml-tech-request@xmlfr.org
> (mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
>
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|