Bonjour,
Le vendredi 21 mars 2008 à 15:03 +0100, Stephane Bortzmeyer a écrit :
> Pour traduire du XML vers un format qui n'utilise pas Unicode,
> j'aurais besoin de tester, dans un programme XSLT :
>
> - si un caractère donné est un caractère latin
> - si un caractère donné appartient à l'ensemble qu'on trouve dans
> Latin-1
>
> Je ne trouve pas de fonction Xpath pour cela. Une idée ?
Avec XPath 2.0, tu pourrais utiliser une expression régulière.
Avec XPath 1.0 et un processeur qui supporte
http://exslt.org/regexp/index.html, c'est possible, mais il faudra que
tu définisse toi même les blocs Unicode qui t'intéresse puisque cela ne
semble pas implémenté dans les expressions régulières JavaScript que
EXSLT demande de respecter.
Avec XPath 1.0 "pur et dur", je pense que le plus simple est d'utiliser
un langage quelconque pour générer une chaîne de caractères contenant
tous les caractères qui t'intéressent, de copier cette liste dans une
variable XSLT :
<xsl:variable name="autorisés">azer....</xsl:variable>
et d'utiliser la fonction translate pour tester s'il y a d'autres
caractères : "translate(àTester, $autorisés, '')" supprimant tous les
caractères de $autorisés dans àTester le résultat est la chaîne vide si
et seulement si il n'y avait rien d'autre...
Eric
--
GPG-PGP: 2A528005
Le premier annuaire des apiculteurs 100% XML!
http://apiculteurs.info/
------------------------------------------------------------------------
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.6 (GNU/Linux)
iD8DBQBH48PCDvn+ZCpSgAURAjDrAJ9dSaP1hIJVboNkAc/9MXlCMP6pFgCgkatR
gCLdxRFhNQKWJY0K8ZaySSE=
=foGb
-----END PGP SIGNATURE-----
--
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 Fri Mar 21 15:18:58 2008