[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Encodage / récupération fic hiers XML bruts
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-users] Encodage / récupération fic hiers XML bruts |
Date: |
Thu, 02 Oct 2003 09:03:56 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.2) Gecko/20030208 Netscape/7.02 |
Bonjour,
En effet, la solution était dans l'encodage d'url, ça fonctionne
avec ça:
<xsl:stylesheet version="1.0"
xmlns:url="http://www.jclark.com/xt/java/java.net.URLEncoder"
exclude-result-prefixes="url">
puis:
<a href="rech.xsp?q={url:encode(.)}>lien</a>
qui d'après ce que j'ai lu est une fonction non standard mais
présente dans pratiquement tous les processeurs XSLT.
A mettre dans les "tips and tricks" de SDX :-)
(mais ça ne nous dit pas pourquoi l'encodage d'url n'est pas
nécessaire pour les valeurs de sdx:field? Est-il effectué ailleurs
de façon automatique?)
Euh... je pensais avoir répondu. Mais je n'ai pa dû être assez clair :-)
Voilà, une XSL sort du HTML ; on utilise pour se faire "output-method".
Premier point : je suspecte fortement les transformateurs Cocoon
d'ajouter *en interne* cette output-method lorsque le sérialiseur qu'il
y a derrière est un sérialiseur HTML et ce quand bien même
l'output-method est absente de la XSL source. Je pourrais trouver le
code éventuellement :-)
Dès lors qu'on est en HTML, le processeur XSLT fait son travail et
respecte les specs HTML (ou est censé les respecter).
Celles-ci mentionnent *explicitement* (v. la référence que j'ai donnée)
que les href doivent être échappées. Par conséquent... le processeur
échappe les href. Voilà pourquoi <a href=url"> est correctement gérée.
Par contre, <a toto="url"> ne fait pas partie des specs HTML. On a donc
le comportement par défaut... et donc pas d'échappement.
Voilà.
A+
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden