Bonjour,

Avant tout, je suis en JDK 1.1.8, et je ne peux pas la mettre à jour.
Je pourrais peut-etre passer aux maximum en 1.2.2,
mais ce n'est pas sur du tout.

En entree :
J'ai un ResulSet qui contient un document XML pouvant aller jusqu'a 2Mo dans certains cas.
(Pour avoir une idee plus claire, lorsque je finis de lire mon ResultSet
et que je l'affiche à l'ecran, j'ai le contenu d'un fichier XML avec
les balises et les données...)

En sortie : je dois avoir l'XML transformé en HTML grace a XSLT

-------------------------------------------------------------------------------

Ca marche, mais c'est long....et je ne sais pas ce qui prend le plus de temps. (Mon prog est une Servlet)
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
PrintWriter out = res.getWriter();
       .....
       ResultSetMetaData rsmd = rsCli.getMetaData();
       int numCols = rsmd.getColumnCount();
       String xml= "";
       while ( rsCli.next()) 
        {
            for(int i = 1; i <= numCols; i++)
            {
             xml +=rsCli.getString(i);
            }
        }
       ByteArrayInputStream reader = new ByteArrayInputStream(xml.getBytes());     
       XSLTProcessor processor2 = XSLTProcessorFactory.getProcessor();
       processor2.process(new XSLTInputSource(reader),
                        new XSLTInputSource("testxsl1.xsl"),
                        new XSLTResultTarget(out));
Lors de la lecture du resulset (je recupere du String ),je concatene les champs dans un String.
A la fin,j'ai un String qui contient le fichier XML.

Afin de transformer le XML en HTML, j'utilise la classe XSLTProcessor, de l'api Xalan...version....1.0 ! ! ! Et oui ça date.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
XSLTProcessor prc = XSLTProcessorFactory.getProcessor();
       prc.process(new XSLTInputSource(reader),
                        new XSLTInputSource("urldeXLST"),
                        new XSLTResultTarget(out));
XSLTInputSource peut recevoir en entrée soit le chemin du fichier XML,
soit un Reader, soit un InputSream.
http://e-docs.bea.com/wls/docs61/Xal...putSource.html


Donc j'ai converti le String XML en ByteArrayInputStream ,
et je l'ai passe en argument à XSLTInputSource.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ByteArrayInputStream reader = new ByteArrayInputStream(xml.getBytes());


Tout en gardant le meme deroulement assez barbare,
quel est le moyen le plus rapide pour passer le ResultSet
en argument du constructeur XSLTInputSource ?

Y-a t'il une solution pour transformer directement
le ResultSet en Reader ou InputStream ?

Merci, ++