From: Blond Jean-Baptiste (almeris@wanadoo.fr)
Date: 04/12/2000 - 16:46
Bonjour,
Faire un test sur le noeud courant, voila qui peut être une question très
large....
Tester si le noeud courant est "<monnoeud> ... </monnoeud>" : <xsl: if
test="self::monnoued">... </xsl:if>
Tester si le noeud courant a pour valeur "mavaleur" : <xsl:if
test=".='mavaleur'"> ... </xsl:if>
Voila pour le noeud courant.
Si le test concerne un noued frère, plusieurs techniques sont possibles:
en général : <xsl:if test="boolean(../noeudfrere)"> .. </xsl:if> --> plutôt
lent pour un gros document.
Si on sait ou est le frere :
- avant : <xsl:if test="boolean(preceding-sibling::noeudfrere)"> ..
</xsl:if>
- après : <xsl:if test="boolean(following-sibling::noeudfrere)"> ..
</xsl:if>
- juste après : <xsl:if test="boolean(following-sibling::noeudfrere[1])">
.. </xsl:if>
Et il y en a plein d'autres, évidement....
Jean-Baptiste Blond
Almeris SARL
01 46 48 32 85
jb@almeris.com
----- Original Message -----
From: <Emmanuel.COLLAIN@tcc.thomson-csf.com>
To: <xml-tech@xmlfr.org>
Sent: Monday, December 04, 2000 5:22 PM
Subject: [xml-tech] Re: XSL
Bonjour,
Ca fait depuis quelque temps que je cherchais à faire un test sur le noeud
courant et j'ai essayé un test du même genre : <xsl:if test=". =
'element1'>. Hors je vois que j'étais dans la bonne direction, mais avec
MSXML3 ça n'a pas l'air marcher !
Quelqu'un a-t-il des infos à ce sujet ? Merci.
Emmanuel.
-----Message d'origine-----
De: Frederic Laurent [mailto:frederic.laurent@bigfoot.com]
Date: lundi 4 décembre 2000 16:59
À: xml-tech@xmlfr.org
Objet: [xml-tech] Re: XSL
GUET Christophe wrote:
>
> Bonjour,
>
> Je débute en XSL et je dois faire un test en XSL. Tant que je suis dans le
> noeud courant (<xsl:if test=".[. = 'RVI']">) je sais faire et ça marche.
> Mais dès que je sors du noeud courant je n'arrive pas à trouver la syntaxe
> correcte.
> Voici comment sont déclarées mes variables :
> - GarRevTech
> - Typro (noeud courant)
> - DureeOption (noeud que je veux tester dans un 2ème
temps)
>
> <xsl:if test=".[. = 'RVI']"> --> ça, ça marche avec typro
> <xsl:if test=".[GarRevTech/DureeOption='0']"> --> là j'ai une
> erreur, mais je ne connais pas la syntaxe pour dire que c'est un noeud
> "frère" du noeud courant
> Viagère
> </xsl:if>
> </xsl:if>
>
> Vous sauriez m'aider ??
bonjour
il serait peut-etre plus facile de donner des extraits de fichier xml et
de fichier xsl pour que l'on puisse facilement voir le probleme...
2 remarques rapides :
- xsl:if test=".[. = 'RVI'] peut etre remplacé par xsl:if
test=".='RVI'",
le .[] est superflu
- pour référencer les noeuds frere, voir du cote de la function
following-sibling : all nodes that start after the end of the current
node and
have the same parent as the current node
d'apres un ancien mail d'Eric :
"
following-sibling:: sélectionne l'axe "following-sibling" qui désigne
les noeuds de les noeuds de même niveau suivant le noeud courant dans
l'ordre du document.
following-sibling::* désigne tous ces noeuds.
following-sibling::*[position()=1] désigne le premier d'entre eux.
Cette expression pourrait être abrégée en:
following-sibling::*[1]
"
--
Frédéric LAURENT
--
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=subscribe)
--
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:05 UTC
webmaster@xmlfr.org
|