TITLE: <fo:marker> broke in 0.20.3rc: Error:null BODY: Hi, we have problems using <fo:marker> in our fo-documents. We use xml+xsl->fo to generate invoices out of our billing system in pdf- format. Therefore we need to have <fo:marker> to create subtotals at the end of each page. Problem #1: In the new fop release 0.20.3rc our fo-documents are not working anymore, because we get an "ERROR: null" when we try to generate an invoice. In tour testing we tried to use the same format for the markers like in the provided examples, but in our installation, we get the same error with the example "glossary.fo" and "hide.fo". Is there a possibility to debug the fop application more deeply? Do we use the wrong .jar files? We copied all the current versions which were supplied in the tar-file into the $CLASSPATH directory. The marker was working with release 0.20.2RC. The debug output is like this: [DEBUG]: Input mode: [DEBUG]: FO [DEBUG]: fo input file: C:\Temp\FOP-02~1.TAR\FOP- 02~1.3RC\docs\examples\markers\glossary.fo [DEBUG]: Output mode: [DEBUG]: awt on screen [DEBUG]: OPTIONS [DEBUG]: no user configuration file is used [default] [DEBUG]: debug mode on [DEBUG]: dump configuration [DEBUG]: quiet mode on [DEBUG]: base directory: file:/C:/Temp/FOP-02~1.TAR/FOP- 02~1.3RC/docs/examples/markers/ [DEBUG]: using SAX parser org.apache.xerces.parsers.SAXParser [INFO]: building formatting object tree [DEBUG]: setting up fonts [ERROR]: null org.apache.fop.apps.FOPException at org.apache.fop.apps.Driver.render(Driver.java:486) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.fop.fo.FObjMixed.addCharacters(FObjMixed.java:47) at org.apache.fop.fo.FOTreeBuilder.characters(FOTreeBuilder.java:166) at org.apache.xerces.parsers.SAXParser.characters(SAXParser.java:1579) at org.apache.xerces.validators.common.XMLValidator.processCharacters (XMLValidator.java:866) at org.apache.xerces.readers.UTF8Reader.scanContent (UTF8Reader.java:2377) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:1094) at org.apache.xerces.framework.XMLDocumentScanner.parseSome (XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) Problem #2: We have a need to get a subtotal from the last page onto the top of every current page and a subtotal on the bottom of every page. Therefore we use a second <fo:marker>. Unfortunatly we get an error for every block which is containing more than one marker, like this: (...) <fo:block> <fo:marker marker-class-name="marker1">last subtotal: $100</fo:marker> <fo:marker marker-class-name="marker2">current subtotal: $100</fo:marker> 1x Potatoe washing machine................. $100 </fo:block> (...) The Output is like this: "fo:marker must be an initial child,and 'marker-class-name' must be unique for same parent" We are pretty much sure, that we use the right syntax for the two markers, we tried to debug through the code and it SHOULD work. The mysterious part of our second marker-problem is, that we get an error but the content of the marker is shown on the resulting invoice. Any help appreciated! Thanks! Jens Scheffler
The fo:marker is still broken in 0.20.3. The problem is that the TextState ts in the parent FObjMixed object is not initialised. The fix should be to copy a line from the Block constructor.
*** Bug 6741 has been marked as a duplicate of this bug. ***
batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed