Re: XSL, substring et accents

Eric van der Vlist <[email protected]>
Newsgroups gmane.text.xml.french.tech
Organization Dyomedea (http://dyomedea.com)
Message-ID <[email protected]>
Bonsoir,
Le lundi 27 novembre 2006 à 10:19 +0100, Général Gore a écrit :
> Bonjour,
> Tout nouveau sur cette liste, et plutôt newbie en XSL... j'ai décidé de
> nettoyer les XSL que j'utilise de tout VBscript et Jscript, car j'ai cru
> comprendre que c'est "mal" :-)
> 
> Du coup, je me retrouve avec un petit problème :
> 
> J'ai une chaîne de caractères, générée par un serveur auquel je n'ai pas
> accès (pas possible de changer l'encodage ou quoi que ce soit), qui contient
> des accents et caractères spéciaux dans différentes langues.
> 
> J'ai, par exemple, dans un noeud, le texte "hétérogène", codé comme suit :
> h&#233;t&#233;rog&#232;ne
> 
> si je fais un substring dessus pour garder les 4 premièrs caractères (dans
> le but d'afficher "hété"),
> 
> <xsl:value-of select="substring('h&#233;t&#233;rog&#232;ne',0,4)"
> disable-output-escaping="yes"/>
> 
> le résultat est "h&#2"... car l'accent n'est pas traduit.
> 
> Comment faire pour éviter cela et bien obtenir "hété" ?

Ma réponse ne va peut-être pas beaucoup vous aider, mais cela semble
être un bug du processeur XSLT que vous utilisez (sans doute MSXML).

Il y a une erreur dans votre expression XPath : les indices commencent à
1 et non à 0 en XPath et vous devriez écrire :

<xsl:value-of select="substring('h&#233;t&#233;rog&#232;ne',1,4)"
      disable-output-escaping="yes"/>

pour obtenir "hété" (c'est ce que j'obtiens avec d'autres processeurs
XSLT).

En fait, l'attribut disable-output-escaping="yes" ne devrait avoir aucun
effet dans ce cas précis : pour tout parseur XML,
"h&#233;t&#233;rog&#232;ne" est strictement équivalent à "hétérogène" au
point qu'il communique la même chaîne de caractères au processeur XSLT
qui ne voit même pas la différence. 

Je ne m'explique donc pas bien comment vous pouvez avoir ce problème!

A tout hasard, si vous le pouvez, essayez d'installer une version
récente de MSXML.

Cordialement,

Eric van der Vlist

-- 
GPG-PGP: 2A528005
Freelance consulting and training.
                                            http://dyomedea.com/english/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


-- Attached file included as plaintext by Ecartis --

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBFbINoDvn+ZCpSgAURArjPAJ9EDMV19at53Ny/DvMytpRTuTGytgCfZ4bv
X/55DGh2Dffz0/UT5DLsxTY=
=g/fz
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.