Issue Details (XML | Word | Printable)

Key: JELLY-66
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: dion gillard
Reporter: Knut Wannheden
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Commons Jelly

tag body as unescaped xml

Created: 28/Jul/03 09:32 AM   Updated: 07/Sep/04 04:19 PM
Return to search
Component/s: core / taglib.core
Affects Version/s: None
Fix Version/s: 1.0-beta-4

Time Tracking:
Not Specified

File Attachments:
  Size
Text File xmloutput-noescape-patch.txt 2003-09-04 03:48 PM Knut Wannheden 1 kB

Resolution Date: 07/Sep/04 04:19 PM


 Description  « Hide
(I've reported this problem to commons-user before. See thread "[jelly] body as unescaped xml".)

The following snippet exposes the problem:

<j:set var="foo">
<foo/>
</j:set>
${foo}

I expected the output to be "<foo></foo>" (or "<foo/>") but it is actually "<foo></foo>".

The problem is that there is no way to control this behaviour. The reason is that the factory methods of XMLOutput by default return an instance which escapes body text with XML entities (as in the example). In many applications this makes sense, but ss Jelly is primarily a tool to manipulate XML, I think the default should be not to escape XML. (Also read the discussion in http://www.mail-archive.com/commons-user@jakarta.apache.org/msg02750.html.)

In the example the variable "foo" actually gets assigned the String value "<foo></foo>", which is escaped when it's dereferenced using "${foo}". The question is whether the value should really be a String. Shouldn't it really be XML?



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no subversion log entries for this issue yet.