Merci pour toutes les réponses, je vais essayer d'adapter la solution de
Cyril car j'ai des appels multiples dans le code XSLT.
Cordialement,
----- Original Message -----
From: "Jandia, Cyril" <Cyril.Jandia@accor-services.com>
To: <xml-tech@xmlfr.org>
Sent: Monday, April 28, 2003 10:16 PM
Subject: [xml-tech] Re: méthodes Xpaths et balises HTML
>
> Bonjour,
>
> > -----Original Message-----
> > From: Habieb Mammar Halima [mailto:habieb@gprhp.insa-lyon.fr]
> > Sent: lundi 28 avril 2003 14:54
> > To: xml-tech@xmlfr.org
> > Subject: [xml-tech] méthodes Xpaths et balises HTML
> >
> > Bonjour,
> > j'ai un petit probleme avec les méthodes Xpaths sur les chaines de
> > caracteres.
> > Voilà, dans un tag j'ai du texte et des balises HTML, à un moment donné
je
> > veux modifier le texte en ajoutant quelques symboles mais le probleme et
> > que lorsque j'appelle les fonctions telles que substring-before ou
> > substring-after je ne peux pas recuperer les balises HTML.
> >
> > Voici un exemple:
> > [...]
> >
> > Merci pour votre aide.
>
> Essayez ceci :
>
> -- doc.xml
> <?xml version="1.0" ?>
> <Doc>
>
> ceci est un test <b>cette partie est en gras </b> fin $
>
> <p>(Une autre partie, qui contient <em>du texte en italique</em> cette
fois
> :) $(ce texte est a ignorer)</p>
>
> </Doc>
>
> -- test.xsl
> <?xml version="1.0" ?>
>
> <xsl:transform
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:template match="/">
> <xsl:apply-templates />
> </xsl:template>
>
> <xsl:template match="Doc">
> <html>
> <head>
> <title>(Ignorer le texte apres un '$')</title>
> </head>
> <body>
> <h1>(Ignorer le texte apres un '$')</h1>
> <xsl:apply-templates />
> </body>
> </html>
> </xsl:template>
>
> <xsl:template match="*">
> <!-- match="*" pour attraper tous les elements <p>, <b>, <em>, etc -->
> <xsl:copy><xsl:for-each select="@*">
> <!-- <xsl:for-each...><xsl:copy-of ... "." /> pour laisser les attributs
> portes par ces elements inchanges;
> par exemple, un align="..." sur un <p> -->
> <xsl:copy-of select="." /></xsl:for-each>
> <!-- puis on part a la recherche d'une regle de reecriture pour le contenu
> de l'element courant: -->
> <xsl:apply-templates />
> </xsl:copy>
> </xsl:template>
>
> <xsl:template match="text()">
> <xsl:choose>
> <xsl:when test="contains(., '$')">
> <xsl:value-of select="substring-before(., '$')" />
> </xsl:when>
> <xsl:otherwise><xsl:copy-of select="." /></xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
> </xsl:transform>
>
>
> ... Vous devriez obtenir:
>
> -- .html
> <html>
> <head>
> <title>(Ignorer le texte apres un '$')</title>
> </head>
> <body>
> <h1>(Ignorer le texte apres un '$')</h1>
>
> ceci est un test <b>cette partie est en gras </b> fin <p>(Une autre
partie,
> qui contient <em>du texte en italique</em> cette fois :) </p>
>
> </body>
> </html>
>
>
> Cordialement,
> Cyril
>
>
>
____________________________________________________________________________
>
> Ce message électronique et tous les fichiers attachés qu'il contient sont
> confidentiels et destinés exclusivement à l'usage de la personne à
laquelle
> ils sont adressés. Si vous avez reçu ce message par erreur, merci de le
> retourner à son émetteur. La publication, l'usage, la distribution,
> l'impression ou la copie non autorisée de ce message et des attachements
> qu'il contient sont strictement interdits.
>
> This e-mail and any files transmitted with it are confidential and
intended
> solely for the use of the individual to whom it is addressed. If you have
> received this email in error please send it back to the person that sent
it
> to you. Unauthorized publication, use, dissemination, forwarding, printing
> or copying of this email and its associated attachments is strictly
> prohibited.
>
>
____________________________________________________________________________
>
>
>
>
> --
> 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)
Received on Tue Apr 29 16:16:48 2003