Si j'ai bien compris la question, vous voulez placer l'attribut correspondant à
une langue comme valeur textuelle tout en conservant tous les attributs. Dans
ce cas ça s'écrit :
<xsl:template match="country">
<xsl:copy>
<xsl:copy-of select="attribute::*" />
<xsl:value-of select="@FR" />
</xsl:copy>
</xsl:template>
<REMARQUE>
Juste une remarque : pourquoi n'utilisez-vous pas l'attribut xml:lang qui
permet justement de gérer le multilingue.
Plutôt que d'écrire
<country DE="Frankreich" ES="Francia" FR="France" IT="Francia" NL="Frankrijk"
PT="França" US="France"/>
XML préconise :
<country>
<name xml:lang="de">Frankreich</name>
<name xml:lang="es">Francia</name>
<name xml:lang="fr">France</name>
<name xml:lang="it">Francia</name>
<name xml:lang="nl">Frankrijk</name>
<name xml:lang="pt">França</name>
<name xml:lang="us">France</name>
</country>
Dans le même ordre d'idée, je pense que vous mélanger pays et langue.
L'attribut xml:lang est assez clair la dessus.
On écrit en premier la langue.
Par exemple "France" devrait être définie "en" et non US car c'est la même
valeur (à ma connaissance) pour tout les langues anglaises.
Par contre s'il est nécessaire de préciser, on ajoute le pays après la langue
<name xml:lang="en_US">France</name>
<name xml:lang="en_GB">France</name>
Le fait de suivre cette norme permet d'utiliser des outils tiers, par exemple
de filtrage
</REMARQUE>
Cordialement,
--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél erik.mazoyer@xxxxxxxxxxxxxx
Nouveau cycle de séminaires "les mardis d'HyperOffice" Inscriptions et
renseignements : http://www.hyperoffice.fr/formation/catalogue/index.asp
-----Message d'origine-----
De : Hauret, Olivier [mailto:ohauret@xxxxxxxxxx]
Envoyé : mardi 21 septembre 2004 15:41
À : xml-tech@xxxxxxxxx
Objet : [xml-tech] Conserver les attributs lors de Parsing
Bonjour à toute la communauté,
1) Je parse des fichiers XML multilingues pour en obtenir les mêmes fichiers
dans les langues souhaitées.
2) voici un exemple de mon code :
<xsl:template match="country">
<country><xsl:value-of select="@FR" /><xsl:apply-templates /></country>
</xsl:template>
Ce qui me donne le nom du pays concerné en français.
3) j'ai besoin dans certain cas de conserver l'ensemble des attributs comment
dois-je faire ?
NB: je souhaiterais conserver les données comme dans le fichier data initial
c'est à dire : <country DE="Frankreich" ES="Francia" FR="France" IT="Francia"
NL="Frankrijk" PT="França" US="France"/>
Merci pour vos réponses éclairées.
Olivier Hauret
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xxxxxxxxx" (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@xxxxxxxxx
(mailto:xml-tech-request@xxxxxxxxx?Subject=unsubscribe)
|
|