> si je parse un document xml en iso-8859-1 et que je l'aggrège
> dans une transformation XSLT déclarant un output en utf-8,
> est-ce que la conversion se fait automatiquement ?
Oui.
"encoding spécifie le système de codage de caractères préférentiel que le processeur XSLT doit utiliser pour représenter des séquences de caractères en tant que séquences d'octets; la valeur de cet attribut doit être traitée sans tenir compte de la casse; la valeur ne peut contenir que des caractères compris entre #x21 et #x7E (c'est à dire les caractères imprimables de l'ASCII); la valeur doit soit être un jeu de caractères charset enregistré auprès de l'IANA [IANA], [RFC2278] soit commencer par X-."
Voir : http://xmlfr.org/w3c/TR/xslt/#output
En fait tous les moteurs que je connaisse travaillent nativement en unicode (mais vu que je travaille principalement avec Java qui est Unicode, ça se comprend). Ils ne s'occupent de l'encodage qu'à la lecture et l'écriture.
Juste histoire d'embrouiller un peu plus, il est possible d'écrire un fichier ascii contenant de l'Unicode.
Par exemple, 你好 ("ni hao" qui veut dire bonjour en chinois, en fait littéralement "toi bien").
De même il est possible d'écrire de l'ascii dans un fichier Unicode.
Les décodeurs utilisent les premiers bytes du fichier pour déterminer l'encodage si le flux de lecture ne l'a pas déclaré (et je ne parle pas des informations d'encodage au sein du XML). Car un fichier XML commençant toujours par "<?xml", les parseurs peuvent décoder automatiquement l'encodage du fichier.
Voir : http://www.w3.org/TR/REC-xml/#sec-guessing-no-ext-info
Ou : http://www.w3.org/TR/xml11/#sec-guessing-no-ext-info
On peut déclarer un contenu Unicode (avec des caractères chinois) dans un fichier codé ascii.
<?xml version="1.0">
<root>你好</root>
<hors-sujet>
Par contre pour l'écriture c'est plus complexe, je ne connais pas de solution pour générer facilement un fichier ascii contant de l'Unicode. En effet, les "serialiseurs" écrivent toujours les caractères dans leur représentation au sein du codage et jamais sous forme entités (你 par exemple), à part les entités XML.
Pour cela il faudrait deux informations, l'encodage du contenu XML et l'encodage du fichier.
</hors-sujet>
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@hyperoffice.fr
Nouveau cycle de séminaires "les mardis d'HyperOffice" Inscriptions et renseignements : http://www.hyperoffice.fr/formation/catalogue/index.asp
-----Message d'origine-----
De : François Jannin [mailto:issar@free.fr]
Envoyé : mardi 10 janvier 2006 14:47
À : xml-tech@xmlfr.org
Objet : [xml-tech] j'y perd mon latin iso-8859-1
Bonjour à tous,
Je fait un blocage sur l'encodage lors du parsing xml et des transfos
xslt : si je parse un document xml en iso-8859-1 et que je l'aggrège
dans une transformation XSLT déclarant un output en utf-8, est-ce que la
conversion se fait automatiquement ?
Cordial merci.
François
ps : Je rêve du jour béni où il n'y aura plus que de l'Unicode 16 bits
partout, et où les charsets seront banis à jamais :)
--
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 Jan 10 15:21:09 2006