Bug 34509

Summary: tag names that are xml:Name but not java identifier are not accepted
Product: Tomcat 5 Reporter: elaine chien <elaine.chien>
Component: JasperAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 5.5.8   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   

Description elaine chien 2005-04-19 00:45:34 UTC
According to the JSP 2.0 specification, custom tag prefix and name should be 
of the type XML:Name. However, for Tomcat 5.5.8, if the name is not a legal 
java identifier, then a compilation error occurs. For instance, Tomcat won't 
accept Da~te`T#ag as a legal name for the Tag.
Comment 1 Yoav Shapira 2005-07-22 16:24:06 UTC
I see the JSP spec uses j2ee:tld-canonical-nameType, which says it's the same as
xsd:nmtoken, which according to
http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken should allow these
various characters.  So this does seem to be a real issue, but I don't have the
time to fix it right now, and I think the magnitude of the patch required might
be big...
Comment 2 Mark Thomas 2006-09-15 02:55:15 UTC
This has been fixed in svn and will be included in 5.5.20 onwards
Comment 3 Randa Perry 2007-05-09 04:40:43 UTC
HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from 
fulfilling this request.

exception 

javax.servlet.ServletException: fiid is null in html_header.jsp
	org.apache.jsp.jsp.displaycriticalerror_jsp._jspService
(org.apache.jsp.jsp.displaycriticalerror_jsp:274)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service
(JspServletWrapper.java:322)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.premier.ofa.servlets.LoggedHttpServlet.forwardToPage
(LoggedHttpServlet.java:399)
	com.premier.ofa.servlets.TransactionProcessorServlet.forwardToErrorPage
(TransactionProcessorServlet.java:1137)
	com.premier.ofa.servlets.TransactionProcessorServlet.forwardToErrorPage
(TransactionProcessorServlet.java:1124)
	com.premier.ofa.servlets.TransactionProcessorServlet.doGet
(TransactionProcessorServlet.java:687)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	com.premier.ofa.servlets.LoggedHttpServlet.service
(LoggedHttpServlet.java:157)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache 
Tomcat/5.5.9 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.9
Comment 4 Mark Thomas 2007-06-01 18:43:55 UTC
See #2