Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/04/2003, 12h35   #1
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
Par défaut Transformation XSL et caractères spéciaux

Bonjour,

J'ai le code suivant dans mon XSL :
<a href="{/document/Params/RECHERCHE}">
Relancer la recherche :
<xsl:value-of select="/document/Params/RECHERCHE"></xsl:value-of>
</a>

Avec RECHERCHE = à
Le premier /document/Params/RECHERCHE donne Ã
Le second donne bien à

Connaissez vous une autre syntaxe que
<a href="{/document/Params/RECHERCHE}">
qui me permettrait de ne plus avoir ce à mais un à ?

Sylvain L.
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2003, 16h35   #2
Membre régulier
 
Inscription : janvier 2003
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 85
Points : 92
Points : 92
Louche ton histoire. As-tu bien précisé l'encoding de ton fichier XSL ?
__________________
Julien C.
Julien C. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2003, 17h32   #3
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
Oui, j'ai précisé ISO-8859-1
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2003, 18h06   #4
Membre régulier
 
Inscription : janvier 2003
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 85
Points : 92
Points : 92
J'ai testé et je reproduis le même problème. Je pense que le parseur MSXML, voit que ton caractère "à" étant un caractère spécial, l'encode lorsqu'il est dans une URL, puisqu'il a repéré cela dans la valeur d'un "href"... Or il mets dans le code source "%C3%A0" ce qui correspond au caractère "Ã".. Il effectue une conversion en UTF-8 le bougre...

Pour résoudre ton problème, je ne vois qu'une solution. Dans ton BeforeXMLGram, tu fais une fonction qui remplace tous les caractères spéciaux de ton champ "RECHERCHE" par leur code correspondant (à = %E0). Tu retournes la chaine obtenue dans le champs "RECHERCHE_ENCODED". Ensuite, dans ton XSL, tu utilises la valeur de "RECHERCHE_ENCODED" pour la valeur du "href" de ton lien, et "RECHERCHE" pour le libellé du lien. Voilà la fonction (en Delphi) pour encoder une chaine en URL :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function urlencode(STR : string): string;
var
  URLED_STR : string;
  i, xl: integer;
begin
  URLED_STR := '';
  for i := 1 to length(STR) do
  begin
    xl := ord(STR[i]);
    if (((xl >= 65) and (xl <= 90)) or ((xl <= 57) and (xl >= 48)) or ((xl <= 122) and (xl >= 97))) then
      URLED_STR := URLED_STR + MidStr(STR,i,1)
    else
      URLED_STR := URLED_STR + '%' + IntToHex (xl,2);
  end;
  Result := URLED_STR;
end;
A noter, qu'il faudra rajouter l'unité "StrUtils" dans la clause "uses". J'ai testé, ca marche niquel.

Voilà ! A+
__________________
Julien C.
Julien C. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2003, 10h38   #5
Nouveau Membre du Club
 
Inscription : novembre 2002
Messages : 92
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 92
Points : 25
Points : 25
Ca fonctionne mieux maintenant, merci
Sylvain Leray est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h56.


 
 
 
 
Partenaires

Hébergement Web