[
https://issues.apache.org/jira/browse/XALANJ-2537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13031091#comment-13031091
]
Mukul Gandhi commented on XALANJ-2537:
--------------------------------------
There seems to be some guidance here, with regards to memory use while running
FOP,
http://xmlgraphics.apache.org/fop/1.0/running.html#memory
The pointers on this page may help with your use case. You may even seek
support on FOP forum.
It's also true that, beyond a certain point the application or system may not
bear the data load you feed into the application. Then you have to resort to
means like multiprocessing, better CPU (e.g 64 bit processing with matching
JVM), and even partitioning processing & data at application level & then
joining the results.
Thanks.
> The SAX exception occurs in Tansformer.transform() for a very large xml
> string as input.
> -----------------------------------------------------------------------------------------
>
> Key: XALANJ-2537
> URL: https://issues.apache.org/jira/browse/XALANJ-2537
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in
> Xalan projects. Anybody can view the issue.)
> Components: SAX
> Affects Versions: 2.7
> Environment: Linux
> Reporter: Deepthi BakkaVemana
> Priority: Blocker
> Labels: sax_exception_for_Largexml
>
> We are using xalan 2.7.0 and fop 0.95 for generating PDF reports.While
> generating pdf report for a large xml string of 2,96,126 characters(~ nearly
> 3 lakh characters) ,the PDF generation fails and it fails at
> transformer.transform() method in TransformerImpl.java.Since in our
> product,we need large reports with very large strings(events),we need this
> fix ASAP.
> I et the below exception: javax.xml.transform.TransformerException:
> org.xml.sax.SAXException: Mismatch: page-sequence
> (http://www.w3.org/1999/XSL/Format) vs. root
> (http://www.w3.org/1999/XSL/Format)
> at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:725)
> at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2243)
> at
> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2069)
> at
> org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1171)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
> at
> com.ca.calm.reporter.pdf.PDFGenerator.buildPdf(PDFGenerator.java:1312)
> at
> com.ca.calm.reporter.pdf.PDFGenerator.generatePdfForQueryView(PDFGenerator.java:1240)
> at
> com.ca.calm.reporter.pdf.PDFGenerator.exportPanel(PDFGenerator.java:186)
> at calmReporter.exportPanel(calmReporter.java:421)
> at calmReporter.handleRequest(calmReporter.java:161)
> our code:
> TransformerFactory factory = TransformerFactory.newInstance();
> Templates templates = factory.newTemplates(new
> SAXSource(new InputSource(
> new StringReader(xslContent))));
> Transformer transformer = templates.newTransformer();
> // Set the value of a <param> in the stylesheet
> transformer.setParameter("versionParam", "2.0");
> Result res = new SAXResult(fop.getDefaultHandler());
> String parserClass =
> "com.sun.org.apache.xerces.internal.parsers.SAXParser";
> if (((String)
> System.getProperties().get("java.version")).startsWith("1.4"))
> {
> parserClass =
> "org.apache.crimson.parser.XMLReaderImpl";
> }
> //String parserClass =
> "org.apache.crimson.parser.XMLReaderImpl";
> XMLReader reader =
> XMLReaderFactory.createXMLReader(parserClass);
> Source source = new SAXSource(reader, new
> InputSource(bufferedInputStream));
> transformer.transform(source, res); - this is the
> point of failure..
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]