[jira] (FOP-1776) NPE caused by nested empty fo:inline with id

"Bela Hausmann (Jira)" <[email protected]>
Newsgroups gmane.text.xml.fop.devel
Message-ID <[email protected]>
    [ https://issues.apache.org/jira/browse/FOP-1776 ]


    Bela Hausmann deleted comment on FOP-1776:
    ------------------------------------

was (Author: [email protected]):
I found a dirty workaround so that everything works 'till this is fixed:

Add this to your fo XSL file

<xsl:template match="anchor">
  <xsl:variable name="id">
    <xsl:call-template name="object.id"/>
  </xsl:variable>
  <fo:inline id="{$id}"></fo:inline>
</xsl:template>

Note that there should be the ZERO WIDTH NO-BREAK SPACE unicode charater (U+FEFF) in the fo:inline tag (<fo:inline id="{$id}">U+FEFF</fo:inline>). A unicode font is probably needed for this to work.

> NPE caused by nested empty fo:inline with id
> --------------------------------------------
>
>                 Key: FOP-1776
>                 URL: https://issues.apache.org/jira/browse/FOP-1776
>             Project: FOP
>          Issue Type: Bug
>          Components: layout/inline
>    Affects Versions: 2.5
>         Environment: Operating System: All
> Platform: All
>            Reporter: Mathieu Malaterre
>            Priority: Major
>         Attachments: _test.fo, anchor.id.patch, fop1776.patch, test2.fo
>
>
> Here is my input docbook file:
> <?xml version='1.0' encoding='UTF-8'?>
> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
> "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
> <article>
> <section>
>  <title>title</title>
> <blockquote>
> <para>
> The <emphasis role="bold"><anchor
> id="example.anchor.1"/>anchor</emphasis> element is empty and
> contributes
> nothing to the flow of the content in which it occurs.  It is only useful
> as a target.
> </para>
> </blockquote>
> </section>
> </article>
> which I process with:
> /usr/bin/xsltproc --stringparam fop1.extensions 1 --stringparam
> ulink.show 0 --xinclude -o test2.fo
> /usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl test2.xml
> and lead to:
> $ ./fop test2.fo test2.pdf
> Feb 17, 2010 2:52:18 PM org.apache.fop.apps.FOURIResolver resolve
> SEVERE: Error with opening URL
> 'http://docbook.sourceforge.net/release/images/draft.png': Network is
> unreachable
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:9588)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:10285)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:10980)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:11672)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:12361)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:13050)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:13736)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:14427)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:15118)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:15806)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:16496)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:17186)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:17873)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:18563)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:19253)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:19940)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:20631)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:21322)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> SEVERE: Image not found. URI:
> http://docbook.sourceforge.net/release/images/draft.png. (See position
> 2:22010)
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> WARNING: Font "Symbol,normal,700" not found. Substituting with
> "Symbol,normal,400".
> Feb 17, 2010 2:52:18 PM org.apache.fop.events.LoggingEventListener processEvent
> WARNING: Font "ZapfDingbats,normal,700" not found. Substituting with
> "ZapfDingbats,normal,400".
> Feb 17, 2010 2:52:18 PM org.apache.fop.cli.Main startFOP
> SEVERE: Exception
> java.lang.NullPointerException
>        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
>        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
>        at org.apache.fop.cli.Main.startFOP(Main.java:174)
>        at org.apache.fop.cli.Main.main(Main.java:205)
> ---------
> java.lang.NullPointerException
>        at org.apache.fop.layoutmgr.inline.InlineStackingLayoutManager.getChangedKnuthElements(InlineStackingLayoutManager.java:375)
>        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getChangedKnuthElements(InlineLayoutManager.java:537)
>        at org.apache.fop.layoutmgr.inline.InlineStackingLayoutManager.getChangedKnuthElements(InlineStackingLayoutManager.java:380)
>        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getChangedKnuthElements(InlineLayoutManager.java:537)
>        at org.apache.fop.layoutmgr.inline.LineLayoutManager.findHyphenationPoints(LineLayoutManager.java:1359)
>        at org.apache.fop.layoutmgr.inline.LineLayoutManager.findOptimalBreakingPoints(LineLayoutManager.java:797)
>        at org.apache.fop.layoutmgr.inline.LineLayoutManager.createLineBreaks(LineLayoutManager.java:763)
>        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:592)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:571)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:552)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:280)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:123)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:115)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:571)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:552)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:280)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:123)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:115)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:571)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:552)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:280)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:123)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:115)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:571)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextChildElements(BlockStackingLayoutManager.java:552)
>        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:280)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:123)
>        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:115)
>        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:199)
>        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:140)
>        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:129)
>        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:70)
>        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:216)
>        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:692)
>        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:149)
>        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:132)
>        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:337)
>        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85)
>        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
>        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
>        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
>        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
>        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
>        at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
>        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>        at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source)
>        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
> Source)
>        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
>        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
>        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
>        at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299)
>        at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
>        at org.apache.fop.cli.Main.startFOP(Main.java:174)
>        at org.apache.fop.cli.Main.main(Main.java:205)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.