Uploaded image for project: 'Cocoon'
  1. Cocoon
  2. COCOON-2104

[PATCH] Add base URI fixup support to XIncludeTransformer

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.1.11, 2.2
    • 2.1.12, 2.3.0
    • * Cocoon Core
    • None
    • Patch available
    • Components: Pipeline
    • Components: Pipeline

    Description

      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/dev@cocoon.apache.org/msg52803.html
      [2] http://www.w3.org/TR/xinclude/#base - The Base URI Fixup section of the W3C's XInclude specification

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users

          People

            jasha Jasha Joachimsthal
            ajcave Andrew Cave
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment