pierred 00/12/08 16:36:11 Modified: jasper/src/share/org/apache/jasper/compiler JspParseEventListener.java XmlOutputter.java Log: Added proper handling of <jsp:include> and <jsp:forward> tags when generating the XML stream for validation by tag libraries. Revision Changes Path 1.17 +9 -5 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java Index: JspParseEventListener.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- JspParseEventListener.java 2000/12/08 20:45:09 1.16 +++ JspParseEventListener.java 2000/12/09 00:36:10 1.17 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v 1.16 2000/12/08 20:45:09 pierred Exp $ - * $Revision: 1.16 $ - * $Date: 2000/12/08 20:45:09 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v 1.17 2000/12/09 00:36:10 pierred Exp $ + * $Revision: 1.17 $ + * $Date: 2000/12/09 00:36:10 $ * * ==================================================================== * @@ -952,7 +952,9 @@ new ForwardGenerator(start, attrs, param, isXml), start, stop); addGenerator(gen); - //@@@ xo + xo.append("jsp:forward", attrs); + xo.append("jsp:param", param); + xo.append("jsp:forward"); } public void handleInclude(Mark start, Mark stop, Attributes attrs, @@ -971,7 +973,9 @@ new IncludeGenerator(start, attrs, param, isXml), start, stop); addGenerator(gen); - //@@@ xo + xo.append("jsp:include", attrs); + xo.append("jsp:param", param); + xo.append("jsp:include"); } public void handleCharData(Mark start, Mark stop, char[] chars) throws JasperException { 1.6 +20 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java Index: XmlOutputter.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- XmlOutputter.java 2000/12/08 20:45:13 1.5 +++ XmlOutputter.java 2000/12/09 00:36:10 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v 1.5 2000/12/08 20:45:13 pierred Exp $ - * $Revision: 1.5 $ - * $Date: 2000/12/08 20:45:13 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/XmlOutputter.java,v 1.6 2000/12/09 00:36:10 pierred Exp $ + * $Revision: 1.6 $ + * $Date: 2000/12/09 00:36:10 $ * * ==================================================================== * @@ -153,6 +153,23 @@ */ void append(String tag, Attributes attrs) { append(tag, attrs, sb); + } + + /** + * Append the start tag along with its attributes + * (name, value) to the XML stream. + */ + void append(String tag, Hashtable table) { + Enumeration enum = table.keys(); + while (enum.hasMoreElements()) { + String name = (String)enum.nextElement(); + String value = ((String[])table.get(name))[0]; + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute("", "name", "name", "CDATA", name); + attrs.addAttribute("", "value", "value", "CDATA", value); + append(tag, attrs, sb); + append(tag); + } } /**