Whitespace normalization in Jelly is wrong
------------------------------------------

                 Key: JEXL-18
                 URL: http://issues.apache.org/jira/browse/JEXL-18
             Project: Commons JEXL
          Issue Type: Bug
            Reporter: Kohsuke Kawaguchi


In XML, the convention is to only remove "ignorable whitespaces". Ignorable 
whitespaces are defined as a text block that entirely consist of whitespaces, 
surrounded by tags. So the following text are ignorable whitespaces:

  <foo>   <bar>    // text between two start tags
  <foo>   </foo>   // text between start and end tag

(Technically speaking, they are ignorable only when DTD says so, but those are 
nevertheless people usually consider them pseudo-ignorable even if there's no 
DTD.)

But the following text are never ignorable whitespaces:

  <foo> x  <bar>
  <foo> y  </foo>

Jelly agressively trims off whitespaces, even if they are not ignorable. So in 
the above cases, it becomes:

  <foo>x<bar>
  <foo>y</foo>

Such mode of whitespace normalization is not seen anywhere else, and IMHO it is 
confusing. 
It is sometimes even harmful, for example because the following text:

  <p> some text <b>here</b></p>

... becomes:

  <p>some text<b>here</b></p>

and you end up losing the significant space character between 'text' and 
'here'. As an example of proper whitespace stripping, consult XSLT 
(http://www.w3.org/TR/1999/REC-xslt-19991116#strip)

I do realize that one can control the whitespace stripping behavior by using 
TagSupport.setEscapeText(boolean), but nevertheless I thought I would file a 
bug to see if the development team is willing to consider this change. I also 
do realize that this has some non-trivial compatibility implications.

If you are willing to fix this, I have already patched Jelly locally, so I'm 
happy to contribute a patch.

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to