Hi,
the attached patch add support for Web App Deployment Descriptor that
use XML Schema (Servlet 2.4).
Thanks,
-- Jeanfrancois
Index: ContextConfig.java
===================================================================
RCS file:
/home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
retrieving revision 1.66
diff -u -r1.66 ContextConfig.java
--- ContextConfig.java 23 Jun 2002 20:35:30 -0000 1.66
+++ ContextConfig.java 30 Jul 2002 20:45:13 -0000
@@ -133,6 +133,7 @@
* of that Context, and the associated defined servlets.
*
* @author Craig R. McClanahan
+ * @author Jean-Francois Arcand
* @version $Revision: 1.66 $ $Date: 2002/06/23 20:35:30 $
*/
@@ -224,7 +225,6 @@
* @param event The lifecycle event that has occurred
*/
public void lifecycleEvent(LifecycleEvent event) {
-
// Identify the context we are associated with
try {
context = (Context) event.getLifecycle();
@@ -483,6 +483,14 @@
url = ContextConfig.class.getResource(Constants.TldDtdResourcePath_12);
tldDigester.register(Constants.TldDtdPublicId_12,
url.toString());
+
+ url = ContextConfig.class.getResource(Constants.TldSchemaResourcePath_20);
+
+ // to support servlet.jar that does not contains the schema
+ if (url != null){
+ tldDigester.setSchema(url.toString());
+ }
+
tldDigester.addRuleSet(new TldRuleSet());
return (tldDigester);
@@ -494,9 +502,9 @@
* web application deployment descriptor (web.xml).
*/
private static Digester createWebDigester() {
-
URL url = null;
Digester webDigester = new Digester();
+ webDigester.setNamespaceAware(true);
webDigester.setValidating(true);
url = ContextConfig.class.getResource(Constants.WebDtdResourcePath_22);
webDigester.register(Constants.WebDtdPublicId_22,
@@ -504,11 +512,39 @@
url = ContextConfig.class.getResource(Constants.WebDtdResourcePath_23);
webDigester.register(Constants.WebDtdPublicId_23,
url.toString());
+
+ url = ContextConfig.class.getResource(Constants.WebSchemaResourcePath_24);
+
+ // to support servlet.jar that does not contains the schema
+ if (url != null){
+ webDigester.setSchema(url.toString());
+ }
+
+ // Add local copy of Servlet 2.4 XML Schema instance.
+ url = ContextConfig.class.getResource(Constants.J2eeSchemaResourcePath_14);
+ webDigester.register(Constants.J2eeSchemaPublicId_14,
+ url.toString());
+
+ url = ContextConfig.class.getResource(Constants.W3cSchemaResourcePath_10);
+ webDigester.register(Constants.W3cSchemaPublicId_10,
+ url.toString());
+
+ url = ContextConfig.class.getResource(Constants.JspSchemaResourcePath_20);
+ webDigester.register(Constants.JspSchemaPublicId_20,
+ url.toString());
+
+ url = ContextConfig.class.getResource(Constants.W3cSchemaResourcePath_10);
+ webDigester.register(Constants.W3cSchemaPublicId_10,
+ url.toString());
+
+ url = ContextConfig.class.getResource(Constants.TldSchemaResourcePath_20);
+ webDigester.register(Constants.TldSchemaPublicId_20,
+ url.toString());
+
webDigester.addRuleSet(new WebRuleSet());
return (webDigester);
}
-
/**
* Process the default configuration file, if it exists.
Index: Constants.java
===================================================================
RCS file:
/home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Constants.java,v
retrieving revision 1.5
diff -u -r1.5 Constants.java
--- Constants.java 22 Jul 2001 20:25:13 -0000 1.5
+++ Constants.java 30 Jul 2002 20:45:13 -0000
@@ -69,6 +69,7 @@
* String constants for the startup package.
*
* @author Craig R. McClanahan
+ * @author Jean-Francois Arcand
* @version $Revision: 1.5 $ $Date: 2001/07/22 20:25:13 $
*/
@@ -91,6 +92,11 @@
// "conf/tld_12.dtd";
"/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd";
+ public static final String TldSchemaPublicId_20 =
+ "web-jsptaglibrary_2_0.xsd";
+ public static final String TldSchemaResourcePath_20 =
+ "/javax/servlet/resources/web-jsptaglibrary_2_0.xsd";
+
public static final String WebDtdPublicId_22 =
"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN";
public static final String WebDtdResourcePath_22 =
@@ -103,4 +109,24 @@
// "conf/web_23.dtd";
"/javax/servlet/resources/web-app_2_3.dtd";
+ public static final String WebSchemaPubliId_24 =
+ "web-app_2_4.xsd";
+ public static final String WebSchemaResourcePath_24 =
+ "/javax/servlet/resources/web-app_2_4.xsd";
+
+ public static final String J2eeSchemaPublicId_14 =
+ "j2ee_1_4.xsd";
+ public static final String J2eeSchemaResourcePath_14 =
+ "/javax/servlet/resources/j2ee_1_4.xsd";
+
+ public static final String W3cSchemaPublicId_10 =
+ "xml.xsd";
+ public static final String W3cSchemaResourcePath_10 =
+ "/javax/servlet/resources/xml.xsd";
+
+ public static final String JspSchemaPublicId_20 =
+ "jsp_2_0.xsd";
+ public static final String JspSchemaResourcePath_20 =
+ "/javax/servlet/resources/jsp_2_0.xsd";
+
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>