From: AFG2I - D JACQUEMART (didier.jacquemart.afg2i@wanadoo.fr)
Date: 21/06/2001 - 07:04
Bonjour.
J'ai une liste d'articles se rapportant a divers sujets techniques. Je veux
etablir une liste triee des sujets disponibles, le sujet etant
un attribut de l'article.
J'essaie de proceder en comparant la valeur d'un sujet a un precedent
stocke dans une variable ou un parametre. A la premiere difference , je
sors mes donnees puis je stocke la valeur courante dans la variable ou le
parametre afin de ne pas traiter les occurences suivantes du meme code
sujet.
Malheureusement, je ne parviens pas a traiter ces valeurs Lorsque je teste
en dur les codes, les tests se font correctement. Lorsque je teste ma
valeur par rapport a un parametre, la reponse est toujours la meme (faux).
Je ne vois pas ou est le pb, puisqu'en affichage mes valeurs de variables
sont correctes.
Merci de votre aide.
Question annexe : comment peut-on travailler avec les variables, ont-elles
des portees differentes selon leur emplacement ... ?
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="tt.xsl"?>
<biblio>
<article sujet="Windows"/>
<article sujet="IE"/>
<article sujet="Windows"/>
<article sujet="Windows"/>
</biblio>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<!-- Essai avec un sujet en dur pour le trouver dans la liste -->
<xsl:call-template name="tpl">
<xsl:with-param name="xsujet" >
Windows
</xsl:with-param>
</xsl:call-template>
</html>
</xsl:template>
<xsl:template name="tpl" match="biblio" >
<xsl:param name="xsujet" />
<xsl:for-each select="/biblio/article">
<xsl:sort select="@sujet" />
<!-- pour verif des valeurs -->
SUJET=
<xsl:value-of select='@sujet'/>-
PARAMETRE=
<xsl:value-of select='$xsujet'/>- TEST EN DUR =
<!-- repond correctement -->
<xsl:value-of select='(@sujet="Windows") '/>- TEST PARAMETRE =
<!-- repond toujours FALSE -->
<xsl:value-of select='(@sujet="$xsujet") '/>-
<br/>
<xsl:choose>
<xsl:when test='(@sujet="Windows") '>
TEST EN DUR TRUE
<xsl:variable name="ysuj" select="@sujet"/>
<xsl:value-of select="$ysuj"/>
</xsl:when>
<xsl:otherwise>TEST EN DUR FALSE</xsl:otherwise>
</xsl:choose>
<br/>
<xsl:choose>
<xsl:when test='(@sujet="$xsujet") '>
TEST PARAMETRE TRUE
<xsl:variable name="ysuj" select="@sujet"/>
<xsl:value-of select="$ysuj"/>
</xsl:when>
<xsl:otherwise>TEST PARAMETRE FALSE</xsl:otherwise>
</xsl:choose>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
AFG2I - Didier JACQUEMART
Email didier.jacquemart@afg2i.fr
Tel 03 26 85 88 50
Fax 03 26 85 88 59
--
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
|