Merci Alexandre
> Pour parametre(2) j'ai juste complété le Xpath ave current()
> qui indique
> que le chemin commence à partir du noeud courant (ici "feuille").
L'utilisation de current() fonctionne !
cependant je ne vois pas pourquoi il faut préciser current() je pensais que cette "info" était implicite ;
j'ai vu sur le serveur un article "alléchant" expliquant la différence entre "." et current() mais malheureusment l'article est indisponible (internal server error) (satanée loi de Murphy)
> J'ai changé l'attribut de parm pour "idref", car cela me
> parait bizarre
> que deux elements partagent le meme id (a piori un id est unique).
En effet "idref" est plus indiqué que "id".
>(a piori un id est unique)
Est-ce que l'attribut "id" est un attribute "réservé" ? (j'ai utilisé "id" comme j'aurai utilisé "ref")
Si oui, est-ce que l'unicité du champ "id" a un caractère normatif ?
Vincent
> -----Message d'origine-----
> De : alexandre arcouteil [mailto:lex@free.fr]
> Envoyé : lundi 21 juillet 2003 14:08
> À : xml-tech@xmlfr.org
> Objet : [xml-tech] Re:
> ?indows-1256?Q?XSLT:_predicat_"nœud_reference[@id=nœu?
> ?indows-1256?Q?d_actuel/@id]"_ne_fonctionne_pas?Date: Mon, 21
> Jul 2003 12:11:19 +0200
>
>
>
> PENNEC Vincent wrote:
> >
> > Bonjour,
> >
> > J'ai un problème avec XSLT (msxml3)
> > je cherche à faire <xsl:value-of
> > select="//noeud_reference[@id=noeud_actuel/@id]"/> ; cela ne
> > fonctionne pas. je réussis à contourner le problème en
> passant par une
> > fonction.
>
> Bonjour,
>
> voici une version qui fonctionne sous msxml4 (j'imagine pour msxml3
> aussi ?). Le document xml :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <lot>
> <parametre id="1375">Sodium</parametre>
> <parametre id="1385">Nitrates</parametre>
> <arbre>
> <feuille>
> <parm idref="1375"/>
> </feuille>
> </arbre>
> </lot>
>
> J'ai changé l'attribut de parm pour "idref", car cela me
> parait bizarre
> que deux elements partagent le meme id (a piori un id est unique).
>
> La feuille XSLT :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="html"/>
> <xsl:template match="/">
>
> <html>
> <head>
> <title>test id</title>
> </head>
> <body>
> <xsl:apply-templates select="lot/arbre"/>
> </body>
> </html>
> </xsl:template>
>
> <xsl:template match="feuille">
> id=<xsl:value-of select="./parm/@idref"/>
> <br/>
> parametre(1)=<xsl:value-of select="//parametre[@id=1375]"/>
> <br/>
> parametre(2)=<xsl:value-of
> select="//parametre[@id=current()/parm/@idref]"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Pour parametre(2) j'ai juste complété le Xpath ave current()
> qui indique
> que le chemin commence à partir du noeud courant (ici "feuille").
>
> alex
>
--
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)
Received on Mon Jul 21 15:02:59 2003