Article View: fr.comp.text.xml
Article #9435Re: Debutant XML XSL
From: Tom.
Date: Thu, 05 Apr 2001 17:20
Date: Thu, 05 Apr 2001 17:20
52 lines
3232 bytes
3232 bytes
In <9ai5kp$58mi5$1@ID-33075.news.dfncis.de>, Thomas RECLOUX wrote:
> pour selectionner la faleur de pays, je fait un <xsl:value-of
> select="CLIENT/ADRESSE-DE-NAISSANCE/PAYS"/> , Est ce que je peux utiliser
> cette methode dans le tag xsl:if ?. Ensuite, pour faire la comparaison ?
> j'utilise le symbole = tout con ???
Il faut bien comprendre toutes les notions qui entrent en jeu :
� XML (bien s�r)
� XPath : pour s�lectionner les noeuds
� les types de valeurs
� le transtypage entre ces types de valeurs
� XSLT : pour d�crire ce qu'on doit faire des noeuds s�lectionn�s
<xsl:value-of select="CLIENT/ADRESSE-DE-NAISSANCE/PAYS"/> fait appel � ces
3 notions.
L'expression XPath CLIENT/ADRESSE-DE-NAISSANCE/PAYS s�lectionne le noeud du
pays (l'�l�ment, pas directement le texte qui est � l'int�rieur).
L'�l�ment xsl:value-of transforme en texte la valeur de son attribut select.
Le test des xsl:if et xsl:when est une expression XPath, donc pour
l'instant on ne s'occupe pas de XSLT.
Admettons que le noeud courant soit PAYS (c'est plus simple), on veut
comparer son contenu � la cha�ne de caract�re 'FRANCE'. Pour r�cup�rer la
valeur dans le cas pr�sent on peut utiliser . , text() (ou ./text()) ou
string(), string(.) ou string(text()), string(./text()) (cf. la spec XPath
pour comprendre les diff�rences).
Pour enlever tous les blancs : normalize-space(), normalize-space(.),
normalize-space(text()), etc.
Pour comparer : terme1 = terme2
Pour d�clarer la cha�ne 'FRANCE' : 'FRANCE' ou "FRANCE".
=> normalize-space() = 'FRANCE'
Maintenant on s'en sert dans un xsl:if ou xsl:when.
Ici, tu dois aussi prendre en compte une 4� notion : la version XML de
HTML, j'ai nomm� XHTML <http://www.w3.org/TR/xhtml>
<xsl:template match="PAYS">
<xsl:choose>
<xsl:when test="normalize-space() = 'FRANCE'">
<input type="radio" [...] checked="checked"/> Fran�aise
<input type="radio" [...] /> �trang�re
</xsl:when>
<xsl:otherwise>
<input type="radio" [...] /> Fran�aise
<input type="radio" [...] checked="checked" /> �trang�re
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Tom.
Technical Details
Message-ID:
<iP1z6.479$NY3.1724456@nnrp6.proxad.net>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!newsfeed.wirehub.nl!fr.usenet-edu.net!usenet-edu.net!proxad.net!feeder2.proxad.net!nnrp6.proxad.net.POSTED!not-for-mailReferences:
<9ahvar$5dpl3$1@ID-33075.news.dfncis.de> <Xl0z6.544$Vf2.1468479@nnrp5.proxad.net> <9ai5kp$58mi5$1@ID-33075.news.dfncis.de>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,1eccdd9c99059d7d X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-04-05 10:22:09 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!newsfeed.wirehub.nl!fr.usenet-edu.net!usenet-edu.net!proxad.net!feeder2.proxad.net!nnrp6.proxad.net.POSTED!not-for-mail From: Tom. <ptittom+news@free.fr> Subject: Re: Debutant XML XSL Newsgroups: fr.comp.text.xml References: <9ahvar$5dpl3$1@ID-33075.news.dfncis.de> <Xl0z6.544$Vf2.1468479@nnrp5.proxad.net> <9ai5kp$58mi5$1@ID-33075.news.dfncis.de> Lines: 52 Organization: - MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit Message-ID: <iP1z6.479$NY3.1724456@nnrp6.proxad.net> Date: Thu, 05 Apr 2001 17:20:14 GMT NNTP-Posting-Host: 193.252.183.232 X-Complaints-To: abuse@proxad.net X-Trace: nnrp6.proxad.net 986491214 193.252.183.232 (Thu, 05 Apr 2001 19:20:14 CEST) NNTP-Posting-Date: Thu, 05 Apr 2001 19:20:14 CEST