Hello, I am trying to upgrade from FOP 0.20.1 0.20.3. As per the release notes, changing "master-name" properties to "master-reference" eliminated some errors.
However, after those simple errors were resolved, I get a NullPointerException, but little else. Here's what FOP dumps to the console: [ERROR]: Logger not set [INFO]: building formatting object tree [INFO]: [1] [WARN]: table-layout=auto is not supported, using fixed! [WARN]: table-layout=auto is not supported, using fixed! [INFO]: [2] java.lang.RuntimeException: java.lang.NullPointerException That's all it says -- it doesn't give any more help. I running FOP in a servlet environment on WebSphere 3.5.3, which I believe runs JDK 1.2.2. The same stylesheet and everything worked on 0.20.1. Does anybody know what the problem is? The stylesheet appears below. Thanks!!! <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Shawn Lindstrom (St. Paul Fire and Marine) --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version=" 1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:include href="coverPage.xsl"/> <!--**************************************************************** ** "/" template matches the document and is the starting point *************************************************************--> <xsl:template match="/"> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-size="8pt" font-family="sans-serif"> <fo:layout-master-set> <fo:simple-page-master master-reference="simple" margin-right=" 0.5in" margin-left="0.5in" margin-bottom="0.5in" margin-top="0.5in" page-width="11in" page-height="8.5in"> <fo:region-before extent="1in"/> <fo:region-body margin-top="1in"/> <fo:region-after extent="1in"/> </fo:simple-page-master> </fo:layout-master-set> <!-- end: defines page layout --> <xsl:apply-templates select="accountSummaryPage"/> <xsl:apply-templates select=" accountSummaryPage/lossDataRows/majorSort/pageSequence"/> </fo:root> </xsl:template> <!--*************** ** PAGE SEQUENCE ****************--> <xsl:template match="pageSequence"> <fo:page-sequence master-reference="simple"> <fo:static-content flow-name="xsl-region-before"> <!-- TEMPORARY PAGE HEADER --> <fo:block> <fo:table> <fo:table-column column-width="0.75in"/> <fo:table-column column-width="2in"/> <fo:table-column column-width="4.5in"/> <fo:table-column column-width="1.25in"/> <fo:table-column column-width="1.5in"/> <fo:table-body> <!-- ROW ONE --> <fo:table-row display-align="center"> <fo:table-cell> <fo:block> <fo:external-graphic src="images/StPaulLogoPDF.gif " scaling="uniform"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block font-size="14pt" font-weight="bold" text-align="center">Coverage Detail</fo:block> </fo:table-cell> <fo:table-cell padding-right="3pt"> <fo:block text-align="end" font-weight="bold">Filter On:</fo:block> </fo:table-cell> <fo:table-cell> <fo:block text-align="start">Policy Inception Date</ fo:block> </fo:table-cell> </fo:table-row> <!-- ROW TWO --> <fo:table-row display-align="center"> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block font-size="10pt" font-weight="bold" text-align="center">Prefered Insured, Inc</fo:block> </fo:table-cell> <fo:table-cell padding-right="3pt"> <fo:block font-weight="bold" text-align="end">Open Claim Range:</fo:block> </fo:table-cell> <fo:table-cell> <fo:block text-align="start">00/00/0000-00/00/0000</ fo:block> </fo:table-cell> </fo:table-row> <!-- ROW THREE --> <fo:table-row display-align="center"> <fo:table-cell number-columns-spanned="3"> <fo:block font-weight="bold">Eveluation Date: 00/00/0000</fo:block> </fo:table-cell> <fo:table-cell padding-right="3pt"> <fo:block font-weight="bold" text-align="end">Closed Claim Range:</fo:block> </fo:table-cell> <fo:table-cell> <fo:block text-align="start">00/00/0000-00/00/0000</ fo:block> </fo:table-cell> </fo:table-row> <!-- ROW FOUR --> <fo:table-row display-align="center"> <fo:table-cell number-rows-spanned="2"> <fo:block font-weight="bold">Location: 0125609</ fo:block> </fo:table-cell> <fo:table-cell number-rows-spanned="2" number-columns-spanned="4"> <fo:block>Description goes here and could get really long but not yet. now we're testing a really long description of something and we're putting a bunch of crap in the text field so we can test this description field. but we need to keep adding and adding and adding and adding and adding text.</fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:block> </fo:static-content> <!-- END PAGE HEADER --> <!-- TEMP PAGE FOOTER --> <fo:static-content flow-name="xsl-region-after"> <fo:table> <fo:table-column column-width="5in"/> <fo:table-column column-width="5in"/> <fo:table-body> <fo:table-row height="1in" display-align="after"> <fo:table-cell text-align="start"> <fo:block font-size="6pt"> <fo:inline font-family="Symbol" font-size="6pt"> <fo:character character="♦"/> </fo:inline> where Reserve dollars are blocked due to sensitivity </fo:block> </fo:table-cell> <fo:table-cell text-align="end"> <fo:block> <fo:page-number/> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </fo:static-content> <!-- END PAGE HEADER --> <fo:flow flow-name="xsl-region-body"> <fo:block> <fo:table border-width="0.5pt" border-style="solid"> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-column column-width="1in"/> <fo:table-header border-bottom-width="0.5pt" border-bottom-style="solid"> <fo:table-row display-align="center"> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block/> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Loss</fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Expense</fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Incurred</fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Insured</fo:block> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Retention</fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">St. Paul</fo:block> <fo:block font-weight="bold" vertical-align="middle" border-width="1pt" border-color="black">Retention</fo:block> </fo:table-cell> </fo:table-row> </fo:table-header> <fo:table-body> <xsl:apply-templates select="minorSort"/> </fo:table-body> </fo:table> </fo:block> </fo:flow> </fo:page-sequence> </xsl:template> <!--************* ** MINOR SORT **************--> <xsl:template match="minorSort"> <!-- ROW 1 = Coverage Title (4 col span), "Paid", PaidLoss, PaidExpense, *, InsuredRetention, * --> <fo:table-row background-color="#E0E0E0" space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="4"> <fo:block> <xsl:value-of select="../../@title"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold"> Paid </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/paidLoss"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/paidExpense"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/insuredRetention"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 2 = Policy Number date 1 to date 2 (4 col span), "Reserve", ReserveLoss, ReserveExpense, *, 0, * --> <fo:table-row space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="4"> <fo:block> <xsl:value-of select="@title"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold"> Reserve </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/reserveLoss"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/reserveExpense"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 3 = "Number of Occurances: " occrNumber (4 col span), "Recovery", 0, 0, 0, 0, 0 --> <fo:table-row background-color="#E0E0E0" space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="4"> <fo:block> Number of Occurences: <xsl:value-of select="dataRow/occrNumber "/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold"> Recovery </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 4 = "Info Here" (4 col span), "Incurred", *, *, IncuredTotal, InsuredRetention, StPaulRetention --> <fo:table-row space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="4"> <fo:block> Info Here </fo:block> </fo:table-cell> <fo:table-cell> <fo:block font-weight="bold"> Incurred </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> * </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/incurredTotal"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/insuredRetention"/> </fo:block> </fo:table-cell> <fo:table-cell> <fo:block> <xsl:value-of select="dataRow/spcRetention"/> </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 5 = "Info Here" (10 col span left justified) --> <fo:table-row background-color="#E0E0E0" space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="10"> <fo:block> Info Here </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 6 = "Info Here" (10 col span left justified) --> <fo:table-row space-before.optimum="3pt" keep-with-next="always" display-align="center"> <fo:table-cell number-columns-spanned="10"> <fo:block> Info Here </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 7 = "Info Here" (4 col span), "Claim Category:" (7 col span centered) --> <fo:table-row background-color="#E0E0E0" space-before.optimum="3pt" display-align="center" keep-with-next="always"> <fo:table-cell number-columns-spanned="4"> <fo:block> Info Here </fo:block> </fo:table-cell> <fo:table-cell number-columns-spanned="7"> <fo:block font-weight="bold" text-align="center"> Claim Category: </fo:block> </fo:table-cell> </fo:table-row> <!-- ROW 8 = Loss Description:" (10 col span left justified) --> <fo:table-row space-before.optimum="3pt" display-align="center"> <fo:table-cell border-bottom-width="0.5pt" border-bottom-style=" solid" number-columns-spanned="10"> <fo:block> Loss Description: </fo:block> </fo:table-cell> </fo:table-row> </xsl:template> </xsl:stylesheet>
