IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Utilisation de saxon [XSLT 2.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut Utilisation de saxon
    Bonjour à tous,

    je suis en train de creer un petit utilitaire qui transformerais mon fichier xsl en plusieurs fichier html. Or ce fichier est dans sa version 2.0. J'ai vu qu'il fallait utiliser saxon pour pouvoir se faire.

    Or j'ai eu beau le télécharger l'extraire et tenté de m'en servir je n'y suis pas parvenue. Je ne peux pas vraiment vous dire tout ce que j'ai tenté, j'y ai passé l'aprem...

    Si quelqu'un pourrait m'expliquer comment "installer" saxon sa serait vraiment nickel.

    Merci beaucoup

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Bonsoir,

    Citation Envoyé par Lolosan Voir le message
    je suis en train de creer un petit utilitaire qui transformerais mon fichier xsl en plusieurs fichier html.
    Transformer une feuille de style en fichiers HTML ? Je suis pas sûr de comprendre le concept. Tu pourrais nous expliquer un peu mieux le principe ?

    Citation Envoyé par Lolosan Voir le message
    Si quelqu'un pourrait m'expliquer comment "installer" saxon sa serait vraiment nickel.
    En supposant que tu parles de la version Java :

    - S'assurer que la JRE Java est bien installée
    - télécharger Saxon HE Java, le fichier s'appelle actuellement SaxonHE9-4-0-7J.zip . Le dézipper quelque part.
    - Pour s'en servir en tant que bibliothèque java, juste ajouter saxon9he.jar au classpath. Il sera utilisé automatiquement à la place du moteur XSLT habituel de Java.
    - Pour s'en servir comme programme indépendant, aller dans le répertoire où tu l'as dézippé, avec l'invite de commande.
    - Comme l'indique le programme quand tu essaies de l'appeler, les paramètres sont expliqués sur le site de Saxon.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut
    Merci pour cette réponse.

    Pardon je n'ai peu être pas posté ce message au bon endroit.

    En gros je code en java avec eclipse. Je veux que l'utilisateur me donne son fichier xml et son fichier xsl, et moi je lance juste la transformation. Ainsi j'utilise un code de ce genre :

    http://codingwithpassion.blogspot.fr...a-example.html

    Mon problème est que je ne comprend pas comment ajouter saxon9he.jar au classpath...

    Je dois aussi mettre le .jar dans le dossier src de mon projet eclipse non ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par Lolosan Voir le message
    Pardon je n'ai peu être pas posté ce message au bon endroit.
    Non, ça va. Vu que la question porte seulement sur l'utilisation de Java, le forum Général Java / XML aurait bien convenu aussi, mais bon.

    Citation Envoyé par Lolosan Voir le message
    Je veux que l'utilisateur me donne son fichier xml et son fichier xsl, et moi je lance juste la transformation.
    D'accord. Donc oui, c'est bien du XSLT en bonne et due forme.

    Citation Envoyé par Lolosan Voir le message
    Ainsi j'utilise un code de ce genre :

    http://codingwithpassion.blogspot.fr...a-example.html
    Bien. En fait, tu n'as même pas besoin du System.setProperty()

    Citation Envoyé par Lolosan Voir le message
    Mon problème est que je ne comprend pas comment ajouter saxon9he.jar au classpath...
    Clic droit sur le projet / Build Path / Add External Archives...
    L'arborescence du projet va indiquer, à côté de "JRE System Library," "Referenced Libraries," où se trouvera désormais une référence au jar, indiquant qu'il participe à la compilation et au runtime.

    Citation Envoyé par Lolosan Voir le message
    Je dois aussi mettre le .jar dans le dossier src de mon projet eclipse non ?
    Non.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut
    Merci beaucoup sa fonctionne !

    Par contre dernier petit truc si quelqu'un a une idée. Mon fichier xsl est en version 2.0, elle prend un fichier xml, et créer en sortie une douzaine de fichiers xhtml.

    Or la fonction transformer.transform prend en paramètre le fichier source xml et le fichier de sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public abstract void transform(Source xmlSource,
                                   Result outputTarget)
                            throws TransformerException
    Or moi en sortie j'ai plusieurs fichiers. J'ai décidé d'utiliser Saxon comme il gère la version 2.0 d'xslt or je ne comprend pas comment générer ces fichiers...

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Le principe de base de XSLT, c'est bien de prendre une seule entrée XML et de produire une seule sortie.

    La feuille de style, à l'intérieur, peut importer d'autres XML à lire avec document(), et produire d'autres XML à écrire avec <xsl:result-document>.

    A ma connaissance ces documents sont désérialisés/sérialisés par le moteur XSLT lui-même sans les exposer à l'appelant Java.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut
    Oui mais depuis la version 2.0 un fichier XSLT peut produire plusieurs sorties (dans mon cas je produis plusieurs fichiers XHTML).

    Enfin bref j'ai réussi a résoudre mon problème. Ce code me permet de faire ce que je souhaite en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    simpleTransform("d:/project/hob/AppModule.xml",  
                            "d:/project/hob/create-fragment.xslt", "C:/");
    Il exécute bien mon xslt et met les fichiers dans C:/. C'est moi qui avait mal mis mon chemin vers mon dossier.

    Enfin merci beaucoup !

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bonjour,

    Parce que ce lien ressort parmi l'un des premiers dans google:

    Tu peux utiliser "saxon" pour faire exactement ce que ton programme est censé faire via cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar saxon9.jar -s:... -xsl:... -o:...
    avec s pour source
    o pour out

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo