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 :

[XSLT] Transformation sous JAVA via Saxon


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut [XSLT] Transformation sous JAVA via Saxon
    Salut à tous !

    Alors voici mon petit soucis :
    Dans une appli test, j'aimerais utiliser le TransformerFactoryImpl() pour transformer le XML via le XSL et renvoyer le résultat.

    Pour l'instant j'ai cette classe :

    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
    40
    41
    42
    43
    44
     
    import java.io.BufferedWriter;
    import java.io.FileInputStream;
    import java.io.StringWriter;
     
    import javax.xml.transform.Transformer;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.StreamSource;
     
    import net.sf.saxon.TransformerFactoryImpl;
     
    import org.w3c.dom.Document;
     
     
    public class test {
     
    	public static void main(String[] args) {
     
     
    		System.out.print(XsltFileToString("C:/XMLXSLT/xml1.xml","C:/XMLXSLT/xml1.xsl"));
     
    	}
     
     
     
     
     
    	public static String XsltFileToString(Document aXML, String aXSL) {
    		StringWriter writer = new StringWriter();
     
    		try {
    			Transformer transformer = new TransformerFactoryImpl().newTransformer(new StreamSource(new FileInputStream(aXSL)));
     
    			transformer.transform(new DOMSource(aXML), new StreamResult(new BufferedWriter(writer)));
    		} catch (Exception ex) {
    			ex.printStackTrace();
    			return null;
    		}
     
    		return (writer.getBuffer() == null) ? null : writer.getBuffer().toString();
    	}
     
    }

    Mon problème se situe dans le premier argument de type Document (org.w3c.dom.Document), j'aimerais passer juste le chemin du xml, je ne vois pas comment modifier ma fonction ou faire en sorte que le fichier en dur sur le disque soit transformer en type Document :/

    Un petit coup de pouce serait le bien venu !

    Par avance merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Finalement j'ai trouvé la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	public static String xmlxsl(File sFileXML, File sFileXSL) throws TransformerException{
     
     
    		 // Charge le XSL
    	      TransformerFactory tFactory = TransformerFactoryImpl.newInstance();
    	      StreamSource ss = new StreamSource(sFileXSL);
    	      Transformer transformer = tFactory.newTransformer(ss);
     
    	      StringWriter swOut = new StringWriter();
    	      transformer.transform(new StreamSource(sFileXML),new StreamResult(swOut));
     
    	      return swOut.getBuffer().toString();
    	}

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

Discussions similaires

  1. [FF][XSLT][JS] Affichage xml via xsl sous Mozilla
    Par Eileen dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 26/04/2007, 12h13
  2. [XSLT] Transformer sous IE et FFX
    Par berniquette dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/02/2007, 10h28
  3. [XML][XSLT] transformer le xml en binaire via une xslt
    Par chama dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/07/2005, 11h42
  4. transformation XML->TXT via XSLT
    Par manumanien dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 07/06/2005, 20h30
  5. [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

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