Bonsoir à tous,
mon problème est super simple. Je veux juste faire une transformation (en java) xsl + xml => xml mais tout en mémoire. J'ai beau chercher je ne trouve pas exactement ce qu'il me faut sur le net.
En gros la, j'envoie en string le contenu de mon fichier xsl, le contenu de mon fichier xmlsource en byte[] et je tente de récupérer tout ça en ByteArrayOutputStream . Mais ça ne me dérange pas de tout faire en string (envoyer le contenu du fichier xsl et xml en string et recupérer le contenu de mon nouveau xml en string. Avez une solution svp?
Voici mon code:
private ByteArrayOutputStream getXmlFormatTAB(String inputXslFileNameXMLtoXML,byte[] xmlSource)
{
TransformerFactory factory = TransformerFactory.newInstance();
ClassLoader loader = PDFGenerator.class.getClassLoader();
InputStream xsltInputStream = loader.getResourceAsStream("WEB-INF/"
+ inputXslFileNameXMLtoXML);
InputStream xmlInputStream = loader.getResourceAsStream("WEB-INF/"
+ inputXslFileNameXMLtoXML);
Result resultat = null;
ByteArrayOutputStream out = new java.io.ByteArrayOutputStream();
try {
// définit l'entrée XSLT
_transformerXMLtoXML = factory.newTransformer(new StreamSource(
xsltInputStream));
// Set the value of a <param> in the stylesheet
_transformerXMLtoXML.setParameter("versionParam", "2.0" );
// Set the value of a <param> in the stylesheet
_transformerXMLtoXML.setParameter("versionParam", "2.0" );
// La source est le fichier xml
InputStream input_l = new ByteArrayInputStream(xmlSource);
Source src = new StreamSource(input_l);
// Déclaration du resultat
resultat = new StreamResult(out);
_transformerXMLtoXML.transform(src, resultat);
}
catch (Exception e) {
e.printStackTrace();
}
return out;
}
Merci d'avance à vous tous,
Vdm