Bonjour à tous !

J'ai fait cette méthode qui transforme un XML en un autre XML en passant par un XSL :

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
 public XmlNode getCreateXml() throws DfException, SAXException, IOException, TransformerException
    {
        String result = null;
 
        XMLReader analyseurSax = XMLReaderFactory.createXMLReader();
        InputStream fis =  new FileInputStream(xsl.getFile(null));
        InputSource sourceEntreeXSL = new InputSource(fis);
        SAXSource sourceXSL = new SAXSource(analyseurSax, sourceEntreeXSL);
 
        XmlDocument xmlDoc = new XmlDocument();
        InputSource sourceEntreeXML = new InputSource(xmlDoc.getInputStream());
        SAXSource sourceXML = new SAXSource(analyseurSax, sourceEntreeXML);
 
        TransformerFactory fabrique = TransformerFactory.newInstance();
        Transformer transformateur = fabrique.newTransformer(sourceXSL);
 
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
 
        Result sortie = new StreamResult(baos);
        transformateur.transform(sourceXML, sortie);
 
        result = new String(baos.toByteArray());
 
        //analyseurSax.
        fis.close();
        baos.flush();
        baos.close();
Le problème c'est que ma méthode plante la deuxième fois ou je la lance et j'ai une erreur du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: java.lang.IllegalStateException: can't declare any more prefixes in this context
	at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:805)
Je pense que je ne ferme pas bien quelque chose genre un OutputStream mais je n'arrive pas à savoir quoi !

Merci d'avance pour votre aide !