[ 
https://issues.apache.org/jira/browse/FOP-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas L. Delmelle updated FOP-2276:
-------------------------------------
    Attachment: FOP-2276.patch

Attached a small patch proposal.

Problem is, I currently do not immediately have an idea how to test whether 
this would really solve the issue... 
I would have to create a test case that somehow simulates this behaviour, i.e. 
forced throwing of a SAXException and attempt to continue processing. If anyone 
has ideas, even if very vague, feel free to speak up.

> currentFObj is not updated if Throwable is thrown
> -------------------------------------------------
>
>                 Key: FOP-2276
>                 URL: https://issues.apache.org/jira/browse/FOP-2276
>             Project: FOP
>          Issue Type: Bug
>          Components: fo/unqualified
>    Affects Versions: 1.1
>            Reporter: Daniel Dracott
>            Assignee: Andreas L. Delmelle
>         Attachments: FOP-2276.patch
>
>
> If an exception is thrown during 
> org.apache.fop.fo.FOTreeBuilder.MainFOHandler.endElement(String, String, 
> String), then the line "currentFObj = currentFObj.getParent();" does not get 
> executed. If the SAX event source decides to store the exception and 
> continue, then subsequent endElement calls can generate SAXExceptions of the 
> form:
> Caused by: org.xml.sax.SAXException: Mismatch: page-sequence 
> (http://www.w3.org/1999/XSL/Format) vs. root 
> (http://www.w3.org/1999/XSL/Format)
>       at 
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:338)
>       at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:181)
>       ...
> Some implementations of javax.xml.transform.Transformer that we have used 
> will attempt to perform further endElement calls in this way and the 
> SAXException can hide the original Throwable, making diagnosis of problems 
> difficult.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to