🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #9435

Re: Debutant XML XSL

#9435
From: Tom.
Date: Thu, 05 Apr 2001 17:20
52 lines
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-mail
References: <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