Uploaded image for project: 'Commons Jelly'
  1. Commons Jelly
  2. JELLY-28

Bad entity processing

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0-beta-4
    • Component/s: core / taglib.core
    • Labels:
      None
    • Environment:

      No special environment.

      Description

      Have a file, name it a.xml with this content:

      -----------------------------
      <?xml version="1.0"?>
      <!DOCTYPE a [
      <!ENTITY x "y">
      ]>
      <a>&x;</a>
      -----------------------------

      Run the below simple (maven) jelly script:

      -----------------------------
      <project default="java:jar"
      xmlns:j="jelly:core"
      xmlns:x="jelly:xml">

      <goal name="emnl:test">
      <x:parse var="doc" xml="a.xml"/>
      <echo><x:copyOf select="$doc"/></echo>
      </goal>

      </project>
      -----------------------------

      The result will be this:

      -----------------------------
      ....
      emnl:test:
      [echo] <?xml version="1.0" encoding="UTF-8"?>
      <a>&x;y</a>
      BUILD SUCCESSFUL
      -----------------------------

      I'm aware of the fact that the bug originally comes from dom4j.
      The below dom4j program fragment

      -----------------------------
      ....
      SAXReader xmlReader = new SAXReader();
      Document doc = xmlReader.read("a.xml");
      XMLWriter writer = new XMLWriter(System.out);
      writer.write(doc);
      writer.flush();
      ....
      -----------------------------

      will output this result:

      -----------------------------
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE a><a>&x;</a>
      -----------------------------

      which is bad (not even well-formed). I've filed this issue
      at the dom4j bugtracker
      (http://sourceforge.net/tracker/?group_id=16035&atid=116035)
      under the number 676427, with some notes one the possible
      resolution.

      But as we can see, the jelly xml tag adds a twist to the dom4j bug,
      it inserts both the entity and the entity value into the tag.

      Thanks, incze

        Attachments

        1. lexical-patches.zip
          2 kB
          Hans Gilde

          Activity

            People

            • Assignee:
              diongillard dion gillard
              Reporter:
              incze Incze Lajos
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: