Problèmes d'imports

Problèmes d'imports - XML/XSL - Programmation

Marsh Posté le 07-06-2011 à 12:05:41    

Salut !
 
Dans le cadre d'un projet, je crée plusieurs fichiers de transformations XSLT pour générer des PDF.
Pour homogénéiser les templates, je crée un fichier common.xsl qui contient des templates réutilisables (formatage de date, de durée, traductions etc)
 

Code :
  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  2.     <xsl:include href="common.xsl"/>


 
Sur ma machine en local (un jboss sous windows), ça fonctionne, mais dès que je mets mes template sur le serveur de prod (un jboss sous linux), tout ce qui appelle des templates de common.xsl n'est pas traité, comme si le fichier n'était pas trouvé.
Lorsque je lance la génération du PDF, le XSL correspondant est trouvé, mais c'est lorsque ce XSL essaie de trouver common.xsl qu'il échoue. Du coup, j'ai des zones vides dans mon rendu final...
 
idem quand je cherche des valeurs dans un autre fichier :
 

Code :
  1. <xsl:value-of select="document('international.xml')/international/message[@nom='heure']/langue[@lg=$l and @pays=$p]" />


 
Quelqu'un sait d'où peut venir le problème? une variable d'environnement à régler pour aider jboss à trouver les fichiers?  
Bien sûr, j'ai vérifié que les fichiers appelés étaient bien présents sur le serveur, au même niveau que les autres fichier *.xsl (Je précise, on sait jamais  :pt1cable: )

Reply

Marsh Posté le 07-06-2011 à 12:05:41   

Reply

Marsh Posté le 08-06-2011 à 17:25:47    

Trouvé !  :pt1cable:  
 
J'avais en fait 2 problèmes.
 
1) Mon chemin de base pour la recherche de fichiers n'était effectivement pas bon. Je l'ai donc réglé dans le fichier de configuration de XSL-FO:

Code :
  1. <base>C:/jboss-5.1.0.GA/server/default/conf/format/</base>


 
2) international.xml était bien trouvé mais le résultat renvoyé était vide parce que rien ne correspondait aux critères "@lg=$l and @pays=$p" (qui sont en fait la langue et le pays du serveur, qui étaient justement mal réglés sur le serveur de prod)
 
 

Code :
  1. <xsl:value-of select="document('international.xml')/international/message[@nom='heure']/langue[@lg=$l and @pays=$p]" />

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed