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]>