[jboss-cvs] JBossAS SVN: r93323 - in projects/metadata/web/trunk/src/main: resources/schema and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 9 13:59:43 EDT 2009


Author: remy.maucherat at jboss.com
Date: 2009-09-09 13:59:42 -0400 (Wed, 09 Sep 2009)
New Revision: 93323

Modified:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
   projects/metadata/web/trunk/src/main/resources/schema/jsp_2_2.xsd
   projects/metadata/web/trunk/src/main/resources/schema/web-app_3_0.xsd
   projects/metadata/web/trunk/src/main/resources/schema/web-common_3_0.xsd
Log:
- Add multipart config.
- Schema update (will need a new metadata-common to work).

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java	2009-09-09 17:59:42 UTC (rev 93323)
@@ -21,12 +21,16 @@
  */
 package org.jboss.metadata.web.spec;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 
 /**
+ * web-app/servlet/multipart-config
  * @author Scott.Stark at jboss.org
  * @version $Revision: 83549 $
  */
+ at XmlType(name="multipart-configType", propOrder={"location", "maxFileSize", "maxRequestSize", "fileSizeThreshold"})
 public class MultipartConfigMetaData extends IdMetaDataImpl
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java	2009-09-09 17:59:42 UTC (rev 93323)
@@ -39,7 +39,7 @@
  * @version $Revision: 84989 $
  */
 @XmlType(name="servletType", propOrder={"descriptionGroup", "servletName", "servletClass", "jspFile", "initParam", "loadOnStartup",
-      "enabled", "asyncSupported", "runAs", "securityRoleRefs"})
+      "enabled", "asyncSupported", "runAs", "securityRoleRefs", "multipartConfig"})
 public class ServletMetaData extends NamedMetaDataWithDescriptionGroup
    implements MergeableMetaData<ServletMetaData>
 {
@@ -59,6 +59,7 @@
    private SecurityRoleRefsMetaData securityRoleRefs;
    private boolean asyncSupported = asyncSupportedDefault;
    private boolean enabled = enabledDefault;
+   private MultipartConfigMetaData multipartConfig;
 
    public String getServletName()
    {
@@ -136,6 +137,15 @@
       this.enabled = enabled;
    }
 
+   public MultipartConfigMetaData getMultipartConfig()
+   {
+      return multipartConfig;
+   }
+   public void setMultipartConfig(MultipartConfigMetaData multipartConfig)
+   {
+      this.multipartConfig = multipartConfig;
+   }
+   
    public ServletMetaData merge(ServletMetaData original)
    {
       ServletMetaData merged = new ServletMetaData();
@@ -177,6 +187,10 @@
          setEnabled(override.enabled);
       else if(original != null && original.enabled != enabledDefault)
          setEnabled(original.enabled);
+      if(override != null && override.multipartConfig != null)
+         setMultipartConfig(override.multipartConfig);
+      else if(original != null && original.multipartConfig != null)
+         setMultipartConfig(original.multipartConfig);
    }
 
    public String toString()

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java	2009-09-09 17:59:42 UTC (rev 93323)
@@ -23,7 +23,7 @@
 
 
 /**
- * The web-app spec metadata
+ * The web-fragment spec metadata
  * @author Scott.Stark at jboss.org
  * @version $Revision: 70996 $
  */
@@ -42,4 +42,19 @@
       this.ordering = ordering;
    }
    
+   /**
+    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
+    * specification. This is a special type of merging, where non conflicting meta data
+    * augment existing meta data, rather than overriding it.
+    * If there is a conflict when merging the fragment meta data, and the main
+    * webMetaData does not resolve the conflict, an error will be thrown. 
+    * 
+    * @param webFragmentMetaData The web meta data which will be merged into this one
+    * @param webMetaData The base web meta data, used for conflict error checking
+    */
+   public void augment(WebFragmentMetaData webFragmentMetaData, WebMetaData webMetaData)
+   {
+      
+   }
+
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2009-09-09 17:59:42 UTC (rev 93323)
@@ -30,4 +30,19 @@
 public class WebMetaData  extends WebCommonMetaData
 {
    private static final long serialVersionUID = 1;
+
+   /**
+    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
+    * specification. This is a special type of merging, where non conflicting meta data
+    * augment existing meta data, rather than overriding it.
+    * When merging the fragment meta data, any conflict will be resolved ignoring the
+    * fragment meta data.
+    * 
+    * @param webFragmentMetaData The web meta data which will be merged into this one
+    */
+   public void augment(WebFragmentMetaData webFragmentMetaData)
+   {
+      
+   }
+   
 }

Modified: projects/metadata/web/trunk/src/main/resources/schema/jsp_2_2.xsd
===================================================================
--- projects/metadata/web/trunk/src/main/resources/schema/jsp_2_2.xsd	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/resources/schema/jsp_2_2.xsd	2009-09-09 17:59:42 UTC (rev 93323)
@@ -1,76 +1,390 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="2.2">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)jsp_2_2.xsds	02/26/09
+    </xsd:documentation>
+  </xsd:annotation>
 
-      http://www.apache.org/licenses/LICENSE-2.0
+  <xsd:annotation>
+    <xsd:documentation>
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
+      Copyright 2003-2009 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
 
-<!--
-  **  The actual Sun XSD for this stripped down XSD can be found at
-  **  http://java.sun.com/xml/ns/javaee/jsp_2_1.xsd
-  **  This XSD contains only the functional elements for programatic use.
--->
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
 
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"             
-            targetNamespace="http://java.sun.com/xml/ns/javaee" 
-            xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
-            xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
-            elementFormDefault="qualified" 
-            attributeFormDefault="unqualified" 
-            version="2.2">
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
 
-    <xsd:include schemaLocation="javaee_5.xsd" />
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
 
-    <xsd:complexType name="jsp-configType">
-        <xsd:sequence>
-            <xsd:element name="taglib" type="javaee:taglibType" minOccurs="0" maxOccurs="unbounded" />
-            <xsd:element name="jsp-property-group" type="javaee:jsp-property-groupType" minOccurs="0" maxOccurs="unbounded" />
-        </xsd:sequence>
-        <xsd:attribute name="id" type="xsd:ID" />
-    </xsd:complexType>
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
 
-    <xsd:complexType name="jsp-fileType">
-        <xsd:simpleContent>
-            <xsd:restriction base="javaee:pathType" />
-        </xsd:simpleContent>
-    </xsd:complexType>
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
 
-    <xsd:complexType name="jsp-property-groupType">
-        <xsd:sequence>
-            <xsd:group ref="javaee:descriptionGroup"/>
-            <xsd:element name="url-pattern" type="javaee:url-patternType" maxOccurs="unbounded" />
-            <xsd:element name="el-ignored" type="javaee:true-falseType" minOccurs="0" />
-            <xsd:element name="page-encoding" type="javaee:string" minOccurs="0" />
-            <xsd:element name="scripting-invalid" type="javaee:true-falseType" minOccurs="0" />
-            <xsd:element name="is-xml" type="javaee:true-falseType" minOccurs="0" />
-            <xsd:element name="include-prelude" type="javaee:pathType" minOccurs="0" maxOccurs="unbounded" />
-            <xsd:element name="include-coda" type="javaee:pathType" minOccurs="0" maxOccurs="unbounded" />
-            <xsd:element name="deferred-syntax-allowed-as-literal" type="javaee:true-falseType" minOccurs="0" />
-            <xsd:element name="trim-directive-whitespaces" type="javaee:true-falseType" minOccurs="0" />
-            <xsd:element name="default-content-type" type="javaee:string" minOccurs="0" />
-            <xsd:element name="buffer" type="javaee:string" minOccurs="0" />
-            <xsd:element name="error-on-undeclared-namespace" type="javaee:true-falseType" minOccurs="0" />
-        </xsd:sequence>
-        <xsd:attribute name="id" type="xsd:ID" />
-    </xsd:complexType>
+    </xsd:documentation>
+  </xsd:annotation>
 
