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=24779>. 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=24779 Jasper fails to parse correct XML syntax JSP page with certain EL expressions. Summary: Jasper fails to parse correct XML syntax JSP page with certain EL expressions. Product: Tomcat 5 Version: 5.0.14 Platform: All OS/Version: All Status: NEW Severity: Major Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] It appears that certain JSP 2.0 EL expressions may or may not work depending on choosen JSP syntax. E.g., jsp page in standard syntax <html> <head> </head> <body> ${header["user-agent"]}<br/> \${header["user-agent"]}<br/> </body> </html> is ok, but jsp page in xml syntax <?xml version="1.0" encoding="iso-8859-1"?> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> <jsp:directive.page contentType="text/html"/> <html> <head> </head> <body> ${header["user-agent"]}<br/> \${header["user-agent"]}<br/> </body> </html> </jsp:root> will result into "org.apache.jasper.JasperException: /test.jsp() Unterminated ${ tag" exception. I believe the problem is withing JspDocumentParser.java code. The characters() function assumes that the parser always passes the content of a text node with a single call which is not always the case. Actually, org.xml.sax.ContentHandler API specifies that "SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks". Moreover, it splits text nodes content into several chunks whenever it meets '[' or ']' within the node, so the code fails to parse any correct EL expression using array access syntax. Also please note that escaping EL expression with '\' character also doesn't work with XML syntax. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]