Bug 36455

Summary: [PATCH] Backwards compatibility fix for SVGOMElement.getCascadedXMLBase()
Product: Batik - Now in Jira Reporter: Jeremias Maerki <jeremias>
Component: SVG DOMAssignee: Batik Developer's Mailing list <batik-dev>
Status: RESOLVED FIXED    
Severity: normal Keywords: PatchAvailable
Priority: P2    
Version: 1.8   
Target Milestone: ---   
Hardware: All   
OS: All   
Attachments: Patch to fix the problem

Description Jeremias Maerki 2005-09-01 10:27:45 UTC
After the SVG1.2/DOM Level 3 upgrade Batik now uses getDocumentURI() to fetch
the base URI of a document. Older applications linked against Batik 1.6 can't
call setDocumentURI(). Therefore, determining the base URI (for resolving
relative URIs) is not always possible. I'll attach my proposed fix to
reestablish backwards compatibility.

The problem can be reproduced by converting examples/fo/svg/external.fo with FOP
Trunk linked against Batik Trunk. FOP Trunk linked against Batik 1.6 works fine.
When the problem is present 4 SVG images externally referenced inside an
fo:instream-foreign-object (SVG namespace) will not display or show the broken
reference image.
Comment 1 Jeremias Maerki 2005-09-01 10:28:58 UTC
Created attachment 16268 [details]
Patch to fix the problem
Comment 2 Cameron McCormack 2005-09-01 13:26:06 UTC
I made a change to SVGOMDocument so that there is only one idea of a document's
URI, irrespective of whether it was set by setDocumentURI or setURLObject.  Give
it a try and let me know if it still doesn't work with FOP.
Comment 3 Jeremias Maerki 2005-09-01 13:45:44 UTC
Your change works fine, too. Thanks!