[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-dev
Subject:    [jira] [Commented] (FOP-2362) [PATCH] Using Saxon to intermediate format throws NullPointerException
From:       "Aron Nopanen (JIRA)" <jira () apache ! org>
Date:       2017-10-31 22:33:00
Message-ID: JIRA.12705868.1396338864000.117094.1509489180922 () Atlassian ! JIRA
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/FOP-2362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16227712#comment-16227712 \
] 

Aron Nopanen commented on FOP-2362:
-----------------------------------

Please note this same class of problem still happens in FOP 2.2 when writing external \
objects to Area Tree output. The issue is in DOM2SAX.writeNode when writing element \
attributes: Node.getNamespaceURI() can return null, and this is passed through to \
AttributesImpl.addAttribute.

> [PATCH] Using Saxon to intermediate format throws NullPointerException
> ----------------------------------------------------------------------
> 
> Key: FOP-2362
> URL: https://issues.apache.org/jira/browse/FOP-2362
> Project: FOP
> Issue Type: Bug
> Components: unqualified
> Affects Versions: 1.1
> Environment: Apple OSX 10.9.2 / Java version 1.7.0_11
> Reporter: Hauke Haastert
> Assignee: simon steiner
> Attachments: extensions.diff, simple.xsl, test.fo
> 
> 
> When rendering an XSL-FO file that contains an AFP-Extension to the intermediate \
> format while using Saxon as XSLT transformer, a NullPointerException is thrown. \
> Steps to reproduce: 1. Download and unpack the FOP 1.1 binary release.
> 2. Change into the root directory "fop-1.1" of the release
> 3. Download Saxon HE from \
> http://repo1.maven.org/maven2/net/sf/saxon/Saxon-HE/9.4/Saxon-HE-9.4.jar and copy \
> the file to the lib directory of the FOP 1.1 release 4. Edit the file fop that is \
> located in the root directory of the release and add the following JVM parameter to \
>                 the java_exec_args:
> -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl
> The line should now look like:
> java_exec_args="-Djava.awt.headless=true \
> -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl" 5. \
> Download the attached files test.fo and simple.xsl and run the following fop \
> command: fop -fo test.fo -out application/X-fop-intermediate-format test.if.xml
> Actual Results:
> Application throws NullPointerException:
> java.lang.NullPointerException
> at net.sf.saxon.event.ReceivingContentHandler.getNodeName(ReceivingContentHandler.java:391)
>  at net.sf.saxon.event.ReceivingContentHandler.startElement(ReceivingContentHandler.java:316)
>  at org.apache.fop.util.DelegatingContentHandler.startElement(DelegatingContentHandler.java:185)
>  at org.apache.fop.render.afp.extensions.AFPPageSetup.toSAX(AFPPageSetup.java:125)
> at org.apache.fop.render.intermediate.IFSerializer.handleExtensionObject(IFSerializer.java:680)
>  Expected Results:
> Application should render IF from FO
> Additional Information:
> In the toSAX method of the class org.apache.fop.render.afp.extensions.AFPPageSetup \
> the method addAttribute of the class org.xml.sax.helpers.AttributesImpl is called \
> with null as first argument. Due to the APIDOC of the class \
> org.xml.sax.helpers.AttributesImpl the first argument must either be the namespace \
> or an empty string, but not null: uri - The Namespace URI, or the empty string if \
> none is available or Namespace processing is not being performed. When changing the \
> parameter value to an empty string, no NullPointerException is thrown anymore. The \
> same problem exists in other classes in the package \
> org.apache.fop.render.afp.extensions, so I added a diff file for the complete \
> package (extensions.diff). The exception is not thrown when using Xalan as XSL \
> transformer. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic