Re: "Remonter" dans un fichier XML
Tiscar Sebastien <[email protected]>
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <001301c6323c$2281db40$a7021cac@ODIN11> |
Bonjour, il suffit d utiliser les axes nodaux, ici ancestor::nom_du noeud ancetre ce qui donnera <xsl:template match="ARTICLE"> <p><b><xsl:value-of select="id" /></b> - <i><xsl:value-of select="ancestor::theme/@id" /></i> <br/>Theme : <xsl:value-of select="ancestor::fichier" /></p> <p><xsl:value-of select="resume" /></p> </xsl:template> maintenant pour extraire "Alex Mucchielli" de la chaîne "Spécial : Alex Mucchielli", il faudra utiliser les fonctions du type substring()... ----- Original Message ----- From: <[email protected]> To: <[email protected]> Sent: Wednesday, February 15, 2006 1:22 PM Subject: [xml-tech] "Remonter" dans un fichier XML Bonjour, J'ai un fichier XML de la sorte <liste> <theme id="Spécial : Alex Mucchielli"> <fichier>articles/article_dynamique.xml</fichier> <fichier>articles/article_articulation.xml</fichier> </theme> </liste> Afin de lister les articles je fais : <xsl:template match="liste"> <xsl:apply-templates select="document(theme//fichier)/ARTICLE"> <xsl:sort select="." order="descendant"/> </xsl:apply-templates> </xsl:template> <xsl:template match="ARTICLE"> <p><b><xsl:value-of select="id" /></b> - <i><xsl:value-of select="id/@auteur" /></i> <br/>Theme : <xsl:value-of select="$fichier_nom" /></p> <p><xsl:value-of select="resume" /></p> </xsl:template> </xsl:stylesheet> Le probleme c'est que je souhaiterais remonter dans le fichier XML pour afficher le theme mais aussi le nom du fichier a coté de chaques titres. J'ai bien peur que ca soit impossible... Je me trompe ? MERCI de votre aide. -- Devenez redacteur <XML>fr et contribuez au developpement du xml francophone (http://xmlfr.org/infos/redacteurs/) ! Liste de diffusion "[email protected]" (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 [email protected] (mailto:[email protected]?Subject=unsubscribe)