[PATCH] Add base URI fixup support to XIncludeTransformer
---------------------------------------------------------
Key: COCOON-2104
URL: https://issues.apache.org/jira/browse/COCOON-2104
Project: Cocoon
Issue Type: Bug
Components: * Cocoon Core
Affects Versions: 2.1.11-dev (Current SVN), 2.2-dev (Current SVN)
Reporter: Andrew Cave
Priority: Minor
Fix For: 2.1.11-dev (Current SVN), 2.2-dev (Current SVN)
Attachments: baseFixup-2.1-r561455.diff, baseFixup-2.2-r561499.diff
As discussed at [1], the XIncludeTransformer fails to perform the base URI
fixup specified in the W3C's XInclude spec [2]. The spec says that the base
URIs of elements do not change when passed through a conformant XInclude
processor. Meaning, xml:base attributes must be added to the result set. The
reason being that relative URIs in the included document should not break; this
provides a mechanism to resolve them properly.
This patch results in the XIncludeTransformer adding xml:base attributes to
top-level included elements. It does this only when the the base URI of the
included element differs from the base URI of the parent element (meaning: for
almost every case except where the included document is the current document).
The XIncludeTransformer's JUnit test is also updated by this patch to reflect
the fact that the resulting XML file (xinclude-result-1.xml) has an xml:base
attribute added.
[1] http://www.mail-archive.com/[email protected]/msg52803.html
[2] http://www.w3.org/TR/xinclude/#base - The Base URI Fixup section of the
W3C's XInclude specification
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.