Ok this is what I'm doing: I produce an XML file from data stored on a mainframe. The XML is generate in a VB object. The XML is passed up to an ASP page that makes a Low Level API SOAP call, using MSSOAP Toolkit 2.0, to my PDF server. The PDF server is running Tomcat 4/Apache SOAP 2.2.
On the PDF server, I receive the XML as literalxml in the envelope, fetch a stylesheet, pass the Element object to a Xalan 2.3 transformer (wrapped in a DOMSource object), and then transform the XML into XSL:FO objects. Now I have a Document object that was returned from the transformer wrapped in a DOMResults object. The next step is where the problem lies. I want to pass the Document to a Driver, but I get the dreaded NullPointerException. Most of the time, the XML is will be small ( 5 - 7K), but there is a potention for an account to have 5 to 10 thousand transactions in a day, and we store up to 63 days of data (a single transaction in XML is 594 bytes, therefore a 630K transaction XML file would be 374MB, plus some extra data at the top). So you can see what I have the potential to deal with. What I don't even know is how FOP will handle this. The XSL:FO file is sure to be much larger than 380MB. I transformer a 6.66KB XML file and it produced a XSL:FO file of 16.2KB. If we use that as a benchmark, than the same 374MB would become 909.8MB. That's a whole lot of RAM, not to mention what FOP is going to use to store the rendered PDF. I'm hoping that someone can poke a hole in these numbers (please), because this is getting to look a whole lot bigger than expected. Obviously performance and resource utilization are major concernes (like when are they not?). Obviously SAX for this would be faster because it wouldn't require loading the entire XML contents into memory. So, now is here the questions come in. Do I return from the transform a SAXResults? Also, how do I effectively handle the incoming XML into the SOAP method? I would prefer to send the XML in literalxml format so the < and > are HTML encoded (increasing the size of the content even more). Where do I go from here? On Fri, Mar 22, 2002 at 04:49:40PM +0100, Jeremias Maerki wrote: > <comment>Oops, that one didn't make it to the list at first.</comment> > > DOM (Document) should work. But using DOM to process a 400MB XML? You > wouldn't want to do that. Try to find a way to use SAX. You can fill SAX > events into FOP to create the FO tree. Maybe it helps us to provide you > with some pointers and ideas if you tell us what exactly you're trying > to do. > > > I'm sorry to post this again but I need help. Does passing a Document >datatype to the Driver > > render() method work? I have to potential to move XML files in excess of 400MB >and so I need to avoid as > > moving of data in memory as possible. > > Cheers, > Jeremias M?rki > > mailto:[EMAIL PROTECTED] > > OUTLINE AG > Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern > Tel. +41 41 317 2020 - Fax +41 41 317 2029 > Internet http://www.outline.ch > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] -- David B. Bitton [EMAIL PROTECTED] Diversa ab illis virtute valemus. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
