🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: probl�me amusant

#8465
From: Alain Ketterlin
Date: Thu, 04 Oct 2001 05:41
49 lines
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-mail
References: <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"