Article View: fr.comp.text.xml
Article #8465Re: probl�me amusant
From: Alain Ketterlin
Date: Thu, 04 Oct 2001 05:41
Date: Thu, 04 Oct 2001 05:41
49 lines
2619 bytes
2619 bytes
"David GRAVOT" <dgravot@temposoft.fr> writes:
> Bonjour � tous, voici un fichier XML origine :
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <CTOACTIVITY name="Absences" id="6448352">
> <CTOACTIVITY name="Travail pour mod�le" id="6447926">
> <CTOACTIVITY name="Ouv/Ferm" id="6447917">
> <CTOACTIVITY name="Ouverture" id="6447923"></CTOACTIVITY>
> <CTOACTIVITY name="Fermeture" id="6447920"></CTOACTIVITY>
> </CTOACTIVITY>
> </CTOACTIVITY>
> </CTOACTIVITY>
>
> Je souhaite le moyen le + simple de l'afficher sous la forme
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <Absences name="Absences" id="6448352"><Travailpourmod�le name="Travail pour
> mod�le" id="6447926"><OuvFerm name="Ouv/Ferm" id="6447917"><Ouverture
> name="Ouverture" id="6447923"/><Fermeture name="Fermeture"
> id="6447920"/></OuvFerm></Travailpourmod�le></Absences>
>
> C'est � dire que le nom de balise g�n�rique CTOACTIVITY soit remplac�
> automatiquement par le nom de l'attribut name et que celui-ci soit d�truit.
(Dans ton exemple, l'attribut name apparait en sortie. Je suppose que
tu veux qu'il disparaisse.)
En XSLT :
<xsl:template match="CTOACTIVITY">
<xsl:element name="translate(@name,' ','_')"> <!-- hasardeux -->
<xsl:apply-templates select="node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="CTOACTIVITY/@*">
<xsl:if test="name()!='name'>
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
(a peu pres).
> Je vois bien une solution en script DOM mais n'est-ce pas trop long si le
> fichier de d�part est volumineux ?
SAX me semble plus adapte dans ce cas-la.
-- Alain.
Technical Details
Message-ID:
<wyr8skdks5.fsf@polya.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!ciril.fr!news.u-strasbg.fr!not-for-mailReferences:
<U8Gu7.1067$T3.108650@tengri.easynet.fr>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,9317fbb3fa62c9ba X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-10-04 18:39:36 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!ciril.fr!news.u-strasbg.fr!not-for-mail From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr> Newsgroups: fr.comp.text.xml Subject: Re: probl�me amusant Date: 04 Oct 2001 07:41:30 +0200 Organization: CRC - Universite Louis Pasteur Strasbourg France Lines: 49 Message-ID: <wyr8skdks5.fsf@polya.u-strasbg.fr> References: <U8Gu7.1067$T3.108650@tengri.easynet.fr> NNTP-Posting-Host: polya.u-strasbg.fr X-Trace: news.u-strasbg.fr 1002181747 440 130.79.44.199 (4 Oct 2001 07:49:07 GMT) X-Complaints-To: usenet@u-strasbg.fr NNTP-Posting-Date: 4 Oct 2001 07:49:07 GMT X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"