Cocoon
  1. Cocoon
  2. COCOON-2104

[PATCH] Add base URI fixup support to XIncludeTransformer

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1.11, 2.2
    • Fix Version/s: 2.1.12, 2.2.1
    • Component/s: * Cocoon Core
    • Labels:
      None
    • Other Info:
      Patch available
    • Affects version (Component):
      Components: Pipeline
    • Fix version (Component):
      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
      1. baseFixup-2.1-r561455.diff
        6 kB
        Andrew Cave
      2. baseFixup-2.2-r561499.diff
        6 kB
        Andrew Cave

        Activity

        Hide
        Andrew Cave added a comment -
        Patch for trunk.
        Show
        Andrew Cave added a comment - Patch for trunk.
        Hide
        Andrew Cave added a comment -
        Patch for the 2.1.X branch.
        Show
        Andrew Cave added a comment - Patch for the 2.1.X branch.
        Hide
        Grzegorz Kossakowski added a comment -
        Thanks Andrew for providing a patch.

        It will be applied after 2.2 final release.
        Show
        Grzegorz Kossakowski added a comment - Thanks Andrew for providing a patch. It will be applied after 2.2 final release.
        Hide
        Jasha Joachimsthal added a comment -
        Thanks Andrew for the patches
        Show
        Jasha Joachimsthal added a comment - Thanks Andrew for the patches

          People

          • Assignee:
            Jasha Joachimsthal
            Reporter:
            Andrew Cave
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development