DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4843>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4843

The stream from PageData.getInputStream() doesn't contain an encoding information

           Summary: The stream from PageData.getInputStream() doesn't
                    contain an encoding information
           Product: Tomcat 4
           Version: 4.0.1 Final
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: Jasper
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


I have the TagLibraryValidator of JSPTL emitting the following exception:

> org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x83) was 
found in the CDATA section.

The code it reports (0x83 here) varies depending on the JSP content.

This happens when I have both taglib page directive to JSPTL and non-ascii 
characters outside the custom tags.  I looked into TagLibraryValidator of JSPTL 
and found the following code in its validate(String prefix, PageData page) 
method:

> SAXParserFactory f = SAXParserFactory.newInstance();
> f.setValidating(true);
> SAXParser p = f.newSAXParser();
> p.parse(page.getInputStream(), h);

TagLibraryValidator.validate is not provided with anything else but PageData, 
to my knowledge, so I thought this is the best it can do even though it doesn't 
mention encodings.  (This is why I'm submitting this report to Tomcat team 
rather than JSPTL team.)

Next, I dumped what PageData.getInputStream() contains, and found that it is 
missing the XML declaration, which I thought should contain the encoding 
attribute propagated from JSP page directive.  So, no wonder the SAX parser 
JSPTL uses fails at non-ascii characters.

I suppose this is a serious situation since this may imply people cannot mix 
non-ascii html text and tag libraries that has TagLibraryValidator.  I see two 
immediate remedies to this, either make PageData.getInputStream() produce an 
XML declaration containing appropriate encoding attribute, or give PageData 
another method getEncoding().

P.S. I'm not an expert of JSP or XML.  So forgive me if I'm saying something 
irrelevant.

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

Reply via email to