The following comment has been added to this issue:

     Author: Hans Gilde
    Created: Tue, 24 Aug 2004 4:19 PM
       Body:
So, when you transform your XML document, it's supposed to strip out the original 
comments. If you want comments in your output, you have to put them in CDATA in the 
original.

How about this:

By default, CopyOf won't output lexical data. If you want to access the comments in 
this mode, you have to use "string($doc/a/comment())"

We add in an attribute "lexical" that will cause CopyOf to output lexical information 
along with the content. In this mode, you should expect the "double entity" issue and 
any other issue related to outputting lexical data.

It's a little inconvenient for the user but the underlying SAX/dom4j classes work this 
way.

I'll submit the patch tomorrow unless you hate it.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/JELLY-28?page=comments#action_37438

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JELLY-28

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JELLY-28
    Summary: Bad entity processing
       Type: Bug

     Status: Open
   Priority: Blocker

    Project: jelly
 Components: 
             core / taglib.core
   Fix Fors:
             1.0-beta-4

   Assignee: james strachan
   Reporter: Incze Lajos

    Created: Thu, 30 Jan 2003 7:44 PM
    Updated: Tue, 24 Aug 2004 4:19 PM
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


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to