You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ji...@codehaus.org on 2003/09/04 15:48:11 UTC

[jira] Updated: (JELLY-66) tag body as unescaped xml

The following issue has been updated:

    Updater: Knut Wannheden (mailto:knut.wannheden@paranor.ch)
       Date: Thu, 4 Sep 2003 8:48 AM
    Comment:
Patch for XMLOutput.  This patch changes the default behaviour of XMLOutput in such a way that the default static factory methods create instances which don't escape text using XML entities.
    Changes:
             Attachment changed to xmloutput-noescape-patch.txt
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=JELLY-66&page=history

---------------------------------------------------------------------
View the issue:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=JELLY-66


Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JELLY-66
    Summary: tag body as unescaped xml
       Type: Bug

     Status: Unassigned
   Priority: Major

 Time Spent: Unknown
  Remaining: Unknown

    Project: jelly
 Components: 
             taglib.core
             tags

   Assignee: 
   Reporter: Knut Wannheden

    Created: Mon, 28 Jul 2003 2:32 AM
    Updated: Thu, 4 Sep 2003 8:48 AM

Description:
(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 "&lt;foo&gt;&lt;/foo&gt;".

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?


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

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

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