-    <xsd:complexType name="taglibType">
-        <xsd:sequence>
-            <xsd:element name="taglib-uri" type="javaee:string" />
-            <xsd:element name="taglib-location" type="javaee:pathType" />
-        </xsd:sequence>
-        <xsd:attribute name="id" type="xsd:ID" />
-    </xsd:complexType>
+  <xsd:annotation>
+    <xsd:documentation>
+
+      This is the XML Schema for the JSP 2.2 deployment descriptor
+      types.  The JSP 2.2 schema contains all the special
+      structures and datatypes that are necessary to use JSP files
+      from a web application.
+
+      The contents of this schema is used by the web-app_3_0.xsd
+      file to define JSP specific content.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Java EE
+      deployment descriptor elements unless indicated otherwise.
+
+      - In elements that specify a pathname to a file within the
+	same JAR file, relative filenames (i.e., those not
+	starting with "/") are considered relative to the root of
+	the JAR file's namespace.  Absolute filenames (i.e., those
+	starting with "/") also specify names in the root of the
+	JAR file's namespace.  In general, relative names are
+	preferred.  The exception is .war files where absolute
+	names are preferred for consistency with the Servlet API.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="javaee_6.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jsp-configType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The jsp-configType is used to provide global configuration
+	information for the JSP files in a web application. It has
+	two subelements, taglib and jsp-property-group.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="taglib"
+		   type="javaee:taglibType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="jsp-property-group"
+		   type="javaee:jsp-property-groupType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jsp-fileType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The jsp-file element contains the full path to a JSP file
+	within the web application beginning with a `/'.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:pathType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="jsp-property-groupType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The jsp-property-groupType is used to group a number of
+	files so they can be given global property information.
+	All files so described are deemed to be JSP files.  The
+	following additional properties can be described:
+
+	    - Control whether EL is ignored.
+	    - Control whether scripting elements are invalid.
+	    - Indicate pageEncoding information.
+	    - Indicate that a resource is a JSP document (XML).
+	    - Prelude and Coda automatic includes.
+            - Control whether the character sequence #{ is allowed
+              when used as a String literal.
+            - Control whether template text containing only
+              whitespaces must be removed from the response output.
+	    - Indicate the default contentType information.
+	    - Indicate the default buffering model for JspWriter
+	    - Control whether error should be raised for the use of
+	      undeclared namespaces in a JSP page.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="url-pattern"
+		   type="javaee:url-patternType"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="el-ignored"
+		   type="javaee:true-falseType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Can be used to easily set the isELIgnored
+	    property of a group of JSP pages.  By default, the
+	    EL evaluation is enabled for Web Applications using
+	    a Servlet 2.4 or greater web.xml, and disabled
+	    otherwise.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="page-encoding"
+		   type="javaee:string"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The valid values of page-encoding are those of the
+	    pageEncoding page directive.  It is a
+	    translation-time error to name different encodings
+	    in the pageEncoding attribute of the page directive
+	    of a JSP page and in a JSP configuration element
+	    matching the page.  It is also a translation-time
+	    error to name different encodings in the prolog
+	    or text declaration of a document in XML syntax and
+	    in a JSP configuration element matching the document.
+	    It is legal to name the same encoding through
+	    mulitple mechanisms.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="scripting-invalid"
+		   type="javaee:true-falseType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Can be used to easily disable scripting in a
+	    group of JSP pages.  By default, scripting is
+	    enabled.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="is-xml"
+		   type="javaee:true-falseType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    If true, denotes that the group of resources
+	    that match the URL pattern are JSP documents,
+	    and thus must be interpreted as XML documents.
+	    If false, the resources are assumed to not
+	    be JSP documents, unless there is another
+	    property group that indicates otherwise.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="include-prelude"
+		   type="javaee:pathType"
+		   minOccurs="0"
+		   maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The include-prelude element is a context-relative
+	    path that must correspond to an element in the
+	    Web Application.  When the element is present,
+	    the given path will be automatically included (as
+	    in an include directive) at the beginning of each
+	    JSP page in this jsp-property-group.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="include-coda"
+		   type="javaee:pathType"
+		   minOccurs="0"
+		   maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The include-coda element is a context-relative
+	    path that must correspond to an element in the
+	    Web Application.  When the element is present,
+	    the given path will be automatically included (as
+	    in an include directive) at the end of each
+	    JSP page in this jsp-property-group.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="deferred-syntax-allowed-as-literal"
+		   type="javaee:true-falseType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+             The character sequence #{ is reserved for EL expressions.
+             Consequently, a translation error occurs if the #{
+             character sequence is used as a String literal, unless
+             this element is enabled (true). Disabled (false) by
+             default.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="trim-directive-whitespaces"
+		   type="javaee:true-falseType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+             Indicates that template text containing only whitespaces
+             must be removed from the response output. It has no
+             effect on JSP documents (XML syntax). Disabled (false)
+             by default.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="default-content-type"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The valid values of default-content-type are those of the
+            contentType page directive.  It specifies the default
+            response contentType if the page directive does not include
+            a contentType attribute.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="buffer"
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The valid values of buffer are those of the
+            buffer page directive.  It specifies if buffering should be
+            used for the output to response, and if so, the size of the
+            buffer to use.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="error-on-undeclared-namespace"
+                   type="javaee:true-falseType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The default behavior when a tag with unknown namespace is used
+            in a JSP page (regular syntax) is to silently ignore it.  If
+            set to true, then an error must be raised during the translation
+            time when an undeclared tag is used in a JSP page.  Disabled
+            (false) by default.
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="taglibType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The taglibType defines the syntax for declaring in
+	the deployment descriptor that a tag library is
+	available to the application.  This can be done
+	to override implicit map entries from TLD files and
+	from the container.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="taglib-uri"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    A taglib-uri element describes a URI identifying a
+	    tag library used in the web application.  The body
+	    of the taglib-uri element may be either an
+	    absolute URI specification, or a relative URI.
+	    There should be no entries in web.xml with the
+	    same taglib-uri value.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="taglib-location"
+		   type="javaee:pathType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    the taglib-location element contains the location
+	    (as a resource relative to the root of the web
+	    application) where to find the Tag Library
+	    Description file for the tag library.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
 </xsd:schema>
+

Modified: projects/metadata/web/trunk/src/main/resources/schema/web-app_3_0.xsd
===================================================================
--- projects/metadata/web/trunk/src/main/resources/schema/web-app_3_0.xsd	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/resources/schema/web-app_3_0.xsd	2009-09-09 17:59:42 UTC (rev 93323)
@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-	    targetNamespace="http://java.sun.com/xml/ns/javaee"
-	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	    elementFormDefault="qualified"
-	    attributeFormDefault="unqualified"
-	    version="3.0">
+            targetNamespace="http://java.sun.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="3.0">
   <xsd:annotation>
     <xsd:documentation>
-      @(#)web-app_3_0.xsds	1.68 07/03/09
+
+      $Id$
+      
     </xsd:documentation>
   </xsd:annotation>
 
@@ -16,9 +18,9 @@
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-      Copyright 2003-2007 Sun Microsystems, Inc. All rights reserved.
-
+      
+      Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
+      
       The contents of this file are subject to the terms of either the
       GNU General Public License Version 2 only ("GPL") or the Common
       Development and Distribution License("CDDL") (collectively, the
@@ -28,7 +30,7 @@
       glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
       specific language governing permissions and limitations under the
       License.
-
+      
       When distributing the software, include this License Header
       Notice in each file and include the License file at
       glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
@@ -38,9 +40,9 @@
       below the License Header, with the fields enclosed by brackets []
       replaced by your own identifying information:
       "Portions Copyrighted [year] [name of copyright owner]"
-
+      
       Contributor(s):
-
+      
       If you wish your version of this file to be governed by only the
       CDDL or only the GPL Version 2, indicate your decision by adding
       "[Contributor] elects to include this software in this
@@ -52,39 +54,38 @@
       code and therefore, elected the GPL Version 2 license, then the
       option applies only if the new code is made subject to such
       option by the copyright holder.
-
+      
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:annotation>
     <xsd:documentation>
-      <![CDATA[
-
-	This is the XML Schema for the Servlet 3.0 deployment descriptor.
-	The deployment descriptor must be named "WEB-INF/web.xml" in the
-	web application's war file.  All Servlet deployment descriptors
-	must indicate the web application schema by using the Java EE
-	namespace:
-
-	http://java.sun.com/xml/ns/javaee
-
-	and by indicating the version of the schema by
-	using the version element as shown below:
-
-	    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
-	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	      xsi:schemaLocation="..."
-	      version="3.0">
-	      ...
-	    </web-app>
-
-	The instance documents may indicate the published version of
-	the schema using the xsi:schemaLocation attribute for Java EE
-	namespace with the following location:
-
-	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
-
-	]]>
+<![CDATA[[
+      This is the XML Schema for the Servlet 3.0 deployment descriptor.
+      The deployment descriptor must be named "WEB-INF/web.xml" in the
+      web application's war file.  All Servlet deployment descriptors
+      must indicate the web application schema by using the Java EE
+      namespace:
+      
+      http://java.sun.com/xml/ns/javaee 
+      
+      and by indicating the version of the schema by 
+      using the version element as shown below: 
+      
+      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="..."
+      version="3.0"> 
+      ...
+      </web-app>
+      
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Java EE
+      namespace with the following location:
+      
+      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
+      
+]]>
     </xsd:documentation>
   </xsd:annotation>
 
@@ -93,16 +94,16 @@
 
       The following conventions apply to all Java EE
       deployment descriptor elements unless indicated otherwise.
-
+      
       - In elements that specify a pathname to a file within the
-	same JAR file, relative filenames (i.e., those not
-	starting with "/") are considered relative to the root of
-	the JAR file's namespace.  Absolute filenames (i.e., those
-	starting with "/") also specify names in the root of the
-	JAR file's namespace.  In general, relative names are
-	preferred.  The exception is .war files where absolute
-	names are preferred for consistency with the Servlet API.
-
+      same JAR file, relative filenames (i.e., those not
+      starting with "/") are considered relative to the root of
+      the JAR file's namespace.  Absolute filenames (i.e., those
+      starting with "/") also specify names in the root of the
+      JAR file's namespace.  In general, relative names are
+      preferred.  The exception is .war files where absolute
+      names are preferred for consistency with the Servlet API.
+      
     </xsd:documentation>
   </xsd:annotation>
 
@@ -111,180 +112,169 @@
 
 <!-- **************************************************** -->
 
-  <xsd:element name="web-app" type="javaee:web-appType">
+  <xsd:element name="web-app"
+               type="javaee:web-appType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The web-app element is the root of the deployment
-	descriptor for a web application.  Note that the sub-elements
-	of this element can be in the arbitrary order. Because of
-	that, the multiplicity of the elements of distributable,
-	session-config, welcome-file-list, jsp-config, login-config,
-	and locale-encoding-mapping-list was changed from "?" to "*"
-	in this schema.  However, the deployment descriptor instance
-	file must not contain multiple elements of session-config,
-	jsp-config, and login-config. When there are multiple elements of
-	welcome-file-list or locale-encoding-mapping-list, the container
-	must concatenate the element contents.  The multiple occurence
-	of the element distributable is redundant and the container
-	treats that case exactly in the same way when there is only
-	one distributable.
-
+        The web-app element is the root of the deployment
+        descriptor for a web application.  Note that the sub-elements
+        of this element can be in the arbitrary order. Because of
+        that, the multiplicity of the elements of distributable,
+        session-config, welcome-file-list, jsp-config, login-config,
+        and locale-encoding-mapping-list was changed from "?" to "*"
+        in this schema.  However, the deployment descriptor instance
+        file must not contain multiple elements of session-config,
+        jsp-config, and login-config. When there are multiple elements of
+        welcome-file-list or locale-encoding-mapping-list, the container
+        must concatenate the element contents.  The multiple occurence
+        of the element distributable is redundant and the container
+        treats that case exactly in the same way when there is only
+        one distributable. 
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:unique name="web-common-servlet-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The servlet element contains the name of a servlet.
-	  The name must be unique within the web application.
-
-	</xsd:documentation>
+          The servlet element contains the name of a servlet.
+          The name must be unique within the web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet"/>
-      <xsd:field    xpath="javaee:servlet-name"/>
+      <xsd:field xpath="javaee:servlet-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-filter-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The filter element contains the name of a filter.
-	  The name must be unique within the web application.
-
-	</xsd:documentation>
+          The filter element contains the name of a filter.
+          The name must be unique within the web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:filter"/>
-      <xsd:field    xpath="javaee:filter-name"/>
+      <xsd:field xpath="javaee:filter-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-ejb-local-ref-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The ejb-local-ref-name element contains the name of an EJB
-	  reference. The EJB reference is an entry in the web
-	  application's environment and is relative to the
-	  java:comp/env context.  The name must be unique within
-	  the web application.
-
-	  It is recommended that name is prefixed with "ejb/".
-
-	</xsd:documentation>
+          The ejb-local-ref-name element contains the name of an EJB
+          reference. The EJB reference is an entry in the web
+          application's environment and is relative to the
+          java:comp/env context.  The name must be unique within
+          the web application.
+          
+          It is recommended that name is prefixed with "ejb/".
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-local-ref"/>
-      <xsd:field    xpath="javaee:ejb-ref-name"/>
+      <xsd:field xpath="javaee:ejb-ref-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-ejb-ref-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The ejb-ref-name element contains the name of an EJB
-	  reference. The EJB reference is an entry in the web
-	  application's environment and is relative to the
-	  java:comp/env context.  The name must be unique within
-	  the web application.
-
-	  It is recommended that name is prefixed with "ejb/".
-
-	</xsd:documentation>
+          The ejb-ref-name element contains the name of an EJB
+          reference. The EJB reference is an entry in the web
+          application's environment and is relative to the
+          java:comp/env context.  The name must be unique within
+          the web application.
+          
+          It is recommended that name is prefixed with "ejb/".
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:ejb-ref"/>
-      <xsd:field    xpath="javaee:ejb-ref-name"/>
+      <xsd:field xpath="javaee:ejb-ref-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-resource-env-ref-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The resource-env-ref-name element specifies the name of
-	  a resource environment reference; its value is the
-	  environment entry name used in the web application code.
-	  The name is a JNDI name relative to the java:comp/env
-	  context and must be unique within a web application.
-
-	</xsd:documentation>
+          The resource-env-ref-name element specifies the name of
+          a resource environment reference; its value is the
+          environment entry name used in the web application code.
+          The name is a JNDI name relative to the java:comp/env
+          context and must be unique within a web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-env-ref"/>
-      <xsd:field    xpath="javaee:resource-env-ref-name"/>
+      <xsd:field xpath="javaee:resource-env-ref-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-message-destination-ref-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The message-destination-ref-name element specifies the name of
-	  a message destination reference; its value is the
-	  environment entry name used in the web application code.
-	  The name is a JNDI name relative to the java:comp/env
-	  context and must be unique within a web application.
-
-	</xsd:documentation>
+          The message-destination-ref-name element specifies the name of
+          a message destination reference; its value is the
+          environment entry name used in the web application code.
+          The name is a JNDI name relative to the java:comp/env
+          context and must be unique within a web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:message-destination-ref"/>
-      <xsd:field    xpath="javaee:message-destination-ref-name"/>
+      <xsd:field xpath="javaee:message-destination-ref-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-res-ref-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The res-ref-name element specifies the name of a
-	  resource manager connection factory reference.  The name
-	  is a JNDI name relative to the java:comp/env context.
-	  The name must be unique within a web application.
-
-	</xsd:documentation>
+          The res-ref-name element specifies the name of a
+          resource manager connection factory reference.  The name
+          is a JNDI name relative to the java:comp/env context.
+          The name must be unique within a web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:resource-ref"/>
-      <xsd:field    xpath="javaee:res-ref-name"/>
+      <xsd:field xpath="javaee:res-ref-name"/>
     </xsd:unique>
-
     <xsd:unique name="web-common-env-entry-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The env-entry-name element contains the name of a web
-	  application's environment entry.  The name is a JNDI
-	  name relative to the java:comp/env context.  The name
-	  must be unique within a web application.
-
-	</xsd:documentation>
+          The env-entry-name element contains the name of a web
+          application's environment entry.  The name is a JNDI
+          name relative to the java:comp/env context.  The name
+          must be unique within a web application.
+          
+        </xsd:documentation>
       </xsd:annotation>
-
       <xsd:selector xpath="javaee:env-entry"/>
-      <xsd:field    xpath="javaee:env-entry-name"/>
+      <xsd:field xpath="javaee:env-entry-name"/>
     </xsd:unique>
-
     <xsd:key name="web-common-role-name-key">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  A role-name-key is specified to allow the references
-	  from the security-role-refs.
-
-	</xsd:documentation>
+          A role-name-key is specified to allow the references
+          from the security-role-refs.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:security-role"/>
-      <xsd:field    xpath="javaee:role-name"/>
+      <xsd:field xpath="javaee:role-name"/>
     </xsd:key>
-
     <xsd:keyref name="web-common-role-name-references"
-		refer="javaee:web-common-role-name-key">
+                refer="javaee:web-common-role-name-key">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The keyref indicates the references from
-	  security-role-ref to a specified role-name.
-
-	</xsd:documentation>
+          The keyref indicates the references from
+          security-role-ref to a specified role-name.
+          
+        </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
-      <xsd:field    xpath="javaee:role-link"/>
+      <xsd:field xpath="javaee:role-link"/>
     </xsd:keyref>
   </xsd:element>
 
 </xsd:schema>
-

Modified: projects/metadata/web/trunk/src/main/resources/schema/web-common_3_0.xsd
===================================================================
--- projects/metadata/web/trunk/src/main/resources/schema/web-common_3_0.xsd	2009-09-09 17:44:15 UTC (rev 93322)
+++ projects/metadata/web/trunk/src/main/resources/schema/web-common_3_0.xsd	2009-09-09 17:59:42 UTC (rev 93323)
@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-	    targetNamespace="http://java.sun.com/xml/ns/javaee"
-	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	    elementFormDefault="qualified"
-	    attributeFormDefault="unqualified"
-	    version="3.0">
+            targetNamespace="http://java.sun.com/xml/ns/javaee"
+            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+            elementFormDefault="qualified"
+            attributeFormDefault="unqualified"
+            version="3.0">
   <xsd:annotation>
     <xsd:documentation>
-      @(#)web-common_3_0.xsds	1.68 08/26/08
+
+      $Id$
+      
     </xsd:documentation>
   </xsd:annotation>
 
@@ -16,9 +18,9 @@
     <xsd:documentation>
 
       DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
-      Copyright 2003-2007 Sun Microsystems, Inc. All rights reserved.
-
+      
+      Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
+      
       The contents of this file are subject to the terms of either the
       GNU General Public License Version 2 only ("GPL") or the Common
       Development and Distribution License("CDDL") (collectively, the
@@ -28,7 +30,7 @@
       glassfish/bootstrap/legal/LICENSE.txt.  See the License for the
       specific language governing permissions and limitations under the
       License.
-
+      
       When distributing the software, include this License Header
       Notice in each file and include the License file at
       glassfish/bootstrap/legal/LICENSE.txt.  Sun designates this
@@ -38,9 +40,9 @@
       below the License Header, with the fields enclosed by brackets []
       replaced by your own identifying information:
       "Portions Copyrighted [year] [name of copyright owner]"
-
+      
       Contributor(s):
-
+      
       If you wish your version of this file to be governed by only the
       CDDL or only the GPL Version 2, indicate your decision by adding
       "[Contributor] elects to include this software in this
@@ -52,39 +54,38 @@
       code and therefore, elected the GPL Version 2 license, then the
       option applies only if the new code is made subject to such
       option by the copyright holder.
-
+      
     </xsd:documentation>
   </xsd:annotation>
 
   <xsd:annotation>
     <xsd:documentation>
-      <![CDATA[
-
-	This is the common XML Schema for the Servlet 3.0 deployment descriptor.
-	This file is in turn used by web.xml and web-fragment.xml
-	web application's war file.  All Servlet deployment descriptors
-	must indicate the web common schema by using the Java EE
-	namespace:
-
-	http://java.sun.com/xml/ns/javaee
-
-	and by indicating the version of the schema by
-	using the version element as shown below:
-
-	    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
-	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	      xsi:schemaLocation="..."
-	      version="3.0">
-	      ...
-	    </web-app>
-
-	The instance documents may indicate the published version of
-	the schema using the xsi:schemaLocation attribute for Java EE
-	namespace with the following location:
-
-	http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd
-
-	]]>
+<![CDATA[[
+      This is the common XML Schema for the Servlet 3.0 deployment descriptor.
+      This file is in turn used by web.xml and web-fragment.xml
+      web application's war file.  All Servlet deployment descriptors
+      must indicate the web common schema by using the Java EE
+      namespace:
+      
+      http://java.sun.com/xml/ns/javaee 
+      
+      and by indicating the version of the schema by 
+      using the version element as shown below: 
+      
+      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="..."
+      version="3.0"> 
+      ...
+      </web-app>
+      
+      The instance documents may indicate the published version of
+      the schema using the xsi:schemaLocation attribute for Java EE
+      namespace with the following location:
+      
+      http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd
+      
+]]>
     </xsd:documentation>
   </xsd:annotation>
 
@@ -93,50 +94,106 @@
 
       The following conventions apply to all Java EE
       deployment descriptor elements unless indicated otherwise.
-
+      
       - In elements that specify a pathname to a file within the
-	same JAR file, relative filenames (i.e., those not
-	starting with "/") are considered relative to the root of
-	the JAR file's namespace.  Absolute filenames (i.e., those
-	starting with "/") also specify names in the root of the
-	JAR file's namespace.  In general, relative names are
-	preferred.  The exception is .war files where absolute
-	names are preferred for consistency with the Servlet API.
-
+      same JAR file, relative filenames (i.e., those not
+      starting with "/") are considered relative to the root of
+      the JAR file's namespace.  Absolute filenames (i.e., those
+      starting with "/") also specify names in the root of the
+      JAR file's namespace.  In general, relative names are
+      preferred.  The exception is .war files where absolute
+      names are preferred for consistency with the Servlet API.
+      
     </xsd:documentation>
   </xsd:annotation>
 
-  <xsd:include schemaLocation="javaee_5.xsd"/>
+  <xsd:include schemaLocation="javaee_6.xsd"/>
+
   <xsd:include schemaLocation="jsp_2_2.xsd"/>
 
+  <xsd:group name="web-commonType">
+    <xsd:choice>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"/>
+      <xsd:element name="distributable"
+                   type="javaee:emptyType"/>
+      <xsd:element name="context-param"
+                   type="javaee:param-valueType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The context-param element contains the declaration
+            of a web application's servlet context
+            initialization parameters.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="filter"
+                   type="javaee:filterType"/>
+      <xsd:element name="filter-mapping"
+                   type="javaee:filter-mappingType"/>
+      <xsd:element name="listener"
+                   type="javaee:listenerType"/>
+      <xsd:element name="servlet"
+                   type="javaee:servletType"/>
+      <xsd:element name="servlet-mapping"
+                   type="javaee:servlet-mappingType"/>
+      <xsd:element name="session-config"
+                   type="javaee:session-configType"/>
+      <xsd:element name="mime-mapping"
+                   type="javaee:mime-mappingType"/>
+      <xsd:element name="welcome-file-list"
+                   type="javaee:welcome-file-listType"/>
+      <xsd:element name="error-page"
+                   type="javaee:error-pageType"/>
+      <xsd:element name="jsp-config"
+                   type="javaee:jsp-configType"/>
+      <xsd:element name="security-constraint"
+                   type="javaee:security-constraintType"/>
+      <xsd:element name="login-config"
+                   type="javaee:login-configType"/>
+      <xsd:element name="security-role"
+                   type="javaee:security-roleType"/>
+      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
+      <xsd:element name="message-destination"
+                   type="javaee:message-destinationType"/>
+      <xsd:element name="locale-encoding-mapping-list"
+                   type="javaee:locale-encoding-mapping-listType"/>
+    </xsd:choice>
+  </xsd:group>
+
   <xsd:attributeGroup name="web-common-attributes">
     <xsd:attribute name="version"
-		   use="required"/>
-    <xsd:attribute name="id" type="xsd:ID"/>
-
-    <xsd:attribute name="metadata-complete" type="xsd:boolean">
+                   type="javaee:web-app-versionType"
+                   use="required"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+    <xsd:attribute name="metadata-complete"
+                   type="xsd:boolean">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The metadata-complete attribute defines whether this
-	  deployment descriptor and other related deployment
-	  descriptors for this module (e.g., web service
-	  descriptors) are complete, or whether the class
-	  files available to this module and packaged with
-	  this application should be examined for annotations
-	  that specify deployment information.
-
-	  If metadata-complete is set to "true", the deployment
-	  tool must ignore any annotations that specify deployment
-	  information, which might be present in the class files
-	  of the application.
-
-	  If metadata-complete is not specified or is set to
-	  "false", the deployment tool must examine the class
-	  files of the application for annotations, as
-	  specified by the specifications.
-
-	</xsd:documentation>
+          The metadata-complete attribute defines whether this
+          deployment descriptor and other related deployment
+          descriptors for this module (e.g., web service
+          descriptors) are complete, or whether the class
+          files available to this module and packaged with
+          this application should be examined for annotations
+          that specify deployment information.
+          
+          If metadata-complete is set to "true", the deployment
+          tool must ignore any annotations that specify deployment
+          information, which might be present in the class files
+          of the application.
+          
+          If metadata-complete is not specified or is set to
+          "false", the deployment tool must examine the class
+          files of the application for annotations, as
+          specified by the specifications.
+          
+        </xsd:documentation>
       </xsd:annotation>
     </xsd:attribute>
   </xsd:attributeGroup>
@@ -144,276 +201,102 @@
 
 <!-- **************************************************** -->
 
-   <xsd:complexType name="absoluteOrderingType">
-   <xsd:annotation>
-     <xsd:documentation>
+  <xsd:complexType name="web-appType">
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:group ref="javaee:web-commonType"/>
+      <xsd:element name="module-name"
+                   type="javaee:string"
+                   minOccurs="0"/>
+      <xsd:element name="absolute-ordering"
+                   type="javaee:absoluteOrderingType"/>
+    </xsd:choice>
+    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
+  </xsd:complexType>
 
-       Please see section 8.2.2 of the specification for details.
 
-     </xsd:documentation>
-   </xsd:annotation>
-   <xsd:choice minOccurs="0" maxOccurs="unbounded">
-     <xsd:element name="name"
-                  type="javaee:java-identifierType"
-                  minOccurs="0"
-                  maxOccurs="unbounded"/>
-     <xsd:element name="others"
-                  type="javaee:ordering-othersType"
-                  minOccurs="0"
-                  maxOccurs="1" />
-   </xsd:choice>
- </xsd:complexType>
+<!-- **************************************************** -->
 
+  <xsd:complexType name="web-fragmentType">
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:group ref="javaee:web-commonType"/>
+      <xsd:element name="ordering"
+                   type="javaee:orderingType"/>
+    </xsd:choice>
+    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
+  </xsd:complexType>
+
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="auth-constraintType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The auth-constraintType indicates the user roles that
-	should be permitted access to this resource
-	collection. The role-name used here must either correspond
-	to the role-name of one of the security-role elements
-	defined for this web application, or be the specially
-	reserved role-name "*" that is a compact syntax for
-	indicating all roles in the web application. If both "*"
-	and rolenames appear, the container interprets this as all
-	roles.  If no roles are defined, no user is allowed access
-	to the portion of the web application described by the
-	containing security-constraint.  The container matches
-	role names case sensitively when determining access.
-
+        The auth-constraintType indicates the user roles that
+        should be permitted access to this resource
+        collection. The role-name used here must either correspond
+        to the role-name of one of the security-role elements
+        defined for this web application, or be the specially
+        reserved role-name "*" that is a compact syntax for
+        indicating all roles in the web application. If both "*"
+        and rolenames appear, the container interprets this as all
+        roles.  If no roles are defined, no user is allowed access
+        to the portion of the web application described by the
+        containing security-constraint.  The container matches
+        role names case sensitively when determining access.
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0" maxOccurs="unbounded"/>
+                   type="javaee:descriptionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
       <xsd:element name="role-name"
-		   type="javaee:role-nameType"
-		   minOccurs="0" maxOccurs="unbounded"/>
+                   type="javaee:role-nameType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="auth-methodType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The auth-methodType is used to configure the authentication
-	mechanism for the web application. As a prerequisite to
-	gaining access to any web resources which are protected by
-	an authorization constraint, a user must have authenticated
-	using the configured mechanism. Legal values are "BASIC",
-	"DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
-	authentication scheme.
-
-	Used in: login-config
-
+        The auth-methodType is used to configure the authentication
+        mechanism for the web application. As a prerequisite to
+        gaining access to any web resources which are protected by
+        an authorization constraint, a user must have authenticated
+        using the configured mechanism. Legal values are "BASIC",
+        "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
+        authentication scheme.
+        
+        Used in: login-config
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string"/>
     </xsd:simpleContent>
   </xsd:complexType>
 
-<!-- **************************************************** -->
 
-  <xsd:complexType name="cookie-commentType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The comment that will be assigned to any session tracking
-        cookies created by this web application.
-
-	Used in: cookie-config
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleContent>
-      <xsd:extension base="javaee:nonEmptyStringType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
 <!-- **************************************************** -->
 
-  <xsd:complexType name="cookie-configType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The cookie-configType defines the configuration for the
-        session tracking cookies of this web application.
-
-        Used in: session-config
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="name"
-                   type="javaee:cookie-nameType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The name that will be assigned to any session tracking
-            cookies created by this web application.
-            The default is JSESSIONID
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="domain"
-                   type="javaee:cookie-domainType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The domain name that will be assigned to any session tracking
-            cookies created by this web application.
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="path"
-                   type="javaee:cookie-pathType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The path that will be assigned to any session tracking
-            cookies created by this web application.
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="comment"
-                   type="javaee:cookie-commentType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The comment that will be assigned to any session tracking
-            cookies created by this web application.
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="http-only"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Specifies whether any session tracking cookies created
-            by this web application will be marked as HttpOnly
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="secure"
-                   type="javaee:true-falseType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            Specifies whether any session tracking cookies created
-            by this web application will be marked as secure
-            even if the request that initiated the corresponding session
-            is using plain HTTP instead of HTTPS
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="max-age"
-                   type="javaee:xsdIntegerType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-            The lifetime (in seconds) that will be assigned to any
-            session tracking cookies created by this web application.
-            Default is -1
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cookie-domainType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The domain name that will be assigned to any session tracking
-        cookies created by this web application.
-
-        Used in: cookie-config
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleContent>
-      <xsd:extension base="javaee:nonEmptyStringType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cookie-nameType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The name that will be assigned to any session tracking
-        cookies created by this web application.
-        The default is JSESSIONID
-
-        Used in: cookie-config
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleContent>
-      <xsd:extension base="javaee:nonEmptyStringType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cookie-pathType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The path that will be assigned to any session tracking
-        cookies created by this web application.
-
-	Used in: cookie-config
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleContent>
-      <xsd:extension base="javaee:nonEmptyStringType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
   <xsd:complexType name="dispatcherType">
     <xsd:annotation>
       <xsd:documentation>
 
         The dispatcher has five legal values: FORWARD, REQUEST,
         INCLUDE, ASYNC, and ERROR.
-
+        
         A value of FORWARD means the Filter will be applied under
         RequestDispatcher.forward() calls.
         A value of REQUEST means the Filter will be applied under
@@ -424,62 +307,47 @@
         calls dispatched from an AsyncContext.
         A value of ERROR means the Filter will be applied under the
         error page mechanism.
-
+        
         The absence of any dispatcher elements in a filter-mapping
         indicates a default of applying filters only under ordinary
         client calls to the path or servlet.
-
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="FORWARD"/>
-	<xsd:enumeration value="INCLUDE"/>
-	<xsd:enumeration value="REQUEST"/>
-	<xsd:enumeration value="ASYNC"/>
-	<xsd:enumeration value="ERROR"/>
+        <xsd:enumeration value="FORWARD"/>
+        <xsd:enumeration value="INCLUDE"/>
+        <xsd:enumeration value="REQUEST"/>
+        <xsd:enumeration value="ASYNC"/>
+        <xsd:enumeration value="ERROR"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
-<!-- **************************************************** -->
 
-  <xsd:simpleType name="encodingType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The encodingType defines IANA character sets.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[^\s]+"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
 <!-- **************************************************** -->
 
   <xsd:complexType name="error-codeType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The error-code contains an HTTP error code, ex: 404
-
-	Used in: error-page
-
+        The error-code contains an HTTP error code, ex: 404
+        
+        Used in: error-page
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:xsdPositiveIntegerType">
-	<xsd:pattern value="\d{3}"/>
-	<xsd:attribute name="id" type="xsd:ID"/>
+        <xsd:pattern value="\d{3}"/>
+        <xsd:attribute name="id"
+                       type="xsd:ID"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="error-pageType">
@@ -489,816 +357,883 @@
         The error-pageType contains a mapping between an error code
         or exception type to the path of a resource in the web
         application.
-
+        
         Error-page declarations using the exception-type element in
         the deployment descriptor must be unique up to the class name of
         the exception-type. Similarly, error-page declarations using the
         status-code element must be unique in the deployment descriptor
         up to the status code.
-
+        
         Used in: web-app
-
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
-      <xsd:choice minOccurs="0" maxOccurs="1">
-	<xsd:element name="error-code"
-		     type="javaee:error-codeType"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="1">
+        <xsd:element name="error-code"
+                     type="javaee:error-codeType"/>
+        <xsd:element name="exception-type"
+                     type="javaee:fully-qualified-classType">
+          <xsd:annotation>
+            <xsd:documentation>
 
-	<xsd:element name="exception-type"
-		     type="javaee:fully-qualified-classType">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The exception-type contains a fully qualified class
-	      name of a Java exception type.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
+              The exception-type contains a fully qualified class
+              name of a Java exception type.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
       </xsd:choice>
-
       <xsd:element name="location"
-		   type="javaee:war-pathType">
-	<xsd:annotation>
-	  <xsd:documentation>
+                   type="javaee:war-pathType">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The location element contains the location of the
-	    resource in the web application relative to the root of
-	    the web application. The value of the location must have
-	    a leading `/'.
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The location element contains the location of the
+            resource in the web application relative to the root of
+            the web application. The value of the location must have
+            a leading `/'.
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
-<!-- **************************************************** -->
 
-  <xsd:complexType name="filter-mappingType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	Declaration of the filter mappings in this web
-	application is done by using filter-mappingType.
-	The container uses the filter-mapping
-	declarations to decide which filters to apply to a request,
-	and in what order. The container matches the request URI to
-	a Servlet in the normal way. To determine which filters to
-	apply it matches filter-mapping declarations either on
-	servlet-name, or on url-pattern for each filter-mapping
-	element, depending on which style is used. The order in
-	which filters are invoked is the order in which
-	filter-mapping declarations that match a request URI for a
-	servlet appear in the list of filter-mapping elements.The
-	filter-name value must be the value of the filter-name
-	sub-elements of one of the filter declarations in the
-	deployment descriptor.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="filter-name"
-		   type="javaee:filter-nameType"/>
-      <xsd:choice minOccurs="1" maxOccurs="unbounded">
-	<xsd:element name="url-pattern"
-		     type="javaee:url-patternType"/>
-	<xsd:element name="servlet-name"
-		     type="javaee:servlet-nameType"/>
-      </xsd:choice>
-      <xsd:element name="dispatcher"
-		   type="javaee:dispatcherType"
-		   minOccurs="0" maxOccurs="5"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
 <!-- **************************************************** -->
 
-  <xsd:complexType name="filter-nameType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The logical name of the filter is declare
-	by using filter-nameType. This name is used to map the
-	filter.  Each filter name is unique within the web
-	application.
-
-	Used in: filter, filter-mapping
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:simpleContent>
-      <xsd:extension base="javaee:nonEmptyStringType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
   <xsd:complexType name="filterType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The filterType is used to declare a filter in the web
-	application. The filter is mapped to either a servlet or a
-	URL pattern in the filter-mapping element, using the
-	filter-name value to reference. Filters can access the
-	initialization parameters declared in the deployment
-	descriptor at runtime via the FilterConfig interface.
-
-	Used in: web-app
-
+        The filterType is used to declare a filter in the web
+        application. The filter is mapped to either a servlet or a
+        URL pattern in the filter-mapping element, using the
+        filter-name value to reference. Filters can access the
+        initialization parameters declared in the deployment
+        descriptor at runtime via the FilterConfig interface.
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:group ref="javaee:descriptionGroup"/>
       <xsd:element name="filter-name"
-		   type="javaee:filter-nameType"/>
+                   type="javaee:filter-nameType"/>
       <xsd:element name="filter-class"
-		   type="javaee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
+                   type="javaee:fully-qualified-classType"
+                   minOccurs="0"
+                   maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The fully qualified classname of the filter.
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The fully qualified classname of the filter.
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
       <xsd:element name="async-supported"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-
+                   type="javaee:true-falseType"
+                   minOccurs="0"/>
       <xsd:element name="init-param"
-		   type="javaee:param-valueType"
-		   minOccurs="0" maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+                   type="javaee:param-valueType"
+                   minOccurs="0"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The init-param element contains a name/value pair as
-	    an initialization param of a servlet filter
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The init-param element contains a name/value pair as
+            an initialization param of a servlet filter
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:complexType name="form-login-configType">
+  <xsd:complexType name="filter-mappingType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The form-login-configType specifies the login and error
-	pages that should be used in form based login. If form based
-	authentication is not used, these elements are ignored.
-
-	Used in: login-config
-
+        Declaration of the filter mappings in this web
+        application is done by using filter-mappingType. 
+        The container uses the filter-mapping
+        declarations to decide which filters to apply to a request,
+        and in what order. The container matches the request URI to
+        a Servlet in the normal way. To determine which filters to
+        apply it matches filter-mapping declarations either on
+        servlet-name, or on url-pattern for each filter-mapping
+        element, depending on which style is used. The order in
+        which filters are invoked is the order in which
+        filter-mapping declarations that match a request URI for a
+        servlet appear in the list of filter-mapping elements.The
+        filter-name value must be the value of the filter-name
+        sub-elements of one of the filter declarations in the
+        deployment descriptor.
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
-
-      <xsd:element name="form-login-page"
-		   type="javaee:war-pathType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The form-login-page element defines the location in the web
-	    app where the page that can be used for login can be
-	    found.  The path begins with a leading / and is interpreted
-	    relative to the root of the WAR.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-
-      <xsd:element name="form-error-page"
-		   type="javaee:war-pathType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The form-error-page element defines the location in
-	    the web app where the error page that is displayed
-	    when login is not successful can be found.
-	    The path begins with a leading / and is interpreted
-	    relative to the root of the WAR.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-
+      <xsd:element name="filter-name"
+                   type="javaee:filter-nameType"/>
+      <xsd:choice minOccurs="1"
+                  maxOccurs="unbounded">
+        <xsd:element name="url-pattern"
+                     type="javaee:url-patternType"/>
+        <xsd:element name="servlet-name"
+                     type="javaee:servlet-nameType"/>
+      </xsd:choice>
+      <xsd:element name="dispatcher"
+                   type="javaee:dispatcherType"
+                   minOccurs="0"
+                   maxOccurs="5"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:simpleType name="http-methodType">
+  <xsd:complexType name="nonEmptyStringType">
     <xsd:annotation>
-
       <xsd:documentation>
 
-	A HTTP method type as defined in HTTP 1.1 section 2.2.
-
+        This type defines a string which contains at least one
+        character.
+        
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string">
+        <xsd:minLength value="1"/>
+      </xsd:restriction>
+    </xsd:simpleContent>
+  </xsd:complexType>
 
-     <xsd:restriction base="xsd:token">
-      <xsd:pattern value="[&#33;-&#126;-[\(\)&#60;&#62;@,;:&#34;/\[\]?=\{\}\\\p{Z}]]+"/>
-     </xsd:restriction>
 
-  </xsd:simpleType>
-
 <!-- **************************************************** -->
 
-  <xsd:simpleType name="load-on-startupType">
-    <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
-  </xsd:simpleType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="locale-encoding-mapping-listType">
+  <xsd:complexType name="filter-nameType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The locale-encoding-mapping-list contains one or more
-	locale-encoding-mapping(s).
-
+        The logical name of the filter is declare
+        by using filter-nameType. This name is used to map the
+        filter.  Each filter name is unique within the web
+        application.
+        
+        Used in: filter, filter-mapping
+        
       </xsd:documentation>
     </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="locale-encoding-mapping"
-		   type="javaee:locale-encoding-mappingType"
-		   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:nonEmptyStringType"/>
+    </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:complexType name="locale-encoding-mappingType">
+  <xsd:complexType name="form-login-configType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The locale-encoding-mapping contains locale name and
-	encoding name. The locale name must be either "Language-code",
-	such as "ja", defined by ISO-639 or "Language-code_Country-code",
-	such as "ja_JP".  "Country code" is defined by ISO-3166.
-
+        The form-login-configType specifies the login and error
+        pages that should be used in form based login. If form based
+        authentication is not used, these elements are ignored.
+        
+        Used in: login-config
+        
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="form-login-page"
+                   type="javaee:war-pathType">
+        <xsd:annotation>
+          <xsd:documentation>
 
-    <xsd:sequence>
-      <xsd:element name="locale"
-		   type="javaee:localeType"/>
-      <xsd:element name="encoding"
-		   type="javaee:encodingType"/>
+            The form-login-page element defines the location in the web
+            app where the page that can be used for login can be
+            found.  The path begins with a leading / and is interpreted
+            relative to the root of the WAR.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="form-error-page"
+                   type="javaee:war-pathType">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The form-error-page element defines the location in
+            the web app where the error page that is displayed
+            when login is not successful can be found. 
+            The path begins with a leading / and is interpreted
+            relative to the root of the WAR.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
-<!-- **************************************************** -->
-
-  <xsd:simpleType name="localeType">
+  <xsd:simpleType name="http-methodType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The localeType defines valid locale defined by ISO-639-1
-	and ISO-3166.
-
+        A HTTP method type as defined in HTTP 1.1 section 2.2.
+        
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:restriction base="xsd:token">
+      <xsd:pattern value="[!-~-[\(\)&#60;&#62;@,;:&#34;/\[\]?=\{\}\\\p{Z}]]+"/>
+    </xsd:restriction>
+  </xsd:simpleType>
 
+  <xsd:simpleType name="load-on-startupType">
+    <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
+  </xsd:simpleType>
+
+  <xsd:simpleType name="null-charType">
     <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
+      <xsd:enumeration value=""/>
     </xsd:restriction>
   </xsd:simpleType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="login-configType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The login-configType is used to configure the authentication
-	method that should be used, the realm name that should be
-	used for this application, and the attributes that are
-	needed by the form login mechanism.
-
-	Used in: web-app
-
+        The login-configType is used to configure the authentication
+        method that should be used, the realm name that should be
+        used for this application, and the attributes that are
+        needed by the form login mechanism.
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:element name="auth-method"
-		   type="javaee:auth-methodType"
-		   minOccurs="0"/>
+                   type="javaee:auth-methodType"
+                   minOccurs="0"/>
       <xsd:element name="realm-name"
-		   type="javaee:string" minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+                   type="javaee:string"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The realm name element specifies the realm name to
-	    use in HTTP Basic authorization.
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The realm name element specifies the realm name to
+            use in HTTP Basic authorization.
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
       <xsd:element name="form-login-config"
-		   type="javaee:form-login-configType"
-		   minOccurs="0"/>
+                   type="javaee:form-login-configType"
+                   minOccurs="0"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="mime-mappingType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The mime-mappingType defines a mapping between an extension
-	and a mime type.
-
-	Used in: web-app
-
+        The mime-mappingType defines a mapping between an extension
+        and a mime type.
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  The extension element contains a string describing an
-	  extension. example: "txt"
-
-	</xsd:documentation>
+          The extension element contains a string describing an
+          extension. example: "txt"
+          
+        </xsd:documentation>
       </xsd:annotation>
-
       <xsd:element name="extension"
-		   type="javaee:string"/>
+                   type="javaee:string"/>
       <xsd:element name="mime-type"
-		   type="javaee:mime-typeType"/>
+                   type="javaee:mime-typeType"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="mime-typeType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The mime-typeType is used to indicate a defined mime type.
-
-	Example:
-	"text/plain"
-
-	Used in: mime-mapping
-
+        The mime-typeType is used to indicate a defined mime type.
+        
+        Example:
+        "text/plain"
+        
+        Used in: mime-mapping
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string">
-	<xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
+        <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:complexType name="nonEmptyStringType">
+  <xsd:complexType name="security-constraintType">
     <xsd:annotation>
       <xsd:documentation>
-	This type defines a string which contains at least one
-	character.
+
+        The security-constraintType is used to associate
+        security constraints with one or more web resource
+        collections
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:minLength value="1"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
+    <xsd:sequence>
+      <xsd:element name="display-name"
+                   type="javaee:display-nameType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="web-resource-collection"
+                   type="javaee:web-resource-collectionType"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="auth-constraint"
+                   type="javaee:auth-constraintType"
+                   minOccurs="0"/>
+      <xsd:element name="user-data-constraint"
+                   type="javaee:user-data-constraintType"
+                   minOccurs="0"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
-<!-- **************************************************** -->
 
-  <xsd:simpleType name="null-charType">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value=""/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
 <!-- **************************************************** -->
 
- <xsd:complexType name="ordering-orderingType">
-   <xsd:annotation>
-     <xsd:documentation>
-
-       This element contains a sequence of "name" elements, each of
-which
-       refers to an application configuration resource by the "name"
-       declared on its web.xml fragment.  This element can also contain
-       a single "others" element which specifies that this document
-comes
-       before or after other documents within the application.
-       See section 8.2.2 of the specification for details.
-
-     </xsd:documentation>
-   </xsd:annotation>
-   <xsd:sequence>
-     <xsd:element name="name"
-                  type="javaee:java-identifierType"
-                  minOccurs="0"
-                  maxOccurs="unbounded"/>
-     <xsd:element name="others"
-                  type="javaee:ordering-othersType"
-                  minOccurs="0" maxOccurs="1" />
-   </xsd:sequence>
- </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ordering-othersType">
-   <xsd:annotation>
-     <xsd:documentation>
-
-       This element indicates that the ordering sub-element in which
-       it was placed should take special action regarding the ordering
-       of this application resource relative to other application
-       configuration resources.
-       See section 8.2.2 of the specification for details.
-
-     </xsd:documentation>
-   </xsd:annotation>
-   <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-<!-- **************************************************** -->
-
- <xsd:complexType name="orderingType">
-   <xsd:annotation>
-     <xsd:documentation>
-
-       Please see section 8.2.2 of the specification for details.
-
-     </xsd:documentation>
-   </xsd:annotation>
-   <xsd:sequence>
-     <xsd:element name="after"
-                  type="javaee:ordering-orderingType"
-                  minOccurs="0"
-                  maxOccurs="1"/>
-     <xsd:element name="before"
-                  type="javaee:ordering-orderingType"
-                  minOccurs="0"
-                  maxOccurs="1"/>
-   </xsd:sequence>
- </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="security-constraintType">
+  <xsd:complexType name="servletType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The security-constraintType is used to associate
-	security constraints with one or more web resource
-	collections
-
-	Used in: web-app
-
+        The servletType is used to declare a servlet.
+        It contains the declarative data of a
+        servlet. If a jsp-file is specified and the load-on-startup
+        element is present, then the JSP should be precompiled and
+        loaded.
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="servlet-name"
+                   type="javaee:servlet-nameType"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="1">
+        <xsd:element name="servlet-class"
+                     type="javaee:fully-qualified-classType">
+          <xsd:annotation>
+            <xsd:documentation>
 
-    <xsd:sequence>
-      <xsd:element name="display-name"
-		   type="javaee:display-nameType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="web-resource-collection"
-		   type="javaee:web-resource-collectionType"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="auth-constraint"
-		   type="javaee:auth-constraintType"
-		   minOccurs="0"/>
-      <xsd:element name="user-data-constraint"
-		   type="javaee:user-data-constraintType"
-		   minOccurs="0"/>
+              The servlet-class element contains the fully
+              qualified class name of the servlet.
+              
+            </xsd:documentation>
+          </xsd:annotation>
+        </xsd:element>
+        <xsd:element name="jsp-file"
+                     type="javaee:jsp-fileType"/>
+      </xsd:choice>
+      <xsd:element name="init-param"
+                   type="javaee:param-valueType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="load-on-startup"
+                   type="javaee:load-on-startupType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The load-on-startup element indicates that this
+            servlet should be loaded (instantiated and have
+            its init() called) on the startup of the web
+            application. The optional contents of these
+            element must be an integer indicating the order in
+            which the servlet should be loaded. If the value
+            is a negative integer, or the element is not
+            present, the container is free to load the servlet
+            whenever it chooses. If the value is a positive
+            integer or 0, the container must load and
+            initialize the servlet as the application is
+            deployed. The container must guarantee that
+            servlets marked with lower integers are loaded
+            before servlets marked with higher integers. The
+            container may choose the order of loading of
+            servlets with the same load-on-start-up value.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="enabled"
+                   type="javaee:true-falseType"
+                   minOccurs="0"/>
+      <xsd:element name="async-supported"
+                   type="javaee:true-falseType"
+                   minOccurs="0"/>
+      <xsd:element name="run-as"
+                   type="javaee:run-asType"
+                   minOccurs="0"/>
+      <xsd:element name="security-role-ref"
+                   type="javaee:security-role-refType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="multipart-config"
+                   type="javaee:multipart-configType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="servlet-mappingType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The servlet-mappingType defines a mapping between a
-	servlet and a url pattern.
-
-	Used in: web-app
-
+        The servlet-mappingType defines a mapping between a
+        servlet and a url pattern. 
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:element name="servlet-name"
-		   type="javaee:servlet-nameType"/>
+                   type="javaee:servlet-nameType"/>
       <xsd:element name="url-pattern"
-		   type="javaee:url-patternType"
-           minOccurs="1" maxOccurs="unbounded"/>
+                   type="javaee:url-patternType"
+                   minOccurs="1"
+                   maxOccurs="unbounded"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="servlet-nameType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The servlet-name element contains the canonical name of the
-	servlet. Each servlet name is unique within the web
-	application.
-
+        The servlet-name element contains the canonical name of the
+        servlet. Each servlet name is unique within the web
+        application.
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:extension base="javaee:nonEmptyStringType"/>
     </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:complexType name="servletType">
+  <xsd:complexType name="session-configType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The servletType is used to declare a servlet.
-	It contains the declarative data of a
-	servlet. If a jsp-file is specified and the load-on-startup
-	element is present, then the JSP should be precompiled and
-	loaded.
-
-	Used in: web-app
-
+        The session-configType defines the session parameters
+        for this web application.
+        
+        Used in: web-app
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="servlet-name"
-		   type="javaee:servlet-nameType"/>
-      <xsd:choice>
-	<xsd:element name="servlet-class"
-		     type="javaee:fully-qualified-classType">
-	  <xsd:annotation>
-	    <xsd:documentation>
+      <xsd:element name="session-timeout"
+                   type="javaee:xsdIntegerType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	      The servlet-class element contains the fully
-	      qualified class name of the servlet.
+            The session-timeout element defines the default
+            session timeout interval for all sessions created
+            in this web application. The specified timeout
+            must be expressed in a whole number of minutes.
+            If the timeout is 0 or less, the container ensures
+            the default behaviour of sessions is never to time
+            out. If this element is not specified, the container
+            must set its default timeout period.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="cookie-config"
+                   type="javaee:cookie-configType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
+            The cookie-config element defines the configuration of the
+            session tracking cookies created by this web application.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="tracking-mode"
+                   type="javaee:tracking-modeType"
+                   minOccurs="0"
+                   maxOccurs="3">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	<xsd:element name="jsp-file"
-		     type="javaee:jsp-fileType"/>
-
-      </xsd:choice>
-
-      <xsd:element name="init-param"
-		   type="javaee:param-valueType"
-		   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="load-on-startup"
-		   type="javaee:load-on-startupType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The load-on-startup element indicates that this
-	    servlet should be loaded (instantiated and have
-	    its init() called) on the startup of the web
-	    application. The optional contents of these
-	    element must be an integer indicating the order in
-	    which the servlet should be loaded. If the value
-	    is a negative integer, or the element is not
-	    present, the container is free to load the servlet
-	    whenever it chooses. If the value is a positive
-	    integer or 0, the container must load and
-	    initialize the servlet as the application is
-	    deployed. The container must guarantee that
-	    servlets marked with lower integers are loaded
-	    before servlets marked with higher integers. The
-	    container may choose the order of loading of
-	    servlets with the same load-on-start-up value.
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The tracking-mode element defines the tracking modes
+            for sessions created by this web application
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
-      <xsd:element name="enabled"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-      <xsd:element name="async-supported"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-      <xsd:element name="run-as"
-		   type="javaee:run-asType"
-		   minOccurs="0"/>
-      <xsd:element name="security-role-ref"
-		   type="javaee:security-role-refType"
-		   minOccurs="0" maxOccurs="unbounded"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
-  <xsd:complexType name="session-configType">
+  <xsd:complexType name="cookie-configType">
     <xsd:annotation>
       <xsd:documentation>
 
-        The session-configType defines the session parameters
-        for this web application.
-
-	Used in: web-app
-
+        The cookie-configType defines the configuration for the
+        session tracking cookies of this web application.
+        
+        Used in: session-config
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
-      <xsd:element name="session-timeout"
-		   type="javaee:xsdIntegerType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:element name="name"
+                   type="javaee:cookie-nameType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The session-timeout element defines the default
-	    session timeout interval for all sessions created
-	    in this web application. The specified timeout
-	    must be expressed in a whole number of minutes.
-	    If the timeout is 0 or less, the container ensures
-	    the default behaviour of sessions is never to time
-	    out. If this element is not specified, the container
-	    must set its default timeout period.
+            The name that will be assigned to any session tracking
+            cookies created by this web application.
+            The default is JSESSIONID
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="domain"
+                   type="javaee:cookie-domainType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	  </xsd:documentation>
-	</xsd:annotation>
+            The domain name that will be assigned to any session tracking
+            cookies created by this web application.
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
-      <xsd:element name="cookie-config"
-                   type="javaee:cookie-configType"
+      <xsd:element name="path"
+                   type="javaee:cookie-pathType"
                    minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
 
-            The cookie-config element defines the configuration of the
-            session tracking cookies created by this web application.
+            The path that will be assigned to any session tracking
+            cookies created by this web application.
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="comment"
+                   type="javaee:cookie-commentType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
+            The comment that will be assigned to any session tracking
+            cookies created by this web application.
+            
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
-      <xsd:element name="tracking-mode"
-		   type="javaee:tracking-modeType"
-		   minOccurs="0" maxOccurs="3">
+      <xsd:element name="http-only"
+                   type="javaee:true-falseType"
+                   minOccurs="0">
         <xsd:annotation>
           <xsd:documentation>
 
-            The tracking-mode element defines the tracking modes
-            for sessions created by this web application
+            Specifies whether any session tracking cookies created 
+            by this web application will be marked as HttpOnly
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="secure"
+                   type="javaee:true-falseType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
+            Specifies whether any session tracking cookies created 
+            by this web application will be marked as secure
+            even if the request that initiated the corresponding session
+            is using plain HTTP instead of HTTPS
+            
           </xsd:documentation>
         </xsd:annotation>
       </xsd:element>
+      <xsd:element name="max-age"
+                   type="javaee:xsdIntegerType"
+                   minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            The lifetime (in seconds) that will be assigned to any
+            session tracking cookies created by this web application.
+            Default is -1
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
+  <xsd:complexType name="cookie-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The name that will be assigned to any session tracking
+        cookies created by this web application.
+        The default is JSESSIONID
+        
+        Used in: cookie-config
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:nonEmptyStringType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="cookie-domainType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The domain name that will be assigned to any session tracking
+        cookies created by this web application.
+        
+        Used in: cookie-config
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:nonEmptyStringType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="cookie-pathType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The path that will be assigned to any session tracking
+        cookies created by this web application.
+        
+        Used in: cookie-config
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:nonEmptyStringType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="cookie-commentType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The comment that will be assigned to any session tracking
+        cookies created by this web application.
+        
+        Used in: cookie-config
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:extension base="javaee:nonEmptyStringType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
   <xsd:complexType name="tracking-modeType">
     <xsd:annotation>
       <xsd:documentation>
 
         The tracking modes for sessions created by this web
         application
-
+        
         Used in: session-config
-
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="COOKIE"/>
-	<xsd:enumeration value="URL"/>
-	<xsd:enumeration value="SSL"/>
+        <xsd:enumeration value="COOKIE"/>
+        <xsd:enumeration value="URL"/>
+        <xsd:enumeration value="SSL"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="transport-guaranteeType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The transport-guaranteeType specifies that the communication
-	between client and server should be NONE, INTEGRAL, or
-	CONFIDENTIAL. NONE means that the application does not
-	require any transport guarantees. A value of INTEGRAL means
-	that the application requires that the data sent between the
-	client and server be sent in such a way that it can't be
-	changed in transit. CONFIDENTIAL means that the application
-	requires that the data be transmitted in a fashion that
-	prevents other entities from observing the contents of the
-	transmission. In most cases, the presence of the INTEGRAL or
-	CONFIDENTIAL flag will indicate that the use of SSL is
-	required.
-
-	Used in: user-data-constraint
-
+        The transport-guaranteeType specifies that the communication
+        between client and server should be NONE, INTEGRAL, or
+        CONFIDENTIAL. NONE means that the application does not
+        require any transport guarantees. A value of INTEGRAL means
+        that the application requires that the data sent between the
+        client and server be sent in such a way that it can't be
+        changed in transit. CONFIDENTIAL means that the application
+        requires that the data be transmitted in a fashion that
+        prevents other entities from observing the contents of the
+        transmission. In most cases, the presence of the INTEGRAL or
+        CONFIDENTIAL flag will indicate that the use of SSL is
+        required.
+        
+        Used in: user-data-constraint
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="NONE"/>
-	<xsd:enumeration value="INTEGRAL"/>
-	<xsd:enumeration value="CONFIDENTIAL"/>
+        <xsd:enumeration value="NONE"/>
+        <xsd:enumeration value="INTEGRAL"/>
+        <xsd:enumeration value="CONFIDENTIAL"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="user-data-constraintType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The user-data-constraintType is used to indicate how
-	data communicated between the client and container should be
-	protected.
-
-	Used in: security-constraint
-
+        The user-data-constraintType is used to indicate how
+        data communicated between the client and container should be
+        protected.
+        
+        Used in: security-constraint
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
+                   type="javaee:descriptionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
       <xsd:element name="transport-guarantee"
-		   type="javaee:transport-guaranteeType"/>
+                   type="javaee:transport-guaranteeType"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="war-pathType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The elements that use this type designate a path starting
-	with a "/" and interpreted relative to the root of a WAR
-	file.
-
+        The elements that use this type designate a path starting
+        with a "/" and interpreted relative to the root of a WAR
+        file.
+        
       </xsd:documentation>
     </xsd:annotation>
     <xsd:simpleContent>
       <xsd:restriction base="javaee:string">
-	<xsd:pattern value="/.*"/>
+        <xsd:pattern value="/.*"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
 
-<!-- **************************************************** -->
-
   <xsd:simpleType name="web-app-versionType">
     <xsd:annotation>
       <xsd:documentation>
 
-	This type contains the recognized versions of
-	web-application supported. It is used to designate the
-	version of the web application.
-
+        This type contains the recognized versions of
+        web-application supported. It is used to designate the
+        version of the web application.
+        
       </xsd:documentation>
     </xsd:annotation>
     <xsd:restriction base="xsd:token">
@@ -1306,89 +1241,9 @@
     </xsd:restriction>
   </xsd:simpleType>
 
-<!-- **************************************************** -->
 
-  <xsd:complexType name="web-appType">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:group ref="javaee:web-commonType"/>
-      <xsd:element name="absolute-ordering"
-                         type="javaee:absoluteOrderingType"/>
-    </xsd:choice>
-    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
-  </xsd:complexType>
-
 <!-- **************************************************** -->
 
-  <xsd:group name="web-commonType">
-
-    <xsd:choice>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="name"
-                   type="javaee:java-identifierType"/>
-      <xsd:element name="distributable"
-		   type="javaee:emptyType"/>
-      <xsd:element name="context-param"
-		   type="javaee:param-valueType">
-
-        <xsd:annotation>
-	  <xsd:documentation>
-
-	    The context-param element contains the declaration
-	    of a web application's servlet context
-	    initialization parameters.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-
-      <xsd:element name="filter"
-		   type="javaee:filterType"/>
-      <xsd:element name="filter-mapping"
-		   type="javaee:filter-mappingType"/>
-      <xsd:element name="listener"
-		   type="javaee:listenerType"/>
-      <xsd:element name="servlet"
-		   type="javaee:servletType"/>
-      <xsd:element name="servlet-mapping"
-		   type="javaee:servlet-mappingType"/>
-      <xsd:element name="session-config"
-		   type="javaee:session-configType"/>
-      <xsd:element name="mime-mapping"
-		   type="javaee:mime-mappingType"/>
-      <xsd:element name="welcome-file-list"
-		   type="javaee:welcome-file-listType"/>
-      <xsd:element name="error-page"
-		   type="javaee:error-pageType"/>
-      <xsd:element name="jsp-config"
-		   type="javaee:jsp-configType"/>
-      <xsd:element name="security-constraint"
-		   type="javaee:security-constraintType"/>
-      <xsd:element name="login-config"
-		   type="javaee:login-configType"/>
-      <xsd:element name="security-role"
-		   type="javaee:security-roleType"/>
-      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
-      <xsd:element name="message-destination"
-		   type="javaee:message-destinationType"/>
-      <xsd:element name="locale-encoding-mapping-list"
-		   type="javaee:locale-encoding-mapping-listType"/>
-    </xsd:choice>
-
-  </xsd:group>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="web-fragmentType">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:group ref="javaee:web-commonType"/>
-      <xsd:element name="ordering"
-                         type="javaee:orderingType"/>
-    </xsd:choice>
-    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
   <xsd:complexType name="web-resource-collectionType">
     <xsd:annotation>
       <xsd:documentation>
@@ -1401,88 +1256,299 @@
         elements, the security constraint applies to all methods
         except those identified in the collection.
         http-method-omission and http-method elements are never
-        mixed in the same collection.
-
+        mixed in the same collection. 
+        
         Used in: security-constraint
-
+        
       </xsd:documentation>
     </xsd:annotation>
-
     <xsd:sequence>
       <xsd:element name="web-resource-name"
-		   type="javaee:string">
-	<xsd:annotation>
-	  <xsd:documentation>
+                   type="javaee:string">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    The web-resource-name contains the name of this web
-	    resource collection.
-
-	  </xsd:documentation>
-	</xsd:annotation>
+            The web-resource-name contains the name of this web
+            resource collection.
+            
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
       <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
+                   type="javaee:descriptionType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
       <xsd:element name="url-pattern"
-		   type="javaee:url-patternType"
-		   maxOccurs="unbounded"/>
-      <xsd:choice minOccurs="0" maxOccurs="1">
+                   type="javaee:url-patternType"
+                   maxOccurs="unbounded"/>
+      <xsd:choice minOccurs="0"
+                  maxOccurs="1">
         <xsd:element name="http-method"
                      type="javaee:http-methodType"
-                     minOccurs="1" maxOccurs="unbounded">
+                     minOccurs="1"
+                     maxOccurs="unbounded">
           <xsd:annotation>
             <xsd:documentation>
+
               Each http-method names an HTTP method to which the
               constraint applies.
+              
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
         <xsd:element name="http-method-omission"
                      type="javaee:http-methodType"
-                     minOccurs="1" maxOccurs="unbounded">
+                     minOccurs="1"
+                     maxOccurs="unbounded">
           <xsd:annotation>
             <xsd:documentation>
+
               Each http-method-omission names an HTTP method to
               which the constraint does not apply.
+              
             </xsd:documentation>
           </xsd:annotation>
         </xsd:element>
       </xsd:choice>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
 <!-- **************************************************** -->
 
   <xsd:complexType name="welcome-file-listType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The welcome-file-list contains an ordered list of welcome
-	files elements.
+        The welcome-file-list contains an ordered list of welcome
+        files elements.
+        
+        Used in: web-app
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="welcome-file"
+                   type="xsd:string"
+                   maxOccurs="unbounded">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	Used in: web-app
+            The welcome-file element contains file name to use
+            as a default welcome file, such as index.html
+            
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
 
+  <xsd:simpleType name="localeType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The localeType defines valid locale defined by ISO-639-1
+        and ISO-3166.
+        
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
+    </xsd:restriction>
+  </xsd:simpleType>
 
+  <xsd:simpleType name="encodingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The encodingType defines IANA character sets.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="[^\s]+"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="locale-encoding-mapping-listType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The locale-encoding-mapping-list contains one or more
+        locale-encoding-mapping(s).
+        
+      </xsd:documentation>
+    </xsd:annotation>
     <xsd:sequence>
-      <xsd:element name="welcome-file"
-		   type="xsd:string"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:element name="locale-encoding-mapping"
+                   type="javaee:locale-encoding-mappingType"
+                   maxOccurs="unbounded"/>
+    </xsd:sequence>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
 
-	    The welcome-file element contains file name to use
-	    as a default welcome file, such as index.html
 
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
+<!-- **************************************************** -->
+
+  <xsd:complexType name="locale-encoding-mappingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        The locale-encoding-mapping contains locale name and
+        encoding name. The locale name must be either "Language-code",
+        such as "ja", defined by ISO-639 or "Language-code_Country-code",
+        such as "ja_JP".  "Country code" is defined by ISO-3166.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="locale"
+                   type="javaee:localeType"/>
+      <xsd:element name="encoding"
+                   type="javaee:encodingType"/>
     </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
   </xsd:complexType>
 
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ordering-othersType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element indicates that the ordering sub-element in which
+        it was placed should take special action regarding the ordering
+        of this application resource relative to other application
+        configuration resources.
+        See section 8.2.2 of the specification for details.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="id"
+                   type="xsd:ID"/>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="absoluteOrderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Please see section 8.2.2 of the specification for details.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice minOccurs="0"
+                maxOccurs="unbounded">
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:ordering-othersType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:choice>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="orderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Please see section 8.2.2 of the specification for details.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="after"
+                   type="javaee:ordering-orderingType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="before"
+                   type="javaee:ordering-orderingType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="ordering-orderingType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element contains a sequence of "name" elements, each of
+        which
+        refers to an application configuration resource by the "name"
+        declared on its web.xml fragment.  This element can also contain
+        a single "others" element which specifies that this document
+        comes
+        before or after other documents within the application.
+        See section 8.2.2 of the specification for details.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="name"
+                   type="javaee:java-identifierType"
+                   minOccurs="0"
+                   maxOccurs="unbounded"/>
+      <xsd:element name="others"
+                   type="javaee:ordering-othersType"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="multipart-configType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        This element contains a sequence of "name" elements, each of which
+        refers to an application configuration resource by the "name"
+        declared on its web.xml fragment.  This element can also contain
+        a single "others" element which specifies that this document comes
+        before or after other documents within the application.
+        See section 8.2.2 of the specification for details.
+        
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="location"
+                   type="javaee:string"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="max-file-size"
+                   type="xsd:long"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="max-request-size"
+                   type="xsd:long"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+      <xsd:element name="file-size-threshold"
+                   type="xsd:integer"
+                   minOccurs="0"
+                   maxOccurs="1"/>
+    </xsd:sequence>
+  </xsd:complexType>
+
 </xsd:schema>
-




More information about the jboss-cvs-commits mailing list