[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: |
Tue, 30 Sep 2003 17:12:35 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.2) Gecko/20030208 Netscape/7.02 |
Bonjour,
Emmanuel Bégué a écrit:
>Après une recherche je souhaite exporter les résultats de la
>recherche vers un fichier xml unique
La xsp d'export (export.xsp) contient:
Euh... les xsp sont, par défaut, sérialisées en *HTML*.
<xsl:output method="xml" encoding="iso-8859-1" media-type="text/html"/>
on prend des risques avec ça --------^^^^^^^^^^
------------------------------ et ça ------------------------^^^^^^^^^
1- la source ne contient pas de déclaration xml (et le fichier
n'est pas reconnu comme xml par IE)
V. plus haut : un fichier HTML n'a pas de prologue ;-)
2- les caractères spéciaux sont transformés en entités html
(é => é) ce qui fait que le fichier "xml" produit n'est
en réalité pas correct.
Mmmh... quel est ton encodage par défaut ?
Quoi qu'il en soit, v. les exemples de sérialisation dans la sitemap de
sdxtest (on en parlait l'autre jour, ceux avec le privilège admin ;-),
en particulier xsp2htmX et s'en inspirer pour sérialiser en XML car un
navigateur n'aura peut-être pas toujours envie d'afficher du XML alors
qu'on lui a dit qu'on lui envoyait du "html" ou du "text".
PS: ce deuxième point pose également un problème lorsque, en
affichant un document résultat, on veut construire des liens
avec le contenu des éléments du document xml original; dans ce
cas en effet, le contenu des attributs href est apparemment
transformé en UTF-8
... réponse à la question que je viens de poser. Brrr, de l'iso-8859-1
transformé par une XSL qui sort de l'iso-8859-1 sans contrôle de Cocoon,
le tout sérialisé en UTF-8, ça risque de ne pas le faire :-)
c'est à dire que par exemple "é" qui vaut
"é" dans le document vaut "%C3%A9" à l'intérieur d'un
attribut href (et seulement dans ce cas) -- et je voudrais
qu'il reste à "é" (ou "e" à la rigueur).
Est-ce encore une href dans ce cas ? J'en doute...
Ce que je ne comprends pas c'est que cela ne se produise pas
lorsqu'on utilise les valeurs de champs sdx:field ("brief"),
même non échappés (dans ce cas on aura bien "é" pour "é") => ?
Parce qu'on laisse le contrôle du flux à Cocoon et qu'on ne cherche pas
à le berner avec une XSL qui contredit la façon dont il a été configuré :-)
Plus sérieusement, il faut aller mettre les mains dans la sitemap et
sérialiser en XML. On peut jouer sur l'extension ou sur le nom de
fichier. Accessoirement, ça permet une gestion du type MIME plus
canonique ; pour "text", c'est du texte brut, pas du "xml".
J'espère, moi aussi, avoir été assez clair :-)
A+
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden