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

Format d'échange (XML, JSON...) Java Discussion :

Transformation XML en XHTML via Java


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Points : 37
    Points
    37
    Par défaut Transformation XML en XHTML via Java
    Bonjour,

    j'ai une application à faire dans un cadre scolaire, il s'agit de transformer un fichier XML (ayant une feuille de style XSL) en XHTML via un programme java.
    je voudrai savoir quel sont les outils que je doit utiliser, j'ai deja vu que DOM et JAXP peuvent etre utile mais le probleme je sait pas ou je doit commencer, si quelqu'un a une idée ou a deja fait une chose similaire veuillez m'aider avec des exemples et merci beaucoup.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Salut,

    Il y a une API pour les transformations xslt: javax.xml.transform.

    Tu tombes bien en ce moment j'essaie de faire presque la même chose. Moi je voudrais utiliser XSLT en java pour transformer un fichier xhtml en un autre.

    J'ai donc codé ce bout de programme qui permet d'exécuter une transformation... Mais j'ai une erreur: javax.xml.transform.TransformerException: L''objet Result transmis à ''{0}'' est incorrect.

    Et ce quel que soit mon fichier xsl. Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    try {
                InputStream inputStream;
     
                //chargement du xsl
                File stylesheet = new File("stylesheet.xsl");
                //String xslt = "";
                //inputStream = new ByteArrayInputStream(xslt);
                StreamSource stylesource = new StreamSource(stylesheet);
     
                //instantiation du transformer
                Templates template = fabrique.newTemplates(stylesource);
                Transformer transformer;
                transformer = template.newTransformer();
     
                //configuration du transformer
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
     
                //création du XML source
                String doc = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"+this._content;
                inputStream = new ByteArrayInputStream(doc.getBytes());
                InputSource inputSource = new InputSource(inputStream);
                SAXSource source = new SAXSource(inputSource);
     
                //création de l'objet de sortie
                //ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                StreamResult resultat = new StreamResult();
     
                //transformation
                transformer.transform(source,resultat);
     
                //conversion de l'objet de resultat sous forme de chaine
                ByteArrayOutputStream outputStream = (ByteArrayOutputStream)resultat.getOutputStream();//cette ligne est-elle nécessaire?
                this._content=outputStream.toString();
     
            } catch (TransformerConfigurationException ex) {
                ex.printStackTrace();
            }

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bon j'ai corrigé mon erreur: voici juste les lignes impactées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //création de l'objet de sortie
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    StreamResult resultat = new StreamResult(outputStream);
    Il aimait pas que je lui passe un streamresult construit par défaut

Discussions similaires

  1. Problème transformation xml en Objet via xslt
    Par lavoyech dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 24/06/2015, 17h16
  2. transformer XML en HTML via Jquery
    Par knebhi dans le forum jQuery
    Réponses: 1
    Dernier message: 01/12/2009, 02h58
  3. [DOM] En java comment charger un XML en dynamique via un filtre
    Par fbertoux dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 16/12/2004, 18h35
  4. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12
  5. Transformation xml + xsl -> HTML via PHP
    Par petit-ourson dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/10/2003, 22h42

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