J'ai un problème assez épineux que j'essaie de résoudre depuis quelques
temps sans succès.
Dans une application Swing sur laquelle je travaille, nous utilisons
massivement FOP d'Apache pour effectuer des éditions au format PDF.
Pour obtenir ces éditions, nous utilisons une méthode classique : export
des données nécessaires au format XML, transformations XSL pour obtenir
un XSL:FO qui sera rendu par FOP.
Mon problème vient du fait que l'application en question est déployée
dans un jar contenant toutes les classes ainsi que les ressources
nécessaires (images et XSL).
Je n'ai pas de problème pour effectuer ma chaine de transformation
classique. Par contre, lorsque je veux factoriser certains templates XSL
dans un fichier "common.xsl" que j'importe ensuite via la commande
xsl:import, Xalan ne trouve pas la ressource spécifiée au sein du JAR,
idem au niveau xsl:fo lorsque je tente un fo:external-graphic avec une
image contenue dans mon jar...
J'ai essayé plusieurs méthodes, puisque Xalan utilise la classe URL de
Java, j'ai tenté des URL un peu évoluées comme
jar:file:appli.jar!/ressources/common.xsl ...
Mais rien ne fonctionne, j'ai toujours des erreurs à l'exécution une
fois l'application packagée.
Si quelqu'un a déja trouvé la méthode qui fonctionne, ça serait sympa de
me filler quelques billes, j'ai beau farfouiller sur les listes XSL et
les sites spécialisés, je retrouve des problèmes similaires, mais pas de
solutions qui fonctionnent dans mon cas.
Pour l'instant, puisque la méthode de l'URL marche en Java, j'ai trouvé
une solution temporaire mais que je ne trouve vraiment pas satisfaisante
: copier les ressources nécessaires dans un répertoire temporaire avant
de lancer les transformations... erk !
et renvoyer un StreamSource construit avec un getResource http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/stream/StreamSource.html
Symon wrote:
Bonjour,
J'ai un problème assez épineux que j'essaie de résoudre depuis quelques temps sans succès.
Dans une application Swing sur laquelle je travaille, nous utilisons massivement FOP d'Apache pour effectuer des éditions au format PDF.
Pour obtenir ces éditions, nous utilisons une méthode classique : export des données nécessaires au format XML, transformations XSL pour obtenir un XSL:FO qui sera rendu par FOP.
Mon problème vient du fait que l'application en question est déployée dans un jar contenant toutes les classes ainsi que les ressources nécessaires (images et XSL).
Je n'ai pas de problème pour effectuer ma chaine de transformation classique. Par contre, lorsque je veux factoriser certains templates XSL dans un fichier "common.xsl" que j'importe ensuite via la commande xsl:import, Xalan ne trouve pas la ressource spécifiée au sein du JAR, idem au niveau xsl:fo lorsque je tente un fo:external-graphic avec une image contenue dans mon jar...
J'ai essayé plusieurs méthodes, puisque Xalan utilise la classe URL de Java, j'ai tenté des URL un peu évoluées comme jar:file:appli.jar!/ressources/common.xsl ...
Mais rien ne fonctionne, j'ai toujours des erreurs à l'exécution une fois l'application packagée.
Si quelqu'un a déja trouvé la méthode qui fonctionne, ça serait sympa de me filler quelques billes, j'ai beau farfouiller sur les listes XSL et les sites spécialisés, je retrouve des problèmes similaires, mais pas de solutions qui fonctionnent dans mon cas.
Pour l'instant, puisque la méthode de l'URL marche en Java, j'ai trouvé une solution temporaire mais que je ne trouve vraiment pas satisfaisante : copier les ressources nécessaires dans un répertoire temporaire avant de lancer les transformations... erk !
et renvoyer un StreamSource construit avec un getResource
http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/stream/StreamSource.html
Symon wrote:
Bonjour,
J'ai un problème assez épineux que j'essaie de résoudre depuis quelques
temps sans succès.
Dans une application Swing sur laquelle je travaille, nous utilisons
massivement FOP d'Apache pour effectuer des éditions au format PDF.
Pour obtenir ces éditions, nous utilisons une méthode classique : export
des données nécessaires au format XML, transformations XSL pour obtenir
un XSL:FO qui sera rendu par FOP.
Mon problème vient du fait que l'application en question est déployée
dans un jar contenant toutes les classes ainsi que les ressources
nécessaires (images et XSL).
Je n'ai pas de problème pour effectuer ma chaine de transformation
classique. Par contre, lorsque je veux factoriser certains templates XSL
dans un fichier "common.xsl" que j'importe ensuite via la commande
xsl:import, Xalan ne trouve pas la ressource spécifiée au sein du JAR,
idem au niveau xsl:fo lorsque je tente un fo:external-graphic avec une
image contenue dans mon jar...
J'ai essayé plusieurs méthodes, puisque Xalan utilise la classe URL de
Java, j'ai tenté des URL un peu évoluées comme
jar:file:appli.jar!/ressources/common.xsl ...
Mais rien ne fonctionne, j'ai toujours des erreurs à l'exécution une
fois l'application packagée.
Si quelqu'un a déja trouvé la méthode qui fonctionne, ça serait sympa de
me filler quelques billes, j'ai beau farfouiller sur les listes XSL et
les sites spécialisés, je retrouve des problèmes similaires, mais pas de
solutions qui fonctionnent dans mon cas.
Pour l'instant, puisque la méthode de l'URL marche en Java, j'ai trouvé
une solution temporaire mais que je ne trouve vraiment pas satisfaisante
: copier les ressources nécessaires dans un répertoire temporaire avant
de lancer les transformations... erk !
et renvoyer un StreamSource construit avec un getResource http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/transform/stream/StreamSource.html
Symon wrote:
Bonjour,
J'ai un problème assez épineux que j'essaie de résoudre depuis quelques temps sans succès.
Dans une application Swing sur laquelle je travaille, nous utilisons massivement FOP d'Apache pour effectuer des éditions au format PDF.
Pour obtenir ces éditions, nous utilisons une méthode classique : export des données nécessaires au format XML, transformations XSL pour obtenir un XSL:FO qui sera rendu par FOP.
Mon problème vient du fait que l'application en question est déployée dans un jar contenant toutes les classes ainsi que les ressources nécessaires (images et XSL).
Je n'ai pas de problème pour effectuer ma chaine de transformation classique. Par contre, lorsque je veux factoriser certains templates XSL dans un fichier "common.xsl" que j'importe ensuite via la commande xsl:import, Xalan ne trouve pas la ressource spécifiée au sein du JAR, idem au niveau xsl:fo lorsque je tente un fo:external-graphic avec une image contenue dans mon jar...
J'ai essayé plusieurs méthodes, puisque Xalan utilise la classe URL de Java, j'ai tenté des URL un peu évoluées comme jar:file:appli.jar!/ressources/common.xsl ...
Mais rien ne fonctionne, j'ai toujours des erreurs à l'exécution une fois l'application packagée.
Si quelqu'un a déja trouvé la méthode qui fonctionne, ça serait sympa de me filler quelques billes, j'ai beau farfouiller sur les listes XSL et les sites spécialisés, je retrouve des problèmes similaires, mais pas de solutions qui fonctionnent dans mon cas.
Pour l'instant, puisque la méthode de l'URL marche en Java, j'ai trouvé une solution temporaire mais que je ne trouve vraiment pas satisfaisante : copier les ressources nécessaires dans un répertoire temporaire avant de lancer les transformations... erk !