Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2277 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XML/XSL/XSD] Insérer tel quel un document HTML, doctype ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML/XSL/XSD] Insérer tel quel un document HTML, doctype ?

n°2187136
Cerfpyvert
Le Sabotageur
Posté le 23-04-2013 à 10:48:36  profilanswer
 

Bonjour,

 

Je dispose d'une application qui génère un corps de mail à partir d'un fichier XML. Un fichier XSD permet de valider les données du fichier entrant et un XSL met en forme ces mêmes données en HTML, orchestré par un parser (librairies saxon) écrit en java.
Maintenant, ce que je désire faire via ce principe, c'est d'intégrer un fichier HTML "tout fait" (fourni par une appli tierce, donc que je ne contrôle pas) et le ressortir quasiment tel quel dans le corps de mail, avec les contraintes suivantes :

  • Je ne veux pas toucher au code java
  • L'emplacement du fichier HTML est renseigné dans le fichier XML entrant


J'ai donc adopté dans mon XSL la méthode

Code :
  1. <xsl:copy-of select="document(HtmlIn)"/>


Qui fonctionne, à un détail près : l'encodage ne passe pas, le XML ne connaissant pas les "&eacute;" et j'en passe.

 

J'ai donc essayé de passer par un Doctype, que j'ai spécifié de la manière suivante dans mon fichier XSL :

Code :
  1. <!DOCTYPE stylesheet [
  2. <!ENTITY eacute "&#233;">
  3. <!ENTITY ecirc "&#234;">
  4.          ...
  5. ]>


(et ce pour les dizaines de caractères pouvant poser problème).

 

Le problème est que même malgré ça, l'application me renvoie l'erreur

Citation :

Error on line 6 column 49 of test.html:
  SXXP0003: Error reported by XML parser: The entity "eacute" was referenced, but not declared.

 

J'ai donc l'impression que le parser se tape complètement du Doctype. J'ai essayé plusieurs solutions (dont le très moche "disable-output-escaping" ), mais sans succès, et j'avoue que mes connaissances en XML/XSLT sont assez rudimentaires.

 

Donc comment faire pour que le doctype soit appliqué à coup sûr ? Ou, plus globalement, comment insérer dans mon fichier XSL un fichier HTML sans avoir de problème d'encodage ?


Message édité par Cerfpyvert le 23-04-2013 à 10:49:16
mood
Publicité
Posté le 23-04-2013 à 10:48:36  profilanswer
 

n°2187151
gilou
Modérateur
Modzilla
Posté le 23-04-2013 à 12:02:20  profilanswer
 

Bonjour,
 
J'essaierais d'adapter la seconde méthode donnée ici: http://www.sourceware.org/ml/xsl-l [...] 00852.html (lis aussi les follow-ups)
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2187233
Cerfpyvert
Le Sabotageur
Posté le 23-04-2013 à 18:27:22  profilanswer
 

gilou a écrit :

Bonjour,
 
J'essaierais d'adapter la seconde méthode donnée ici: http://www.sourceware.org/ml/xsl-l [...] 00852.html (lis aussi les follow-ups)
 
A+,


 
Merci pour ton aide, j'ai pas encore pu regarder dans le détail mais je m'y attelle bientôt.
Les follow-ups m'ont effectivement l'air assez indiqués pour ma solution (même si je n'arrive pas à comprendre pourquoi le DOCTYPE spécifié dans le XSL n'est pas pris en compte).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [XML/XSL/XSD] Insérer tel quel un document HTML, doctype ?

 

Sujets relatifs
renvoi de formulaire html par PHPPetite aide niveau tablea en HTML/PHP?
Transformer mon XML avec XSLT[HTML ou CSS] Image non bg mais en arrière plan
insérer une ligne en desous d'une autre sous conditionphoto defilante html
[PHP et HTML] Mettre une varial PHP lors d'un click d'un bouton HTML.insérer une ligne en desous d'une autre sous condition
[HTML] only - page web en local modifiable par le visiteurFLASH SWF - XML
Plus de sujets relatifs à : [XML/XSL/XSD] Insérer tel quel un document HTML, doctype ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR