From: noel.jean-baptiste@courrier.uqam.ca
Date: 04/07/2002 - 14:36
Merci beaucoup Cyril, c'est exactement ce que je voulais.
Bonne journée,
Djibi
---- Messages d´origine ----
De: "Cyril Jandia" <cjandia@logfi.fr>
Date: jeudi 4 juillet 2002 5:02
Objet: [xml-tech] Re: Expression Xpath
>
> > De : Cyril Jandia
> > À : xml-tech@xmlfr.org
> > Objet : [xml-tech] Re: Expression Xpath
> >
> > > De : noel.jean-baptiste@courrier.uqam.ca
> > > À : xml-tech@xmlfr.org
> > > Objet : [xml-tech] Expression Xpath
> > >
> > > Bonjour,
> > >
> > > Soit le fichier xml suivant :
> > > [...]Extrait du fichier xsl:
> > > [...]Quelle pourrait être l'expression
> > > [...]qui me permettrait d'obtenir le résultat suivant:
> > > codePermanent
> > > sexe
> > > infoComplementaires/regime
> > > infoComplementaires/fax
> >
> > Bonjour,
> >
> > C'est [un classique] pour l'usage de l'axe "ancestor-or-self"
> (cf. [axes
> > XPath]);
> > voici une transformation complète pour répondre à la question :
> > [...]
>
> Mmm... autant pour moi : cela ne répond pas *exactement* à la
> question en fait.
>
> En effet, pour rappel, d'après cette entrée :
>
> <etudiant>
> <codePermanent></codePermanent>
> <sexe></sexe>
> <infoComplementaires>
> <regime></regime>
> <fax></fax>
> </infoComplementaires>
> </etudiant>
>
> ... on veut en sortie :
>
> codePermanent
> sexe
> infoComplementaires/regime
> infoComplementaires/fax
>
> Or, la transformation de ma 1ère réponse génère :
>
> codePermanent
> sexe
> infoComplementaires
> infoComplementaires/regime
> infoComplementaires/fax
>
> Il faut donc remplacer :
>
> <xsl:template match="*">...
>
> par :
>
> <xsl:template match="*[not(*)]">...
>
> (une modification mineure ;=)
>
> > <xsl:template match="*">
> > <xsl:for-each select="ancestor-or-self::*[name()!='etudiant']">
> > <xsl:choose>
> > <xsl:when test="name(..)!='etudiant'">
> > <xsl:value-of select="concat('/',name())" />
> > </xsl:when>
> > <xsl:otherwise><xsl:value-of select="name()" /></xsl:otherwise>
> > </xsl:choose>
> > </xsl:for-each><xsl:text>
</xsl:text>
> > <xsl:apply-templates />
> > </xsl:template>
> >
> > > Merci,
> > > Djibi
> >
> > [un classique]
> > http://www.dpawson.co.uk/xsl/sect2/N6052.html#d176e57
> >
> > [axes XPath]
> > http://xmlfr.org/w3c/TR/xpath#axes
> >
> > Cordialement,
> > --CJ
>
> --CJ
>
> --
> 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=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|