🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

[XSLT] modifier juste un attribut et laisser le reste intact

#8880
From: Emmanuel Dreyfus
Date: Fri, 10 Aug 2001 23:47
41 lines
2206 bytes
Bonjour

J'ai un document qui ressemble � ca:

<a>
<b attrib="gnagnagna bidule:toto blablabla" />
<c>pimpampoum</c>
</a>

But du jeu: lorsque c contient 'pimpampoum', je veux remplacer
'bidule:toto' par 'bidule:tata', tout le reste du document restant
inchang�.

En gros, pour mettre un peu de XPath la dedans, il s'agirait de faire un
rechercher/remplacer de //a/b@attrib lorsque //a[c='pimpampum'] (j'ai
bon, l�? J'aurai pu aussi dire ..[c='pimpampoum'], non?)

Questions, donc: 
1) Avec ca:
<xsl:template match="/">
        <xsl:copy-of select="node()|@*"/>
        <xsl:apply-templates/>
</xsl:template>

Je recopie effectivement tout le document original, mais en plus il me
recopie les contenus des balises � la fin. Comment neutraliser cette
regle de traitement par defaud?

2) Comment introduire la dedans que si //a[c='pimpampum'] alors
../b@attrib doit etre modifi�? 

3) Comment fais-je un rechercher/remplacer ma chaine dans l'attribut
attrb, une fois que je l'ai coinc� dans un coin?

4) Ce travail ne serait il pas plus "naturel" � accomplir avec un outil
comme xerces-perl, qui permet de manipuler le document XML avec une
interface DOM?

-- 
Emmanuel Dreyfus
manu@netbsd.org
Technical Details
Message-ID: <1exycgv.9gwme91dtoka2N%manu@netbsd.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!teaser.fr!noos!manu

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,c6bfcc54f553e8f2,start
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-08-10 16:47:36 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!teaser.fr!noos!manu
From: manu@netbsd.org (Emmanuel Dreyfus)
Newsgroups: fr.comp.text.xml
Subject: [XSLT] modifier juste un attribut et laisser le reste intact
Date: Sat, 11 Aug 2001 01:47:29 +0200
Organization: HCP Networks
Lines: 41
Message-ID: <1exycgv.9gwme91dtoka2N%manu@netbsd.org>
NNTP-Posting-Host: s019.dhcp212-198-36.noos.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: quark.noos.net 997487249 13831 212.198.36.19 (10 Aug 2001 23:47:29 GMT)
X-Complaints-To: abuse@noos.fr
NNTP-Posting-Date: Fri, 10 Aug 2001 23:47:29 +0000 (UTC)
User-Agent: MacSOUP/F-2.4.6