hi,
i'm evaluating some special problems to reduce connections to mysql. and so i'm trying for some special db-requests to use precompiled xml (reducing of complex join-operations).
the original file from mysql is about 4 GB and i think i can reduce this file to about 1 GB. for this i want to write some xsl-filters working on the original file.
my code is (anywhere in the examples should be a similar one):
/* * StreamTransformer.java * * Created on 26. M�rz 2005, 10:10 */
package de.uni_leipzig.asv.marvin.test;
import javax.xml.transform.*; import javax.xml.transform.stream.*;
/**
*
* @author buechler
*/
public class StreamTransformer {
/** Creates a new instance of StreamTransformer */
public StreamTransformer() {
}
public void transform( String strInFile, String strXSLFile, String strOutFile ) throws TransformerException, TransformerConfigurationException{
StreamSource objXSLSource = new StreamSource( strXSLFile );
TransformerFactory objTransFactory = TransformerFactory.newInstance();
Transformer objTransformer = objTransFactory.newTransformer( objXSLSource );
objTransformer.transform( new StreamSource(strInFile), new StreamResult(strOutFile) );
}
}
a small document (about 5 MB) can be transformed correctly. the 4 GB document produces the "java.lang.OutOfMemoryError". This seems to me that there are build an dom-tree but i used StreamSource and StreamResult. the target file is of course empty in this case.
does anybody know what's wrong? and have anybody some skills with process large files, especially to perfomance?
regards mb
