cerhu > comp.* > comp.text.xml

bintje (13/03/2006, 15h03)
Bonjour,
Je rencontre quelques problèmes avec la fonction translate.
En gros, j'essaie d'enlever les accents d'un texte . Pour cela j'utilise al
fonction translate() dans mon XSL mais cela provoque un comportement bizarre
:
Pour commencer, supp des accents sur les "e"
<original><xsl:value-of select="Keywords"/></original>

<related><xsl:value-of select="translate(Keywords,'éêè', 'eee')"/></related>

J'obtiens ceci :

<original>Espace, quatrième, tentative, lancement, d'ariane, est,
succès</original>

<related>Espace, quatrieme, tentative, lancement, d'ariane, est,
succes</related>

ce qui a priori est vraiment OK ... Par contre sur un "é" , j'ai une erreur
...

<original> l'image, tribunal, pénal, international, ternie, mort, milosevic
</original>

<related> l'image, tribunal, peenal, international, ternie, mort,
milosevic</related>

Bizarre non ?

J'ai essayé des fonctions trouvé sur xml.fr mais elles ont pour le coup un
comportement encore plus.. imprévisible .... :(

Quelqu'un a un indice ??
Florent Georges (13/03/2006, 15h44)
bintje wrote:

> <original><xsl:value-of select="Keywords"/></original>
> <related><xsl:value-of select="translate(Keywords,'éêè', 'eee')"/></related>


> <original> l'image, tribunal, pénal, international, ternie, mort, milosevic
> </original>
> <related> l'image, tribunal, peenal, international, ternie, mort,
> milosevic</related>


Cela semble pourtant correct. Essaie de construire un script et une
entre minimaux reproduisant le probleme.

~/drafts/fctx> cat bintje-01.xsl
<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:output indent="yes" encoding="US-ASCII"/>

<xsl:template match="/">
<results>
<xsl:apply-templates select="root/Keywords"/>
</results>
</xsl:template>

<xsl:template match="Keywords">
<original>
<xsl:value-of select="."/>
</original>
<related>
<xsl:value-of select="translate(., 'éêè', 'eee')"/>
</related>
</xsl:template>

</xsl:transform>

~/drafts/fctx> cat bintje-01.xml
<root>
<Keywords>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</Keywords>
<Keywords>l'image, tribunal, pénal, international, ternie,
mort, milosevic</Keywords>
</root>

~/drafts/fctx> saxon bintje-01.xml bintje-01.xsl
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

~/drafts/fctx> xsltproc bintje-01.xsl bintje-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

> J'ai essayé des fonctions trouvé sur xml.fr mais elles ont pour le coup un
> comportement encore plus.. imprévisible .... :(


Quelles fonctions ? Quel comportement ? Comment les as-tu employees
?

--drkm
bintje (14/03/2006, 09h50)
Bonjour,

Comme je le disait, j'ai utilisé plusieurs exemples fournis sur xmlfr.org
pour le translate ...([..])
Avec Sablotron 0.51 , j'obtiens des résultats tres aléatoires , donc je
crois que je vais me mettre à Xalan ou Saxon...

Merci pour toutes ces infos ..

"Florent Georges" <fgeorges.spam> a écrit dans le message de news:
1142257448.607675.181980...
bintje wrote:

> <original><xsl:value-of select="Keywords"/></original>
> <related><xsl:value-of select="translate(Keywords,'éêè',
> 'eee')"/></related>


> <original> l'image, tribunal, pénal, international, ternie, mort,
> milosevic
> </original>
> <related> l'image, tribunal, peenal, international, ternie, mort,
> milosevic</related>


Cela semble pourtant correct. Essaie de construire un script et une
entre minimaux reproduisant le probleme.

~/drafts/fctx> cat bintje-01.xsl
<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:output indent="yes" encoding="US-ASCII"/>

<xsl:template match="/">
<results>
<xsl:apply-templates select="root/Keywords"/>
</results>
</xsl:template>

<xsl:template match="Keywords">
<original>
<xsl:value-of select="."/>
</original>
<related>
<xsl:value-of select="translate(., 'éêè', 'eee')"/>
</related>
</xsl:template>

</xsl:transform>

~/drafts/fctx> cat bintje-01.xml
<root>
<Keywords>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</Keywords>
<Keywords>l'image, tribunal, pénal, international, ternie,
mort, milosevic</Keywords>
</root>

~/drafts/fctx> saxon bintje-01.xml bintje-01.xsl
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

~/drafts/fctx> xsltproc bintje-01.xsl bintje-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

> J'ai essayé des fonctions trouvé sur xml.fr mais elles ont pour le coup un
> comportement encore plus.. imprévisible .... :(


Quelles fonctions ? Quel comportement ? Comment les as-tu employees
?

--drkm
Florent Georges (14/03/2006, 12h59)
bintje wrote:

> Comme je le disait, j'ai utilisé plusieurs exemples fournis sur xmlfr.org
> pour le translate ...([..])
> Avec Sablotron 0.51 , j'obtiens des résultats tres aléatoires , doncje
> crois que je vais me mettre à Xalan ou Saxon...


Mmh, en regle generale, il ne faut pas trop vite accabler son
processeur. Si tu postais un ECM, on y verrait plus clair.

PS: [..], afin de
faciliter la communication.

--drkm
bintje (14/03/2006, 13h06)
Je viens d'esssayer Xalan avec Eclipse puis sur mon serveur RedHat ..
Tout fonctionne correctement, j'imagine donc que c'est Sablotron qui a des
bugs.
Merci !

"Florent Georges" <fgeorges.spam> a écrit dans le message de news:
1142257448.607675.181980...
bintje wrote:

> <original><xsl:value-of select="Keywords"/></original>
> <related><xsl:value-of select="translate(Keywords,'éêè',
> 'eee')"/></related>


> <original> l'image, tribunal, pénal, international, ternie, mort,
> milosevic
> </original>
> <related> l'image, tribunal, peenal, international, ternie, mort,
> milosevic</related>


Cela semble pourtant correct. Essaie de construire un script et une
entre minimaux reproduisant le probleme.

~/drafts/fctx> cat bintje-01.xsl
<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:output indent="yes" encoding="US-ASCII"/>

<xsl:template match="/">
<results>
<xsl:apply-templates select="root/Keywords"/>
</results>
</xsl:template>

<xsl:template match="Keywords">
<original>
<xsl:value-of select="."/>
</original>
<related>
<xsl:value-of select="translate(., 'éêè', 'eee')"/>
</related>
</xsl:template>

</xsl:transform>

~/drafts/fctx> cat bintje-01.xml
<root>
<Keywords>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</Keywords>
<Keywords>l'image, tribunal, pénal, international, ternie,
mort, milosevic</Keywords>
</root>

~/drafts/fctx> saxon bintje-01.xml bintje-01.xsl
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

~/drafts/fctx> xsltproc bintje-01.xsl bintje-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<results>
<original>Espace, quatrième, tentative, lancement,
d'ariane, est, succès</original>
<related>Espace, quatrieme, tentative, lancement,
d'ariane, est, succes</related>
<original>l'image, tribunal, pénal, international, ternie,
mort, milosevic</original>
<related>l'image, tribunal, penal, international, ternie,
mort, milosevic</related>
</results>

> J'ai essayé des fonctions trouvé sur xml.fr mais elles ont pour le coup un
> comportement encore plus.. imprévisible .... :(


Quelles fonctions ? Quel comportement ? Comment les as-tu employees
?

--drkm
Discussions similaires
XSLT XPath function: string translate (string, string, string)

translate

[xslt] Cacarteriser le dernier element d'un select en xslt

function et appel de function : comportement bizarre


Fuseau horaire GMT +2. Il est actuellement 03h57. | Privacy Policy