Hi,

After some further tests, this NPE is caused by a fo:footnote within a 
fo:block-container in absolute position and/or with a specified height.

1/ You should fill in a bug for that.

2/ why do you need a footnote in a fo:block-container in absolute position?
Since you control the posistion of its content, I think you shoud use the same 
thing for the note, and put it in a fo:block-container in absolute position...
WDYT?

Pascal


> -----Message d'origine-----
> De : Mark Zuneska [mailto:[EMAIL PROTECTED] 
> Envoyé : 2007-09-28 19:13
> À : [email protected]
> Objet : Re: Null Pointer Exception with Footnotes
> 
> Actually the table is absolutly positioned near the top of 
> the page and there are several other absolutly positioned 
> block-container elements (with empty blocks currently) on the 
> page as well. This is also the only footnote on the page. I 
> tried adding the space-after attribute to several different 
> elements around the table and that didn't seem to make a difference. 
> 
> On 9/28/07, Iskren Pushkarov <[EMAIL PROTECTED]> wrote: 
> 
>       Hi Mark,
>       
>       I've had similar exceptions regarding 
> PageBreakingAlgorithm.java in specific
>       layout situation, not only in 0.94 but also in 0.93.
>       
>       I can guess your table (the code above footnote) 
> appears near the bottom of
>       the page. Is it right?
>       Do you have some footnotes one after another?
>       When I had 4, 5, 6 footnotes in a group, this always results in 
>       "PageBreakingAlgorithm exception".
>       
>       As some kind of workaround I suggest you to add some 
> space-after (or
>       space-before) attributes to one or more elements that 
> precede the trouble
>       footnote.
>       Try with different values (10, 20, 40, 50pt..), the 
> idea is to move the 
>       footnote(s) to the next page.
>       
>       Regards,
>       Iskren
>       
>       -----Original Message-----
>       From: news [mailto:[EMAIL PROTECTED] On Behalf Of Mark
>       Sent: Thursday, September 27, 2007 9:28 PM 
>       
>       I'm getting a null pointer exception when trying to add 
> a footnote to a 
>       specific aspect of my page. I'm using version 0.94 of 
> FOP. I am including
>       the
>       stack trace I receive for the exception. I'm also 
> including a skimmed down
>       version of my fo file. If this does not provide enough 
> context, I can paste 
>       in
>       the whole thing. Thanks for any help.
>       
>       Sep 27, 2007 1:59:37 PM org.apache.fop.cli.Main startFOP
>       SEVERE: Exception
>       java.lang.NullPointerException
>              at
>       org.apache.fop.cli.InputHandler.transformTo 
> (InputHandler.java:168)
>              at 
> org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
>              at org.apache.fop.cli.Main.startFOP(Main.java:166)
>              at org.apache.fop.cli.Main.main(Main.java:197)
>       
>       ---------
>       
>       java.lang.NullPointerException at
>       org.apache.fop.layoutmgr.PageBreakingAlgorithm.handleFootnotes
>       (PageBreakingAlgorithm.java:248)
>       at org.apache.fop.layoutmgr.PageBreakingAlgorithm.handleBox
>       (PageBreakingAlgorithm.java:220)
>       at org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints
>       (BreakingAlgorithm.java:462)
>       at org.apache.fop.layoutmgr.BreakingAlgorithm.findBreakingPoints
>       (BreakingAlgorithm.java :403)
>       at
>       
> org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBrea
> ker.java:338)
>       at
>       
> org.apache.fop.layoutmgr.BlockContainerLayoutManager.getNextKn
> uthElementsAbs
>       olu
>       te(BlockContainerLayoutManager.java :509)
>       at 
> org.apache.fop.layoutmgr.BlockContainerLayoutManager.getNextKn
> uthElements
>       (BlockContainerLayoutManager.java:195)
>       at 
> org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnu
> thElements
>       (BlockStackingLayoutManager.java :284)
>       at 
> org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements
>       (BlockLayoutManager.java:113)
>       at 
> org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements
>       (FlowLayoutManager.java:106)
>       at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements 
>       (PageBreaker.java:145)
>       at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList
>       (AbstractBreaker.java:551)
>       at
>       
> org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBrea
> ker.java:137)
>       at
>       org.apache.fop.layoutmgr.AbstractBreaker.doLayout 
> (AbstractBreaker.java:301)
>       at
>       
> org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBrea
> ker.java:263)
>       at 
> org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout
>       (PageSequenceLayoutManager.java:144) 
>       at org.apache.fop.area.AreaTreeHandler.endPageSequence
>       (AreaTreeHandler.java:233)
>       at
>       
> org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequen
> ce.java:145)
>       at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement 
>       (FOTreeBuilder.java:378)
>       at 
> org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:194)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.endElement
>       (TransformerIdentityImpl.java:1101)
>       at 
> org.apache.xerces.parsers.AbstractSAXParser.endElement 
> (Unknown Source)
>       at 
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
>       Source)
>       at
>       
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$Fragment
ContentDispatc
>       her
>       .dispatch(Unknown Source) 
>       at
>       
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu
> ment(Unknown
>       Source)
>       at 
> org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>       at org.apache.xerces.parsers.XML11Configuration.parse 
> (Unknown Source)
>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>       at 
> org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform 
>       (TransformerIdentityImpl.java:484)
>       at 
> org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:165)
>       at 
> org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:115)
>       at org.apache.fop.cli.Main.startFOP( Main.java:166)
>       at org.apache.fop.cli.Main.main(Main.java:197)
>       
>       <fo:flow flow-name="xsl-region-body" >
>       <fo:block break-after="page">
>       <fo:block-container absolute-position="absolute" 
> border-style="solid" 
>         top="0in" left="0in" width="3in" height="2.75in" 
> font-size="10pt">
>         <fo:block >
>          <fo:table width="100%" table-layout="fixed"> 
>           <fo:table-header>
>            <fo:table-row background-color="silver">
>             <fo:table-cell number-columns-spanned="3">
>              <fo:block>Title of table which should span 
> columns</fo:block> 
>             </fo:table-cell>
>            </fo:table-row>
>            <fo:table-row background-color="black" color="white">
>             cell tags omitted...
>            </fo:table-row>
>           </fo:table-header> 
>           <fo:table-body>
>            <fo:table-row>
>             cell tags omitted...
>            </fo:table-row>
>           </fo:table-body>
>          </fo:table>
>         </fo:block>
>         <fo:block>hello 
>       <!-- exception doesn't occur when below footnote is removed -->
>          <fo:footnote>
>           <fo:inline baseline-shift="super" 
> font-size="75%">(1)</fo:inline>
>           <fo:footnote-body start-indent="0pt" 
> end-indent="0pt" text-indent="0pt" 
>       
>       last-line-end-indent="0pt" text-align="start">
>            <fo:block background-color="antiquewhite" end-indent="5mm">
>             <fo:inline baseline-shift="super" 
> font-size="75%">(1)</fo:inline> 
>             This is a footnote text.
>            </fo:block>
>       </fo:footnote-body>
>       </fo:footnote>
>       </fo:block>
>       </fo:block-container>
>       closing tags...


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to