When I try to render the attached FO file, I get this exception [INFO]: FOP 0.20.3 [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.CommandLineStarter.run(CommandLineStarter.java:72 ) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.CommandLineStarter.run(CommandLineStarter.java:72 ) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.fop.fo.flow.Flow.setFlowName(Flow.java:98) at org.apache.fop.fo.flow.Flow.<init>(Flow.java:77) at org.apache.fop.fo.flow.Flow$Maker.make(Flow.java:28) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:261) at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XML Validator.java:840) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:1223) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.CommandLineStarter.run(CommandLineStarter.java:72 ) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.CommandLineStarter.run(CommandLineStarter.java:72 ) at org.apache.fop.apps.Fop.main(Fop.java:19) --------- java.lang.NullPointerException at org.apache.fop.fo.flow.Flow.setFlowName(Flow.java:98) at org.apache.fop.fo.flow.Flow.<init>(Flow.java:77) at org.apache.fop.fo.flow.Flow$Maker.make(Flow.java:28) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:261) at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XML Validator.java:840) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp atch(XMLDocumentScanner.java:1223) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS canner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948) at org.apache.fop.apps.Driver.render(Driver.java:481) at org.apache.fop.apps.CommandLineStarter.run(CommandLineStarter.java:72 ) at org.apache.fop.apps.Fop.main(Fop.java:19) <?xml version="1.0" encoding="UTF-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"><fo:layout-master- set><fo:simple-page-master margin-bottom="2cm" margin-top="2cm" margin- right="3cm" margin-left="3cm"><fo:region-before extent="12pt"/><fo:region-body margin-bottom="20pt" margin-top="20pt"/><fo:region-after extent="12pt"/></fo:simple-page-master></fo:layout-master-set><fo:page- sequence><fo:flow><fo:block space-after="6pt" text-align="centered" font- size="24pt">Master's thesis</fo:block><fo:block text-align="centered"> by Mikael Ståldal</fo:block></fo:flow></fo:page-sequence><fo:page- sequence><fo:sequence-specification><fo:sequence-specifier-repeating page- master-repeating="one" page-master-first="one"/></fo:sequence- specification><fo:static-content flow-name="xsl-before"><fo:block font- size="10pt">Master's thesis</fo:block></fo:static-content><fo:static-content flow-name="xsl-after"><fo:block text-align="centered" font-size="10pt"><fo:page- number/></fo:block></fo:static-content><fo:flow font-family="serif" font- size="12pt"><fo:block space-after="24pt" font-size="20pt">Table of Contents </fo:block><fo:block> Chapter 1 - XML and related standards... <fo:page-number-citation ref-id="chap1"/></fo:block><fo:list- block><fo:list-item><fo:list-item-label><fo:block/></fo:list-item- label><fo:list-item-body><fo:block>1.1 Extensible Stylesheet Language... <fo:page-number-citation ref-id="sect1.1"/></fo:block></fo:list- item-body></fo:list-item><fo:list-item><fo:list-item-label><fo:block/></fo:list- item-label><fo:list-item-body><fo:list-block><fo:list-item><fo:list-item- label><fo:block/></fo:list-item-label><fo:list-item-body><fo:block>1.1.1 XSL Transformations... <fo:page-number-citation ref- id="subsect1.1.1"/></fo:block></fo:list-item-body></fo:list-item><fo:list- item><fo:list-item-label><fo:block/></fo:list-item-label><fo:list-item- body><fo:block>1.1.2 Formatting Objects... <fo:page-number-citation ref- id="subsect1.1.2"/></fo:block></fo:list-item-body></fo:list-item></fo:list- block></fo:list-item-body></fo:list-item></fo:list-block> <fo:block id="chap1" font-size="20pt" break-before="page"> Chapter 1</fo:block><fo:block space-after="24pt" font-size="20pt">XML and related standards</fo:block> <fo:block id="sect1.1" font-weight="bold" font-size="14pt">1.1 Extensible Stylesheet Language</fo:block> <fo:block id="subsect1.1.1" font-weight="bold">1.1.1 XSL Transformations</fo:block> <fo:block> XSLT [5] is a language for specifying how a class of XML documents are to be transformed into other documents. The output document can be another type of XML, HTML <fo:footnote><fo:footnote-citation>1</fo:footnote- citation><fo:block>1HyperText Markup Language</fo:block></fo:footnote> or plain text. XSLT allows the content of the input document to be filtered, reordered, sorted and duplicated. Arbitrary static content can be inserted in the output document. </fo:block> <fo:block> Since XSLT usually is used for formatting and presenting XML documents, a transformation specification is called a stylesheet. An XSLT stylesheet is also an XML document. </fo:block> <fo:block> The software module that reads an XSLT stylesheet and applies its transformation rules on an XML document to produce a transformed document is called an <fo:inline-sequence font-style="italic">XSLT processor</fo:inline- sequence>. </fo:block> <fo:block id="subsect1.1.2" font-weight="bold">1.1.2 Formatting Objects</fo:block> <fo:block> Formatting Objects [6] (here abbreviated FO) is an XML language used to describe the formatting and presentation of information on some medium. </fo:block> <fo:block> Even though FO documents can be stored and transfered as any other XML documents, they are usually generated by an XSLT transformation and then directly interpreted to produce the desired presentation. </fo:block> <fo:block break-before="page" space-after="24pt" font-size="20pt"> Bibliography </fo:block><fo:list-block> <fo:list-item><fo:list-item-label id="xmlcomp"><fo:block>[1] </fo:block></fo:list-item-label><fo:list-item-body><fo:block>Bradley, Niel: <fo:inline-sequence font-style="italic">The XML companion, second editon</fo:inline-sequence>, Addison-Wesley 1999.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="xml"><fo:block>[2]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">Extensible Markup Language (XML) 1.0</fo:inline-sequence>, REC-xml-19980210.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="xmlns"><fo:block>[3]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">Namespaces in XML</fo:inline-sequence>, REC-xml-names- 19990114.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="xpath"><fo:block>[4]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">XML Path Language (XPath) Version 1.0</fo:inline-sequence>, REC-xpath-19991116.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="xslt"><fo:block>[5]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">XSL Transformations (XSLT) Version 1.0</fo:inline-sequence>, REC-xslt-19991116.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="xsl"><fo:block>[6]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">Extensible Stylesheet Language (XSL) Version 1.0</fo:inline- sequence> (working draft), WD-xsl-20000112.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="css1"><fo:block>[7]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">Cascading Style Sheets, level 1</fo:inline-sequence> REC-CSS1-19990111.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="css2"><fo:block>[8]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">Cascading Style Sheets, level 2</fo:inline-sequence> REC-CSS2-19980512.</fo:block></fo:list-item-body></fo:list-item> <fo:list-item><fo:list-item-label id="html"><fo:block>[9]</fo:block></fo:list- item-label><fo:list-item-body><fo:block>W3C: <fo:inline-sequence font- style="italic">HTML 4.01 Specification</fo:inline-sequence>, REC-html401-19991224.</fo:block></fo:list-item-body></fo:list-item> </fo:list-block> </fo:flow></fo:page-sequence></fo:root>
That's a rather interesting one. The FO document is invalid, there is the flow-name missing on the fo:flow, a rare error. While trying to complain, FOP falls over because there is apparently no logger set on the flow Java object.
This appears to be caused by a failure to change the master-name property on the fo:conditional-page-master-reference. Making this correction causes the problem to go away. (This bug was submitted by Bill Cohagan on my behalf - I've confirmed the fix with him) --Don
*** This bug has been marked as a duplicate of 6243 ***
batch transition to closed remaining pre-FOP1.0 resolved bugs