Adding new jetty-schemas needed for jetty-9 as the javaee-7 jars no longer contain them
diff --git a/jetty-schemas/pom.xml b/jetty-schemas/pom.xml new file mode 100644 index 0000000..f2bcbab --- /dev/null +++ b/jetty-schemas/pom.xml
@@ -0,0 +1,22 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <groupId>org.eclipse.jetty.toolchain</groupId> + <artifactId>jetty-toolchain</artifactId> + <version>1.4</version> + <relativePath>../jetty-toolchain</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.eclipse.jetty.toolchain</groupId> + <artifactId>jetty-schemas</artifactId> + <version>3.1-SNAPSHOT</version> + <name>Jetty :: Schemas</name> + <packaging>jar</packaging> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <scm> + <connection>scm:git:http://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.toolchain.git</connection> + <developerConnection>scm:git:ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.toolchain.git</developerConnection> + <url>http://git.eclipse.org/c/jetty/org.eclipse.jetty.toolchain.git/tree/jetty-schemas</url> + </scm> +</project>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_0.xsd new file mode 100644 index 0000000..fcb07f0 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_0.xsd
@@ -0,0 +1,317 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="2.0"> + <xsd:annotation> + <xsd:documentation> + @(#)jsp_2_0.xsds 1.17 03/18/03 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + This is the XML Schema for the JSP 2.0 deployment descriptor + types. The JSP 2.0 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_2_4.xsd + file to define JSP specific content. + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + The following conventions apply to all J2EE + 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="j2ee_1_4.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="j2ee:taglibType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="jsp-property-group" + type="j2ee: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="j2ee: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. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="url-pattern" + type="j2ee:url-patternType" + maxOccurs="unbounded"/> + <xsd:element name="el-ignored" + type="j2ee: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="j2ee: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="j2ee: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="j2ee: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="j2ee: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="j2ee: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: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="j2ee: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="j2ee: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> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_1.xsd new file mode 100644 index 0000000..834d420 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_1.xsd
@@ -0,0 +1,350 @@ +<?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="2.1"> + <xsd:annotation> + <xsd:documentation> + @(#)jsp_2_1.xsds 1.5 08/11/05 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + This is the XML Schema for the JSP 2.1 deployment descriptor + types. The JSP 2.1 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_2_5.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_5.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. + + </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: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> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_2.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_2.xsd new file mode 100644 index 0000000..1834481 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_2.xsd
@@ -0,0 +1,397 @@ +<?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="2.2"> + <xsd:annotation> + <xsd:documentation> + @(#)jsp_2_2.xsds 02/26/09 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + 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> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_3.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_3.xsd new file mode 100644 index 0000000..564d309 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jsp_2_3.xsd
@@ -0,0 +1,389 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="2.3"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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> + + This is the XML Schema for the JSP 2.3 deployment descriptor + types. The JSP 2.3 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-common_3_1.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_7.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>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd new file mode 100644 index 0000000..dffe046 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd
@@ -0,0 +1,189 @@ +<!-- + Copyright 2004 The Apache Software Foundation + + Licensed 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 + + http://www.apache.org/licenses/LICENSE-2.0 + + 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. +--> +<!-- DTD for JSP 2.0 + thanks to Bob Foster, WebGain +--> + +<!-- + This DTD is not conditional on any parameter entities in the internal + subset and does not export any general entities. +--> + +<!--================== Constrained Names ====================================--> + +<!ENTITY % URI "CDATA"> + <!-- a Uniform Resource Identifier, see [RFC2396] --> + +<!ENTITY % UriList "CDATA"> + <!-- a space separated list of Uniform Resource Identifiers --> + +<!ENTITY % URL "CDATA"> + <!-- a relative urlSpec is as in Section 2.10.2. --> + +<!ENTITY % BeanID "IDREF"> + <!-- a previously declared bean ID in the current scope. --> + +<!ENTITY % Prefix "CDATA"> + <!-- a Name that contains no : characters. --> + +<!ENTITY % ClassName "CDATA"> + <!-- a fully qualified class name. --> + +<!ENTITY % TypeName "CDATA"> + <!-- a fully qualified class or interface name. --> + +<!ENTITY % BeanName "CDATA"> + <!-- a bean name as expected by java.beans.Beans instantiate(). --> + +<!ENTITY % Content "CDATA"> + <!-- a MIME type followed by an IANA charset, as " type [; S? ['charset='] charset] " --> + +<!ENTITY % Length "CDATA"> + <!-- nn for pixels or nn% for percentage length --> + +<!ENTITY % Pixels "CDATA"> + <!-- integer representing length in pixels --> + +<!ENTITY % Bool "(true|false|yes|no)"> + <!-- boolean --> + +<!-- used for object, applet, img, input and iframe --> +<!ENTITY % ImgAlign "(top|middle|bottom|left|right)"> + +<!--=================== Element Groups ====================================--> + +<!ENTITY % Directives "jsp:directive.page|jsp:directive.include"> + +<!ENTITY % Scripts "jsp:scriptlet|jsp:declaration|jsp:expression"> + +<!ENTITY % Actions + "jsp:useBean + |jsp:setProperty + |jsp:getProperty + |jsp:include + |jsp:forward + |jsp:plugin" +> + +<!ENTITY % Body "(jsp:text|%Directives;|%Scripts;|%Actions;)*"> + + +<!-- ============================ Elements ============================ --> + +<!-- Root element of a JSP page. +--> +<!ELEMENT jsp:root %Body;> +<!ATTLIST jsp:root + xmlns:jsp CDATA "http://java.sun.com/JSP/Page" + version CDATA #REQUIRED +> + +<!ELEMENT jsp:directive.page EMPTY> +<!ATTLIST jsp:directive.page + language CDATA "java" + extends %ClassName; #IMPLIED + contentType %Content; "text/html; ISO-8859-1" + import CDATA #IMPLIED + session %Bool; "true" + buffer CDATA "8kb" + autoFlush %Bool; "true" + isThreadSafe %Bool; "true" + info CDATA #IMPLIED + errorPage %URL; #IMPLIED + isErrorPage %Bool; "false" + pageEncoding CDATA #IMPLIED + isELIgnored %Bool; #IMPLIED +> + +<!-- the jsp:directive.include only appears in JSP documents and does + not appear in the XML views of JSP pages. +--> + +<!ELEMENT jsp:directive.include EMPTY> +<!ATTLIST jsp:directive.include + file %URI; #REQUIRED +> + +<!ELEMENT jsp:scriptlet (#PCDATA)> + +<!ELEMENT jsp:declaration (#PCDATA)> + +<!ELEMENT jsp:expression (#PCDATA)> + +<!ELEMENT jsp:useBean %Body;> +<!ATTLIST jsp:useBean + id ID #REQUIRED + class %ClassName; #IMPLIED + type %TypeName; #IMPLIED + beanName %BeanName; #IMPLIED + scope (page + |session + |request + |application) "page" +> + +<!ELEMENT jsp:setProperty EMPTY> +<!ATTLIST jsp:setProperty + name %BeanID; #REQUIRED + property CDATA #REQUIRED + value CDATA #IMPLIED + param CDATA #IMPLIED +> + +<!ELEMENT jsp:getProperty EMPTY> +<!ATTLIST jsp:getProperty + name %BeanID; #REQUIRED + property CDATA #REQUIRED +> + +<!ELEMENT jsp:include (jsp:param*)> +<!ATTLIST jsp:include + flush %Bool; "false" + page %URL; #REQUIRED +> + +<!ELEMENT jsp:forward (jsp:param*)> +<!ATTLIST jsp:forward + page %URL; #REQUIRED +> + +<!ELEMENT jsp:plugin (jsp:params?, jsp:fallback?)> +<!ATTLIST jsp:plugin + type (bean|applet) #REQUIRED + code %URI; #IMPLIED + codebase %URI; #IMPLIED + align %ImgAlign; #IMPLIED + archive %UriList; #IMPLIED + height %Length; #IMPLIED + hspace %Pixels; #IMPLIED + jreversion CDATA "1.2" + name NMTOKEN #IMPLIED + vspace %Pixels; #IMPLIED + width %Length; #IMPLIED + nspluginurl %URI; #IMPLIED + iepluginurl %URI; #IMPLIED +> + +<!ELEMENT jsp:params (jsp:param+)> + +<!ELEMENT jsp:param EMPTY> +<!ATTLIST jsp:param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + +<!ELEMENT jsp:text #PCDATA> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd new file mode 100644 index 0000000..886ee65 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd
@@ -0,0 +1,513 @@ +<?xml version ="1.0"?> +<!-- + Copyright 2004 The Apache Software Foundation + + Licensed 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 + + http://www.apache.org/licenses/LICENSE-2.0 + + 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. +--> +<!DOCTYPE schema [ +<!-- Patterns --> +<!ENTITY Identifier "(\p{L}|_|$)(\p{N}|\p{L}|_|$)*"> +<!ENTITY TypeName "&Identifier;(\.&Identifier;)*"> +<!ENTITY WS "\s*"> +<!ENTITY Import "&TypeName;(\.\*)?"> +<!ENTITY ImportList "&Import;(&WS;,&WS;&Import;)*"> +<!ENTITY SetProp "(&Identifier;|\*)"> +<!ENTITY RelativeURL "[^:#/\?]*(:{0,0}|[#/\?].*)"> +<!ENTITY Length "[0-9]*%?"> +<!ENTITY AsciiName "[A-Za-z0-9_-]*"> +<!ENTITY ValidContentType "&AsciiName;/&AsciiName;(;&WS;(charset=)?&AsciiName;)?"> +<!ENTITY ValidPageEncoding "&AsciiName;/&AsciiName;"> +<!ENTITY Buffer "[0-9]+kb"> +<!ENTITY RTexpr "%=.*%"> +]> + + +<!--Conforms to w3c http://www.w3.org/2001/XMLSchema --> + +<xsd:schema + xmlns = "http://java.sun.com/JSP/Page" + xmlns:xsd = "http://www.w3.org/2001/XMLSchema" + xmlns:jsp = "http://java.sun.com/JSP/Page" + targetNamespace = "http://java.sun.com/JSP/Page" + elementFormDefault = "qualified" + attributeFormDefault = "unqualified"> + + <xsd:annotation> + <xsd:documentation> + XML Schema for JSP 2.0. + + This schema is based upon the recent (May 5th, 2001) + W3C recommendation for XML Schema. + + A JSP translator should reject an XML-format file that is + not strictly valid according to this schema or does not observe + the constraints documented here. A translator is not required + to use this schema for validation or to use a validating parser. + </xsd:documentation> + </xsd:annotation> + + + <!-- Complex Types --> + + <xsd:complexType name = "Body"> + <xsd:annotation> + <xsd:documentation> + Body defines the "top-level" elements in root and beanInfo. + There are probably other elements that should use it. + </xsd:documentation> + </xsd:annotation> + <xsd:group ref = "Bodygroup" minOccurs = "0" maxOccurs = "unbounded"/> + </xsd:complexType> + + <!-- groups --> + + <xsd:group name = "Bodygroup"> + <xsd:choice> + <xsd:element ref = "directive.page"/> + <xsd:element ref = "directive.include"/> + <xsd:element ref = "scriptlet"/> + <xsd:element ref = "declaration"/> + <xsd:element ref = "expression"/> + <xsd:element ref = "useBean"/> + <xsd:element ref = "setProperty"/> + <xsd:element ref = "getProperty"/> + <xsd:element ref = "include"/> + <xsd:element ref = "forward"/> + <xsd:element ref = "plugin"/> + <xsd:element ref = "text"/> + <xsd:any namespace="##other" processContents = "lax"/> + </xsd:choice> + </xsd:group> + + + <!-- Simple types are next --> + + <xsd:simpleType name = "RTE"> + <xsd:annotation> + <xsd:documentation> + A request-time expression value + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&RTexpr;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "Bool"> + <xsd:annotation> + <xsd:documentation> + Bool would be boolean except it does not accept 1 and 0. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:NMTOKEN" > + <xsd:enumeration value = "true"/> + <xsd:enumeration value = "false"/> + <xsd:enumeration value = "yes"/> + <xsd:enumeration value = "no"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "Identifier"> + <xsd:annotation> + <xsd:documentation> + Identifier is an unqualified Java identifier. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&Identifier;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "TypeName"> + <xsd:annotation> + <xsd:documentation> + TypeName is one or more Java identifiers separated by dots + with no whitespace. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&TypeName;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "ImportList"> + <xsd:annotation> + <xsd:documentation> + ImportList is one or more typeNames separated by commas. + Whitespace is allowed before and after the comma. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&ImportList;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "SetProp"> + <xsd:annotation> + <xsd:documentation> + SetProp is an Identifier or *. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&SetProp;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "RelativeURL"> + <xsd:annotation> + <xsd:documentation> + RelativeURL is a uriReference with no colon character + before the first /, ? or #, if any (RFC2396). + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:anyURI"> + <xsd:pattern value = "&RelativeURL;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "RTERelativeURL"> + <xsd:union memberTypes = "RelativeURL RTE"/> + </xsd:simpleType> + + <xsd:simpleType name = "Length"> + <xsd:annotation> + <xsd:documentation> + Length is nn or nn%. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&Length;"/> + </xsd:restriction> + </xsd:simpleType> + + + <xsd:simpleType name = "ExplicitBufferSize"> + <xsd:annotation> + <xsd:documentation> + Buffer Size with an explicit value + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&Buffer;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "NoneBufferSize"> + <xsd:annotation> + <xsd:documentation> + Buffer Size with a "none" value + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:enumeration value = "none"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "BufferSize"> + <xsd:annotation> + <xsd:documentation> + Buffer size is xkb or none. + </xsd:documentation> + </xsd:annotation> + <xsd:union memberTypes = "ExplicitBufferSize NoneBufferSize"/> + </xsd:simpleType> + + <xsd:simpleType name = "ContentType"> + <xsd:annotation> + <xsd:documentation> + Content type and character encoding for this page. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&ValidContentType;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "PageEncoding"> + <xsd:annotation> + <xsd:documentation> + Page Encoding for this page. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:string"> + <xsd:pattern value = "&ValidPageEncoding;"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "Scope"> + <xsd:annotation> + <xsd:documentation> + valid scope values + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:NMTOKEN"> + <xsd:enumeration value = "page"/> + <xsd:enumeration value = "session"/> + <xsd:enumeration value = "request"/> + <xsd:enumeration value = "application"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "PlugInType"> + <xsd:annotation> + <xsd:documentation> + valid values for a plugin type + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:NMTOKEN"> + <xsd:enumeration value = "bean"/> + <xsd:enumeration value = "applet"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name = "AlignType"> + <xsd:annotation> + <xsd:documentation> + Buffer size is xkb. + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base = "xsd:NMTOKEN"> + <xsd:enumeration value = "top"/> + <xsd:enumeration value = "middle"/> + <xsd:enumeration value = "bottom"/> + <xsd:enumeration value = "left"/> + <xsd:enumeration value = "right"/> + </xsd:restriction> + </xsd:simpleType> + + <!-- Elements follow --> + + <xsd:element name = "root"> + <xsd:annotation> + <xsd:documentation> + The root element of all JSP documents is named root. + + Authors may, if they wish, include schema location information. + If specified, the information may appear as attributes of + the root element as follows: + + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/JSP/Page xsd-file-location" + + Documents should not specify the system identifier of a DTD + in a DOCTYPE declaration. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base = "Body"> + <xsd:attribute name = "version" fixed = "2.0" type = "xsd:string"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "directive.page"> + <xsd:annotation> + <xsd:documentation> + directive.page is the "page directive". + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attribute name = "language" default = "java" type = "xsd:string"/> + <xsd:attribute name = "extends" type = "TypeName"/> + <xsd:attribute name = "contentType" default = "text/html; ISO-8859-1" type = "ContentType"/> + <xsd:attribute name = "pageEncoding" use = "optional" type = "PageEncoding"/> + <xsd:attribute name = "import" type = "ImportList"/> + <xsd:attribute name = "session" default = "true" type = "Bool"/> + <xsd:attribute name = "buffer" default = "8kb" type = "BufferSize"/> + <xsd:attribute name = "autoFlush" default = "true" type = "Bool"/> + <xsd:attribute name = "isThreadSafe" default = "true" type = "Bool"/> + <xsd:attribute name = "info" type = "xsd:string"/> + <xsd:attribute name = "errorPage" type = "RelativeURL"/> + <xsd:attribute name = "isErrorPage" default = "false" type = "Bool"/> + <xsd:attribute name = "isELIgnored" type = "Bool"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "directive.include"> + <xsd:annotation> + <xsd:documentation> + directive.include is the "include directive". + This element does not appear on XML views of JSP pages. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attribute name = "file" use = "required" type = "RelativeURL"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "scriptlet" type = "xsd:string"> + <xsd:annotation> + <xsd:documentation> + The representation of a scriplet. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name = "declaration" type = "xsd:string"> + <xsd:annotation> + <xsd:documentation> + The reprsentation of a declaration. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name = "expression" type = "xsd:string"> + <xsd:annotation> + <xsd:documentation> + The representation of an expression. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name = "text" type = "xsd:string"> + <xsd:annotation> + <xsd:documentation> + Verbatim template text. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name = "useBean"> + <xsd:annotation> + <xsd:documentation> + useBean instantiates or accesses a bean in the specified scope. + + Constraint: The allowed combinations of attributes are: + + class [type] | type [( class | beanName)] + + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="Body"> + <xsd:attribute name = "id" use = "required" type = "Identifier"/> + <xsd:attribute name = "class" type = "TypeName"/> + <xsd:attribute name = "type" type = "TypeName"/> + <xsd:attribute name = "beanName" type = "TypeName"/> + <xsd:attribute name = "scope" default = "page" type = "Scope"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "setProperty"> + <xsd:annotation> + <xsd:documentation> + setProperty changes the value of an object property. + + Constraint: The object named by the name must have been + "introduced" to the JSP processor using either the + jsp:useBean action or a custom action with an associated + VariableInfo entry for this name. + + Exact valid combinations are not expressable in XML Schema. + They are: + + name="Identifier" property="*" + name="Identifier" property="Identfiier" param="string" + name="Identifier" property="Identifier" value="string" + + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attribute name = "name" use = "required" type = "Identifier"/> + <xsd:attribute name = "property" use = "required" type = "SetProp"/> + <xsd:attribute name = "param" type = "xsd:string"/> + <xsd:attribute name = "value" type = "xsd:string"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "getProperty"> + <xsd:annotation> + <xsd:documentation> + getProperty obtains the value of an object property. + + Constraint: The object named by the name must have been + "introduced" to the JSP processor using either the + jsp:useBean action or a custom action with an associated + VariableInfo entry for this name. + + ???The spec is interpreted as restricting the values of + property to Identifier. + </xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attribute name = "name" use = "required" type = "Identifier"/> + <xsd:attribute name = "property" use = "required" type = "Identifier"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "include"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref = "param" minOccurs = "0" maxOccurs = "unbounded"/> + </xsd:sequence> + <xsd:attribute name = "flush" default = "false" type = "Bool"/> + <xsd:attribute name = "page" use = "required" type = "RTERelativeURL"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "forward"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref = "param" minOccurs = "0" maxOccurs = "unbounded"/> + </xsd:sequence> + <xsd:attribute name = "page" use = "required" type = "RTERelativeURL"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "plugin"> + <xsd:complexType> <!-- content only! --> + <xsd:sequence> + <xsd:element ref = "params" minOccurs = "0" maxOccurs = "1"/> + <xsd:element name = "fallback" minOccurs = "0" maxOccurs = "1" type = "Body"/> + </xsd:sequence> + <xsd:attribute name = "type" use = "required" type = "PlugInType"/> + <xsd:attribute name = "code" type = "xsd:anyURI"/> + <xsd:attribute name = "codebase" type = "xsd:anyURI"/> + <xsd:attribute name = "align" type = "AlignType"/> + <xsd:attribute name = "archive"> + <xsd:simpleType> + <xsd:list itemType="xsd:anyURI"/> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name = "height" type = "Length"/> + <xsd:attribute name = "hspace" type = "xsd:int"/> + <xsd:attribute name = "jreversion" default = "1.2" type = "xsd:string"/> + <xsd:attribute name = "name" type = "xsd:NMTOKEN"/> + <xsd:attribute name = "vspace" type = "xsd:int"/> + <xsd:attribute name = "width" type = "Length"/> + <xsd:attribute name = "nspluginurl" type = "xsd:anyURI"/> + <xsd:attribute name = "iepluginurl" type = "xsd:anyURI"/> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "params"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref = "param" minOccurs = "1" maxOccurs = "unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name = "param"> + <xsd:complexType> + <xsd:attribute name = "name" use = "required" type = "xsd:NMTOKEN"/> + <xsd:attribute name = "value" use = "required" type = "xsd:string"/> + </xsd:complexType> + </xsd:element> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd new file mode 100644 index 0000000..8cb2166 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd
@@ -0,0 +1,228 @@ +<!-- + +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + +Copyright 2000-2007 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 "License"). You +may not use this file except in compliance with the License. You can obtain +a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html +or 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 particular file as subject to the "Classpath" exception +as provided by Sun in the GPL Version 2 section of the License file that +accompanied this code. If applicable, add the following 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 distribution under the [CDDL or GPL +Version 2] license." If you don't indicate a single choice of license, a +recipient has the option to distribute your version of this file under +either the CDDL, the GPL Version 2 or to extend the choice of license to +its licensees as provided above. However, if you add GPL Version 2 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. + +--> + +<!-- + + This is the DTD defining the JavaServer Pages 1.1 Tag Library + descriptor (.tld) (XML) file format/syntax. + + A Tag Library is a JAR file containing a valid instance of a Tag Library + Descriptor (taglib.tld) file in the META-INF subdirectory, along with the + appropriate implementing classes, and other resources required to + implement the tags defined therein. + + --> + +<!-- +The taglib tag is the document root, it defines: + +tlibversion the version of the tag library implementation +jspversion the version of JSP the tag library depends upon + +shortname a simple default short name that could be used by + a JSP authoring tool to create names with a mnemonic + value; for example, the it may be used as the prefered + prefix value in taglib directives +uri a uri uniquely identifying this taglib +info a simple string describing the "use" of this taglib, + should be user discernable +--> + +<!ELEMENT taglib (tlibversion, jspversion?, shortname, uri?, info?, tag+) > +<!ATTLIST taglib id ID #IMPLIED + xmlns CDATA #FIXED + "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd" +> + +<!-- +Describes this version (number) of the taglibrary (dewey decimal) + +#PCDATA ::= [0-9]*{ "."[0-9] }0..3 +--> + +<!ELEMENT tlibversion (#PCDATA) > + +<!-- +Describes the JSP version (number) this taglibrary requires in +order to function (dewey decimal) + +The default is 1.1 + +#PCDATA ::= [0-9]*{ "."[0-9] }0..3 +--> + +<!ELEMENT jspversion (#PCDATA) > + +<!-- +Defines a short (default) shortname to be used for tags and +variable names used/created by this tag library. Do not use +white space, and do not start with digits or underscore. + +#PCDATA ::= NMTOKEN +--> + +<!ELEMENT shortname (#PCDATA) > + +<!-- +Defines a public URI that uniquely identifies this version of +the taglibrary Leave it empty if it does not apply. +--> + +<!ELEMENT uri (#PCDATA) > + +<!-- +Defines an arbitrary text string descirbing the tag library +--> + +<!ELEMENT info (#PCDATA) > + +<!-- +The tag defines a unique tag in this tag library, defining: + +- the unique tag/element name +- the subclass of javax.servlet.jsp.tagext.Tag implementation class +- an optional subclass of javax.servlet.jsp.tagext.TagExtraInfo +- the body content type (hint) +- optional tag-specific information +- any attributes +--> + +<!ELEMENT tag (name, tagclass, teiclass?, bodycontent?, info?, attribute*) > + +<!-- +Defines the subclass of javax.serlvet.jsp.tagext.Tag that implements +the request time semantics for this tag. (required) + +#PCDATA ::= fully qualified Java class name +--> + +<!ELEMENT tagclass (#PCDATA) > + +<!-- +Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo for +this tag. (optional) + +If this is not given, the class is not consulted at translation time. + +#PCDATA ::= fully qualified Java class name +--> + +<!ELEMENT teiclass (#PCDATA) > + +<!-- +Provides a hint as to the content of the body of this tag. Primarily +intended for use by page composition tools. + +There are currently three values specified: + +tagdependent The body of the tag is interpreted by the tag + implementation itself, and is most likely in a + different "langage", e.g embedded SQL statements. + +JSP The body of the tag contains nested JSP syntax + +empty The body must be empty + +The default (if not defined) is JSP + +#PCDATA ::= tagdependent | JSP | empty + +--> + +<!ELEMENT bodycontent (#PCDATA) > + +<!-- +The attribute tag defines an attribute for the nesting tag + +An attribute definition is composed of: + +- the attributes name (required) +- if the attribute is required or optional (optional) +- if the attributes value may be dynamically calculated at runtime + by a scriptlet expression (optional) + +--> + +<!ELEMENT attribute (name, required? , rtexprvalue?) > + +<!-- +Defines the canonical name of a tag or attribute being defined + +#PCDATA ::= NMTOKEN +--> + +<!ELEMENT name (#PCDATA) > + +<!-- +Defines if the nesting attribute is required or optional. + +#PCDATA ::= true | false | yes | no + +If not present then the default is "false", i.e the attribute +is optional. +--> + +<!ELEMENT required (#PCDATA) > + +<!-- +Defines if the nesting attribute can have scriptlet expressions as +a value, i.e the value of the attribute may be dynamically calculated +at request time, as opposed to a static value determined at translation +time. + +#PCDATA ::= true | false | yes | no + +If not present then the default is "false", i.e the attribute +has a static value +--> + +<!ELEMENT rtexprvalue (#PCDATA) > + +<!ATTLIST tlibversion id ID #IMPLIED> +<!ATTLIST jspversion id ID #IMPLIED> +<!ATTLIST shortname id ID #IMPLIED> +<!ATTLIST uri id ID #IMPLIED> +<!ATTLIST info id ID #IMPLIED> +<!ATTLIST tag id ID #IMPLIED> +<!ATTLIST tagclass id ID #IMPLIED> +<!ATTLIST teiclass id ID #IMPLIED> +<!ATTLIST bodycontent id ID #IMPLIED> +<!ATTLIST attribute id ID #IMPLIED> +<!ATTLIST name id ID #IMPLIED> +<!ATTLIST required id ID #IMPLIED> +<!ATTLIST rtexprvalue id ID #IMPLIED>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd new file mode 100644 index 0000000..6ea0ee9 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
@@ -0,0 +1,499 @@ +<!-- + +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + +Copyright 2000-2007 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 "License"). You +may not use this file except in compliance with the License. You can obtain +a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html +or 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 particular file as subject to the "Classpath" exception +as provided by Sun in the GPL Version 2 section of the License file that +accompanied this code. If applicable, add the following 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 distribution under the [CDDL or GPL +Version 2] license." If you don't indicate a single choice of license, a +recipient has the option to distribute your version of this file under +either the CDDL, the GPL Version 2 or to extend the choice of license to +its licensees as provided above. However, if you add GPL Version 2 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. + +--> + +<!-- + + This is the DTD defining the JavaServer Pages 1.2 Tag Library + descriptor (.tld) (XML) file format/syntax. + + A Tag Library is a JAR file containing a valid instance of a Tag Library + Descriptor (taglib.tld) file in the META-INF subdirectory, along with the + appropriate implementing classes, and other resources required to + implement the tags defined therein. + + --> + +<!NOTATION WEB-JSPTAGLIB.1_2 PUBLIC + "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"> + +<!-- +This is the XML DTD for the JSP 1.2 Tag Library Descriptor. +All JSP 1.2 tag library descriptors must include a DOCTYPE +of the following form: + + <!DOCTYPE taglib + PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" + "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> + +--> + +<!-- +The taglib tag is the document root, it defines: + +tlib-version the version of the tag library implementation + +jsp-version the version of JSP the tag library depends upon + +short-name a simple default short name that could be used by + a JSP authoring tool to create names with a mnemonic + value; for example, the it may be used as the prefered + prefix value in taglib directives + +uri a uri uniquely identifying this taglib + +display-name the display-name element contains a short name that + is intended to be displayed by tools +small-icon optional small-icon that can be used by tools + +large-icon optional large-icon that can be used by tools + +description a simple string describing the "use" of this taglib, + should be user discernable + +validator optional TagLibraryValidator information + +listener optional event listener specification + + +--> + +<!ELEMENT taglib (tlib-version, jsp-version, short-name, uri?, + display-name?, small-icon?, large-icon?, description?, + validator?, listener*, tag+) > + +<!ATTLIST taglib id ID #IMPLIED + xmlns CDATA #FIXED + "http://java.sun.com/JSP/TagLibraryDescriptor" +> + +<!-- +Describes this version (number) of the taglibrary (dewey decimal) + +#PCDATA ::= [0-9]*{ "."[0-9] }0..3 +--> + +<!ELEMENT tlib-version (#PCDATA) > + +<!-- +Describes the JSP version (number) this taglibrary requires in +order to function (dewey decimal) + +The default is 1.2 + +#PCDATA ::= [0-9]*{ "."[0-9] }0..3 +--> + +<!ELEMENT jsp-version (#PCDATA) > + +<!-- +Defines a short (default) short-name to be used for tags and +variable names used/created by this tag library. Do not use +white space, and do not start with digits or underscore. + +#PCDATA ::= NMTOKEN +--> + +<!ELEMENT short-name (#PCDATA) > + +<!-- +Defines a public URI that uniquely identifies this version of +the taglibrary. Leave it empty if it does not apply. +--> + +<!ELEMENT uri (#PCDATA) > + +<!-- +Defines an arbitrary text string descirbing the tag library +--> + +<!ELEMENT description (#PCDATA) > + +<!-- + +Defines an optional validator that can be used to +validate the conformance of a JSP page to using this tag library. +--> + +<!ELEMENT validator (validator-class, init-param*, description?) > + + +<!-- + +Defines the TagLibraryValidator class that can be used to +validate the conformance of a JSP page to using this tag library. +--> + +<!ELEMENT validator-class (#PCDATA) > + + +<!-- + +The init-param element contains a name/value pair as an +initialization param +--> + +<!ELEMENT init-param (param-name, param-value, description?)> + +<!-- + +The param-name element contains the name of a parameter. +--> + +<!ELEMENT param-name (#PCDATA)> + +<!-- + +The param-value element contains the value of a parameter. +--> + +<!ELEMENT param-value (#PCDATA)> + + +<!-- + +Defines an optional event listener object to be instantiated and +registered automatically. +--> + +<!ELEMENT listener (listener-class) > + +<!-- + +The listener-class element declares a class in the application that +must be registered as a web application listener bean. See the +Servlet 2.3 specification for details. +--> + +<!ELEMENT listener-class (#PCDATA) > + + +<!-- +The tag defines a unique tag in this tag library. It has one +attribute, id. + +The tag element may have several subelements defining: + +name The unique action name + +tag-class The tag handler class implementing + javax.servlet.jsp.tagext.Tag + +tei-class An optional subclass of + javax.servlet.jsp.tagext.TagExtraInfo + +body-content The body content type + +display-name A short name that is intended to be displayed + by tools + +small-icon Optional small-icon that can be used by tools + +large-icon Optional large-icon that can be used by tools + +description Optional tag-specific information + +variable Optional scripting variable information + +attribute All attributes of this action + +example Optional informal description of an example of a + use of this tag + +--> + +<!ELEMENT tag (name, tag-class, tei-class?, body-content?, display-name?, + small-icon?, large-icon?, description?, variable*, attribute*, + example?) > + +<!-- +Defines the subclass of javax.serlvet.jsp.tagext.Tag that implements +the request time semantics for this tag. (required) + +#PCDATA ::= fully qualified Java class name +--> + +<!ELEMENT tag-class (#PCDATA) > + +<!-- +Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo for +this tag. (optional) + +If this is not given, the class is not consulted at translation time. + +#PCDATA ::= fully qualified Java class name +--> + +<!ELEMENT tei-class (#PCDATA) > + +<!-- +Provides a hint as to the content of the body of this tag. Primarily +intended for use by page composition tools. + +There are currently three values specified: + +tagdependent The body of the tag is interpreted by the tag + implementation itself, and is most likely in a + different "langage", e.g embedded SQL statements. + +JSP The body of the tag contains nested JSP syntax + +empty The body must be empty + +The default (if not defined) is JSP + +#PCDATA ::= tagdependent | JSP | empty + +--> + +<!ELEMENT body-content (#PCDATA) > + +<!-- + +The display-name element contains a short name that is intended +to be displayed by tools. +--> + +<!ELEMENT display-name (#PCDATA) > + + +<!-- + +The large-icon element contains the name of a file containing a large +(32 x 32) icon image. The file name is a relative path within the +tag library. The image must be either in the JPEG or GIF format, and +the file name must end with the suffix ".jpg" or ".gif" respectively. +The icon can be used by tools. +--> + +<!ELEMENT large-icon (#PCDATA) > + +<!-- + +The small-icon element contains the name of a file containing a large +(32 x 32) icon image. The file name is a relative path within the +tag library. The image must be either in the JPEG or GIF format, and +the file name must end with the suffix ".jpg" or ".gif" respectively. +The icon can be used by tools. +--> + +<!ELEMENT small-icon (#PCDATA) > + +<!-- + +The example element contains an informal description of an example +of the use of a tag. +--> + +<!ELEMENT example (#PCDATA) > + +<!-- + +The variable tag provides information on the scripting variables +defined by this tag. It is a (translation time) error for a tag +that has one or more variable subelements to have a TagExtraInfo +class that returns a non-null object. + +The subelements of variable are of the form: + +name-given The variable name as a constant + +name-from-attribute The name of an attribute whose (translation + time) value will give the name of the + variable. One of name-given or + name-from-attribute is required. + +variable-class Name of the class of the variable. + java.lang.String is default. + +declare Whether the variable is declared or not. + True is the default. + +scope The scope of the scripting varaible + defined. NESTED is default. + +description Optional description of this variable + +--> + +<!ELEMENT variable ( (name-given | name-from-attribute), variable-class?, + declare?, scope?, description?) > + +<!-- + +The name for the scripting variable. One of name-given or +name-from-attribute is required. +--> + +<!ELEMENT name-given (#PCDATA) > + +<!-- + +The name of an attribute whose (translation-time) value will give +the name of the variable. One of name-given or name-from-attribute +is required. +--> + +<!ELEMENT name-from-attribute (#PCDATA) > + +<!-- + +The optional name of the class for the scripting variable. The +default is java.lang.String. +--> + +<!ELEMENT variable-class (#PCDATA) > + +<!-- + +Whether the scripting variable is to be defined or not. See +TagExtraInfo for details. This element is optional and "true" +is the default. +--> + +<!ELEMENT declare (#PCDATA) > + +<!-- + +The scope of the scripting variable. See TagExtraInfo for details. +The element is optional and "NESTED" is the default. Other legal +values are "AT_BEGIN" and "AT_END". +--> + +<!ELEMENT scope (#PCDATA) > + +<!-- + +The attribute tag defines an attribute for the nesting tag + +An attribute definition is composed of: + +- the attributes name (required) +- if the attribute is required or optional (optional) +- if the attributes value may be dynamically calculated at runtime + by a scriptlet expression (optional) +- the type of the attributes value (optional) +- an informal description of the meaning of the attribute (optional) + +--> + + +<!-- +The attribute tag defines an attribute for the nesting tag + +An attribute definition is composed of: + +- the attributes name (required) + +- if the attribute is required or optional (optional) + +- if the attributes value may be dynamically calculated at runtime + by a scriptlet expression (optional) + +- the type of the attributes value (optional) + +- an informal description of the meaning of the attribute (optional) +--> + +<!ELEMENT attribute (name, required? , rtexprvalue?, type?, description?) > + +<!-- +Defines the canonical name of a tag or attribute being defined + +#PCDATA ::= NMTOKEN +--> + +<!ELEMENT name (#PCDATA) > + +<!-- +Defines if the nesting attribute is required or optional. + +#PCDATA ::= true | false | yes | no + +If not present then the default is "false", i.e the attribute +is optional. +--> + +<!ELEMENT required (#PCDATA) > + +<!-- +Defines if the nesting attribute can have scriptlet expressions as +a value, i.e the value of the attribute may be dynamically calculated +at request time, as opposed to a static value determined at translation +time. + +#PCDATA ::= true | false | yes | no + +If not present then the default is "false", i.e the attribute +has a static value +--> + +<!ELEMENT rtexprvalue (#PCDATA) > + + +<!-- + +Defines the Java type of the attributes value. For static values +(those determined at translation time) the type is always +java.lang.String. +--> + +<!ELEMENT type (#PCDATA) > + + +<!-- ID attributes --> + +<!ATTLIST tlib-version id ID #IMPLIED> +<!ATTLIST jsp-version id ID #IMPLIED> +<!ATTLIST short-name id ID #IMPLIED> +<!ATTLIST uri id ID #IMPLIED> +<!ATTLIST description id ID #IMPLIED> +<!ATTLIST example id ID #IMPLIED> +<!ATTLIST tag id ID #IMPLIED> +<!ATTLIST tag-class id ID #IMPLIED> +<!ATTLIST tei-class id ID #IMPLIED> +<!ATTLIST body-content id ID #IMPLIED> +<!ATTLIST attribute id ID #IMPLIED> +<!ATTLIST name id ID #IMPLIED> +<!ATTLIST required id ID #IMPLIED> +<!ATTLIST rtexprvalue id ID #IMPLIED> + + +<!ATTLIST param-name id ID #IMPLIED> +<!ATTLIST param-value id ID #IMPLIED> +<!ATTLIST listener id ID #IMPLIED> +<!ATTLIST listener-class id ID #IMPLIED>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd new file mode 100644 index 0000000..e7a7516 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd
@@ -0,0 +1,1019 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="2.0"> + + <xsd:annotation> + <xsd:documentation> + @(#)web-jsptaglibrary_2_0.xsds 1.38 10/08/03 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2007 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 JSP Taglibrary + descriptor. All Taglibrary descriptors must + indicate the tag library schema by using the Taglibrary + namespace: + + http://java.sun.com/xml/ns/j2ee + + and by indicating the version of the schema by + using the version element as shown below: + + <taglib xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="2.0"> + ... + </taglib> + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for J2EE namespace with the following location: + + http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:include schemaLocation="j2ee_1_4.xsd"/> + + +<!-- **************************************************** --> + + + <xsd:element name="taglib" type="j2ee:tldTaglibType"> + <xsd:annotation> + <xsd:documentation> + + The taglib tag is the document root. + The definition of taglib is provided + by the tldTaglibType. + + </xsd:documentation> + </xsd:annotation> + <xsd:unique name="tag-name-uniqueness"> + <xsd:annotation> + <xsd:documentation> + + The taglib element contains, among other things, tag and + tag-file elements. + The name subelements of these elements must each be unique. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:tag|j2ee:tag-file"/> + <xsd:field xpath="j2ee:name"/> + </xsd:unique> + + <xsd:unique name="function-name-uniqueness"> + <xsd:annotation> + <xsd:documentation> + + The taglib element contains function elements. + The name subelements of these elements must each be unique. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:function"/> + <xsd:field xpath="j2ee:name"/> + </xsd:unique> + + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="body-contentType"> + <xsd:annotation> + <xsd:documentation> + + Specifies the type of body that is valid for a tag. + This value is used by the JSP container to validate + that a tag invocation has the correct body syntax and + by page composition tools to assist the page author + in providing a valid tag body. + + There are currently four values specified: + + tagdependent The body of the tag is interpreted by the tag + implementation itself, and is most likely + in a different "language", e.g embedded SQL + statements. + + JSP The body of the tag contains nested JSP + syntax. + + empty The body must be empty + + scriptless The body accepts only template text, EL + Expressions, and JSP action elements. No + scripting elements are allowed. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="tagdependent"/> + <xsd:enumeration value="JSP"/> + <xsd:enumeration value="empty"/> + <xsd:enumeration value="scriptless"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="extensibleType" abstract="true"> + <xsd:annotation> + <xsd:documentation> + + The extensibleType is an abstract base type that is used to + define the type of extension-elements. Instance documents + must substitute a known type to define the extension by + using xsi:type attribute to define the actual type of + extension-elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="functionType"> + <xsd:annotation> + <xsd:documentation> + + The function element is used to provide information on each + function in the tag library that is to be exposed to the EL. + + The function element may have several subelements defining: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name A unique name for this function + + function-class Provides the name of the Java class that + implements the function + + function-signature Provides the signature, as in the Java + Language Specification, of the Java + method that is to be used to implement + the function. + + example Optional informal description of an + example of a use of this function + + function-extension Zero or more extensions that provide extra + information about this function, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="name" + type="j2ee:tld-canonical-nameType"> + <xsd:annotation> + <xsd:documentation> + + A unique name for this function. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="function-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Provides the fully-qualified class name of the Java + class containing the static method that implements + the function. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="function-signature" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + Provides the signature, of the static Java method that is + to be used to implement the function. The syntax of the + function-signature element is as follows: + + FunctionSignature ::= ReturnType S MethodName S? + '(' S? Parameters? S? ')' + + ReturnType ::= Type + + MethodName ::= Identifier + + Parameters ::= Parameter + | ( Parameter S? ',' S? Parameters ) + + Parameter ::= Type + + Where: + + * Type is a basic type or a fully qualified + Java class name (including package name), + as per the 'Type' production in the Java + Language Specification, Second Edition, + Chapter 18. + + * Identifier is a Java identifier, as per + the 'Identifier' production in the Java + Language Specification, Second + Edition, Chapter 18. + + Example: + + java.lang.String nickName( java.lang.String, int ) + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="example" + type="j2ee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of this function. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="function-extension" + type="j2ee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Function extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tagFileType"> + <xsd:annotation> + <xsd:documentation> + + Defines an action in this tag library that is implemented + as a .tag file. + + The tag-file element has two required subelements: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name The unique action name + + path Where to find the .tag file implementing this + action, relative to the root of the web + application or the root of the JAR file for a + tag library packaged in a JAR. This must + begin with /WEB-INF/tags if the .tag file + resides in the WAR, or /META-INF/tags if the + .tag file resides in a JAR. + + example Optional informal description of an + example of a use of this tag + + tag-extension Zero or more extensions that provide extra + information about this tag, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="name" + type="j2ee:tld-canonical-nameType"/> + <xsd:element name="path" + type="j2ee:pathType"/> + <xsd:element name="example" + type="j2ee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of a tag. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tag-extension" + type="j2ee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tagType"> + <xsd:annotation> + <xsd:documentation> + + The tag defines a unique tag in this tag library. It has one + attribute, id. + + The tag element may have several subelements defining: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name The unique action name + + tag-class The tag handler class implementing + javax.servlet.jsp.tagext.JspTag + + tei-class An optional subclass of + javax.servlet.jsp.tagext.TagExtraInfo + + body-content The body content type + + variable Optional scripting variable information + + attribute All attributes of this action that are + evaluated prior to invocation. + + dynamic-attributes Whether this tag supports additional + attributes with dynamic names. If + true, the tag-class must implement the + javax.servlet.jsp.tagext.DynamicAttributes + interface. Defaults to false. + + example Optional informal description of an + example of a use of this tag + + tag-extension Zero or more extensions that provide extra + information about this tag, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="name" + type="j2ee:tld-canonical-nameType"/> + <xsd:element name="tag-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines the subclass of javax.serlvet.jsp.tagext.JspTag + that implements the request time semantics for + this tag. (required) + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tei-class" + type="j2ee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo + for this tag. (optional) + + If this is not given, the class is not consulted at + translation time. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="body-content" + type="j2ee:body-contentType"> + <xsd:annotation> + <xsd:documentation> + + Specifies the format for the body of this tag. + The default in JSP 1.2 was "JSP" but because this + is an invalid setting for simple tag handlers, there + is no longer a default in JSP 2.0. A reasonable + default for simple tag handlers is "scriptless" if + the tag can have a body. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="variable" + type="j2ee:variableType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="attribute" + type="j2ee:tld-attributeType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dynamic-attributes" + type="j2ee:generic-booleanType" + minOccurs="0"/> + <xsd:element name="example" + type="j2ee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of a tag. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tag-extension" + type="j2ee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-attributeType"> + <xsd:annotation> + <xsd:documentation> + + The attribute element defines an attribute for the nesting + tag. The attributre element may have several subelements + defining: + + description a description of the attribute + + name the name of the attribute + + required whether the attribute is required or + optional + + rtexprvalue whether the attribute is a runtime attribute + + type the type of the attributes + + fragment whether this attribute is a fragment + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="name" + type="j2ee:java-identifierType"/> + <xsd:element name="required" + type="j2ee:generic-booleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines if the nesting attribute is required or + optional. + + If not present then the default is "false", i.e + the attribute is optional. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:choice> + <xsd:sequence> + <xsd:element name="rtexprvalue" + type="j2ee:generic-booleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines if the nesting attribute can have scriptlet + expressions as a value, i.e the value of the + attribute may be dynamically calculated at request + time, as opposed to a static value determined at + translation time. + + If not present then the default is "false", i.e the + attribute has a static value + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="type" + type="j2ee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines the Java type of the attributes value. For + static values (those determined at translation time) + the type is always java.lang.String. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:element name="fragment" + type="j2ee:generic-booleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + "true" if this attribute is of type + javax.jsp.tagext.JspFragment, representing dynamic + content that can be re-evaluated as many times + as needed by the tag handler. If omitted or "false", + the default is still type="java.lang.String" + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-canonical-nameType"> + + <xsd:annotation> + <xsd:documentation> + + Defines the canonical name of a tag or attribute being + defined. + + The name must conform to the lexical rules for an NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:xsdNMTOKENType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-extensionType"> + <xsd:annotation> + <xsd:documentation> + + The tld-extensionType is used to indicate + extensions to a specific TLD element. + + It is used by elements to designate an extension block + that is targeted to a specific extension designated by + a set of extension elements that are declared by a + namespace. The namespace identifies the extension to + the tool that processes the extension. + + The type of the extension-element is abstract. Therefore, + a concrete type must be specified by the TLD using + xsi:type attribute for each extension-element. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="extension-element" + type="j2ee:extensibleType" + maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="namespace" + use="required" + type="xsd:anyURI"/> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tldTaglibType"> + <xsd:annotation> + <xsd:documentation> + + The taglib tag is the document root, it defines: + + description a simple string describing the "use" of this + taglib, should be user discernable + + display-name the display-name element contains a + short name that is intended to be displayed + by tools + + icon optional icon that can be used by tools + + tlib-version the version of the tag library implementation + + short-name a simple default short name that could be + used by a JSP authoring tool to create + names with a mnemonic value; for example, + the it may be used as the prefered prefix + value in taglib directives + + uri a uri uniquely identifying this taglib + + validator optional TagLibraryValidator information + + listener optional event listener specification + + tag tags in this tag library + + tag-file tag files in this tag library + + function zero or more EL functions defined in this + tag library + + taglib-extension zero or more extensions that provide extra + information about this taglib, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="tlib-version" + type="j2ee:dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + Describes this version (number) of the taglibrary. + It is described as a dewey decimal. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + <xsd:element name="short-name" + type="j2ee:tld-canonical-nameType"> + <xsd:annotation> + <xsd:documentation> + + Defines a simple default name that could be used by + a JSP authoring tool to create names with a + mnemonicvalue; for example, it may be used as the + preferred prefix value in taglib directives. Do + not use white space, and do not start with digits + or underscore. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="uri" + type="j2ee:xsdAnyURIType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines a public URI that uniquely identifies this + version of the taglibrary. Leave it empty if it + does not apply. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="validator" + type="j2ee:validatorType" + minOccurs="0"> + </xsd:element> + <xsd:element name="listener" + type="j2ee:listenerType" + minOccurs="0" maxOccurs="unbounded"> + </xsd:element> + <xsd:element name="tag" + type="j2ee:tagType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="tag-file" + type="j2ee:tagFileType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="function" + type="j2ee:functionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="taglib-extension" + type="j2ee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Taglib extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="version" + type="j2ee:dewey-versionType" + fixed="2.0" + use="required"> + <xsd:annotation> + <xsd:documentation> + + Describes the JSP version (number) this taglibrary + requires in order to function (dewey decimal) + + </xsd:documentation> + </xsd:annotation> + + </xsd:attribute> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="validatorType"> + <xsd:annotation> + <xsd:documentation> + + A validator that can be used to validate + the conformance of a JSP page to using this tag library is + defined by a validatorType. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="validator-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines the TagLibraryValidator class that can be used + to validate the conformance of a JSP page to using this + tag library. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="j2ee:param-valueType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The init-param element contains a name/value pair as an + initialization param. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="variable-scopeType"> + <xsd:annotation> + <xsd:documentation> + + This type defines scope of the scripting variable. See + TagExtraInfo for details. The allowed values are, + "NESTED", "AT_BEGIN" and "AT_END". + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="NESTED"/> + <xsd:enumeration value="AT_BEGIN"/> + <xsd:enumeration value="AT_END"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="variableType"> + <xsd:annotation> + <xsd:documentation> + + The variableType provides information on the scripting + variables defined by using this tag. It is a (translation + time) error for a tag that has one or more variable + subelements to have a TagExtraInfo class that returns a + non-null value from a call to getVariableInfo(). + + The subelements of variableType are of the form: + + description Optional description of this + variable + + name-given The variable name as a constant + + name-from-attribute The name of an attribute whose + (translation time) value will + give the name of the + variable. One of name-given or + name-from-attribute is required. + + variable-class Name of the class of the variable. + java.lang.String is default. + + declare Whether the variable is declared + or not. True is the default. + + scope The scope of the scripting varaible + defined. NESTED is default. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:choice> + <xsd:element name="name-given" + type="j2ee:java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The name for the scripting variable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="name-from-attribute" + type="j2ee:java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The name of an attribute whose + (translation-time) value will give the name of + the variable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:element name="variable-class" + type="j2ee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The optional name of the class for the scripting + variable. The default is java.lang.String. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + <xsd:element name="declare" + type="j2ee:generic-booleanType" + minOccurs="0"> + + <xsd:annotation> + <xsd:documentation> + + Whether the scripting variable is to be defined + or not. See TagExtraInfo for details. This + element is optional and "true" is the default. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="scope" + type="j2ee:variable-scopeType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The element is optional and "NESTED" is the default. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd new file mode 100644 index 0000000..705a085 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd
@@ -0,0 +1,1150 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + 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.1"> + + <xsd:annotation> + <xsd:documentation> + @(#)web-jsptaglibrary_2_1.xsds 1.1 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2007 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 JSP Taglibrary + descriptor. All Taglibrary descriptors must + indicate the tag library schema by using the Taglibrary + namespace: + + http://java.sun.com/xml/ns/javaee + + and by indicating the version of the schema by + using the version element as shown below: + + <taglib xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="2.1"> + ... + </taglib> + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for Java EE namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:include schemaLocation="javaee_5.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="taglib" type="javaee:tldTaglibType"> + <xsd:annotation> + <xsd:documentation> + + The taglib tag is the document root. + The definition of taglib is provided + by the tldTaglibType. + + </xsd:documentation> + </xsd:annotation> + <xsd:unique name="tag-name-uniqueness"> + <xsd:annotation> + <xsd:documentation> + + The taglib element contains, among other things, tag and + tag-file elements. + The name subelements of these elements must each be unique. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:tag|javaee:tag-file"/> + <xsd:field xpath="javaee:name"/> + </xsd:unique> + + <xsd:unique name="function-name-uniqueness"> + <xsd:annotation> + <xsd:documentation> + + The taglib element contains function elements. + The name subelements of these elements must each be unique. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:function"/> + <xsd:field xpath="javaee:name"/> + </xsd:unique> + + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="body-contentType"> + <xsd:annotation> + <xsd:documentation> + + Specifies the type of body that is valid for a tag. + This value is used by the JSP container to validate + that a tag invocation has the correct body syntax and + by page composition tools to assist the page author + in providing a valid tag body. + + There are currently four values specified: + + tagdependent The body of the tag is interpreted by the tag + implementation itself, and is most likely + in a different "language", e.g embedded SQL + statements. + + JSP The body of the tag contains nested JSP + syntax. + + empty The body must be empty + + scriptless The body accepts only template text, EL + Expressions, and JSP action elements. No + scripting elements are allowed. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="tagdependent"/> + <xsd:enumeration value="JSP"/> + <xsd:enumeration value="empty"/> + <xsd:enumeration value="scriptless"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="extensibleType" abstract="true"> + <xsd:annotation> + <xsd:documentation> + + The extensibleType is an abstract base type that is used to + define the type of extension-elements. Instance documents + must substitute a known type to define the extension by + using xsi:type attribute to define the actual type of + extension-elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="functionType"> + <xsd:annotation> + <xsd:documentation> + + The function element is used to provide information on each + function in the tag library that is to be exposed to the EL. + + The function element may have several subelements defining: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name A unique name for this function + + function-class Provides the name of the Java class that + implements the function + + function-signature Provides the signature, as in the Java + Language Specification, of the Java + method that is to be used to implement + the function. + + example Optional informal description of an + example of a use of this function + + function-extension Zero or more extensions that provide extra + information about this function, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="name" + type="javaee:tld-canonical-nameType"> + <xsd:annotation> + <xsd:documentation> + + A unique name for this function. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="function-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Provides the fully-qualified class name of the Java + class containing the static method that implements + the function. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="function-signature" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Provides the signature, of the static Java method that is + to be used to implement the function. The syntax of the + function-signature element is as follows: + + FunctionSignature ::= ReturnType S MethodName S? + '(' S? Parameters? S? ')' + + ReturnType ::= Type + + MethodName ::= Identifier + + Parameters ::= Parameter + | ( Parameter S? ',' S? Parameters ) + + Parameter ::= Type + + Where: + + * Type is a basic type or a fully qualified + Java class name (including package name), + as per the 'Type' production in the Java + Language Specification, Second Edition, + Chapter 18. + + * Identifier is a Java identifier, as per + the 'Identifier' production in the Java + Language Specification, Second + Edition, Chapter 18. + + Example: + + java.lang.String nickName( java.lang.String, int ) + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="example" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of this function. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="function-extension" + type="javaee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Function extensions are for tool use only and must not + affect the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tagFileType"> + <xsd:annotation> + <xsd:documentation> + + Defines an action in this tag library that is implemented + as a .tag file. + + The tag-file element has two required subelements: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name The unique action name + + path Where to find the .tag file implementing this + action, relative to the root of the web + application or the root of the JAR file for a + tag library packaged in a JAR. This must + begin with /WEB-INF/tags if the .tag file + resides in the WAR, or /META-INF/tags if the + .tag file resides in a JAR. + + example Optional informal description of an + example of a use of this tag + + tag-extension Zero or more extensions that provide extra + information about this tag, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="name" + type="javaee:tld-canonical-nameType"/> + <xsd:element name="path" + type="javaee:pathType"/> + <xsd:element name="example" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of a tag. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tag-extension" + type="javaee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tagType"> + <xsd:annotation> + <xsd:documentation> + + The tag defines a unique tag in this tag library. It has one + attribute, id. + + The tag element may have several subelements defining: + + description Optional tag-specific information + + display-name A short name that is intended to be + displayed by tools + + icon Optional icon element that can be used + by tools + + name The unique action name + + tag-class The tag handler class implementing + javax.servlet.jsp.tagext.JspTag + + tei-class An optional subclass of + javax.servlet.jsp.tagext.TagExtraInfo + + body-content The body content type + + variable Optional scripting variable information + + attribute All attributes of this action that are + evaluated prior to invocation. + + dynamic-attributes Whether this tag supports additional + attributes with dynamic names. If + true, the tag-class must implement the + javax.servlet.jsp.tagext.DynamicAttributes + interface. Defaults to false. + + example Optional informal description of an + example of a use of this tag + + tag-extension Zero or more extensions that provide extra + information about this tag, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="name" + type="javaee:tld-canonical-nameType"/> + <xsd:element name="tag-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines the subclass of javax.serlvet.jsp.tagext.JspTag + that implements the request time semantics for + this tag. (required) + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tei-class" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo + for this tag. (optional) + + If this is not given, the class is not consulted at + translation time. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="body-content" + type="javaee:body-contentType"> + <xsd:annotation> + <xsd:documentation> + + Specifies the format for the body of this tag. + The default in JSP 1.2 was "JSP" but because this + is an invalid setting for simple tag handlers, there + is no longer a default in JSP 2.0. A reasonable + default for simple tag handlers is "scriptless" if + the tag can have a body. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="variable" + type="javaee:variableType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="attribute" + type="javaee:tld-attributeType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="dynamic-attributes" + type="javaee:generic-booleanType" + minOccurs="0"/> + <xsd:element name="example" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The example element contains an informal description + of an example of the use of a tag. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="tag-extension" + type="javaee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-attributeType"> + <xsd:annotation> + <xsd:documentation> + + The attribute element defines an attribute for the nesting + tag. The attribute element may have several subelements + defining: + + description a description of the attribute + + name the name of the attribute + + required whether the attribute is required or + optional + + rtexprvalue whether the attribute is a runtime attribute + + type the type of the attributes + + fragment whether this attribute is a fragment + + deferred-value present if this attribute is to be parsed as a + javax.el.ValueExpression + + deferred-method present if this attribute is to be parsed as a + javax.el.MethodExpression + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="name" + type="javaee:java-identifierType"/> + <xsd:element name="required" + type="javaee:generic-booleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines if the nesting attribute is required or + optional. + + If not present then the default is "false", i.e + the attribute is optional. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:choice> + <xsd:sequence> + <xsd:sequence minOccurs="0"> + <xsd:element name="rtexprvalue" + type="javaee:generic-booleanType"> + <xsd:annotation> + <xsd:documentation> + + Defines if the nesting attribute can have scriptlet + expressions as a value, i.e the value of the + attribute may be dynamically calculated at request + time, as opposed to a static value determined at + translation time. + If not present then the default is "false", i.e the + attribute has a static value + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines the Java type of the attributes value. + If this element is omitted, the expected type is + assumed to be "java.lang.Object". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + + <xsd:choice> + <xsd:element name="deferred-value" + type="javaee:tld-deferred-valueType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Present if the value for this attribute is to be + passed to the tag handler as a + javax.el.ValueExpression. This allows for deferred + evaluation of EL expressions. An optional subelement + will contain the expected type that the value will + be coerced to after evaluation of the expression. + The type defaults to Object if one is not provided. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="deferred-method" + type="javaee:tld-deferred-methodType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Present if the value for this attribute is to be + passed to the tag handler as a + javax.el.MethodExpression. This allows for deferred + evaluation of an EL expression that identifies a + method to be invoked on an Object. An optional + subelement will contain the expected method + signature. The signature defaults to "void method()" + if one is not provided. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + </xsd:sequence> + + <xsd:element name="fragment" + type="javaee:generic-booleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + "true" if this attribute is of type + javax.jsp.tagext.JspFragment, representing dynamic + content that can be re-evaluated as many times + as needed by the tag handler. If omitted or "false", + the default is still type="java.lang.String" + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-canonical-nameType"> + + <xsd:annotation> + <xsd:documentation> + + Defines the canonical name of a tag or attribute being + defined. + + The name must conform to the lexical rules for an NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:xsdNMTOKENType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-deferred-methodType"> + <xsd:annotation> + <xsd:documentation> + + Defines information about how to provide the value for a + tag handler attribute that accepts a javax.el.MethodExpression. + + The deferred-method element has one optional subelement: + + method-signature Provides the signature, as in the Java + Language Specifies, that is expected for + the method being identified by the + expression. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="method-signature" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Provides the expected signature of the method identified + by the javax.el.MethodExpression. + + This disambiguates overloaded methods and ensures that + the return value is of the expected type. + + The syntax of the method-signature element is identical + to that of the function-signature element. See the + documentation for function-signature for more details. + + The name of the method is for documentation purposes only + and is ignored by the JSP container. + + Example: + + boolean validate(java.lang.String) + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-deferred-valueType"> + <xsd:annotation> + <xsd:documentation> + + Defines information about how to provide the value for a + tag handler attribute that accepts a javax.el.ValueExpression. + + The deferred-value element has one optional subelement: + + type the expected type of the attribute + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The fully-qualified name of the Java type that is the + expected type for this deferred expression. If this + element is omitted, the expected type is assumed to be + "java.lang.Object". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tld-extensionType"> + <xsd:annotation> + <xsd:documentation> + + The tld-extensionType is used to indicate + extensions to a specific TLD element. + + It is used by elements to designate an extension block + that is targeted to a specific extension designated by + a set of extension elements that are declared by a + namespace. The namespace identifies the extension to + the tool that processes the extension. + + The type of the extension-element is abstract. Therefore, + a concrete type must be specified by the TLD using + xsi:type attribute for each extension-element. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="extension-element" + type="javaee:extensibleType" + maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="namespace" + use="required" + type="xsd:anyURI"/> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="tldTaglibType"> + <xsd:annotation> + <xsd:documentation> + + The taglib tag is the document root, it defines: + + description a simple string describing the "use" of this + taglib, should be user discernable + + display-name the display-name element contains a + short name that is intended to be displayed + by tools + + icon optional icon that can be used by tools + + tlib-version the version of the tag library implementation + + short-name a simple default short name that could be + used by a JSP authoring tool to create + names with a mnemonic value; for example, + the it may be used as the prefered prefix + value in taglib directives + + uri a uri uniquely identifying this taglib + + validator optional TagLibraryValidator information + + listener optional event listener specification + + tag tags in this tag library + + tag-file tag files in this tag library + + function zero or more EL functions defined in this + tag library + + taglib-extension zero or more extensions that provide extra + information about this taglib, for tool + consumption + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="tlib-version" + type="javaee:dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + Describes this version (number) of the taglibrary. + It is described as a dewey decimal. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + <xsd:element name="short-name" + type="javaee:tld-canonical-nameType"> + <xsd:annotation> + <xsd:documentation> + + Defines a simple default name that could be used by + a JSP authoring tool to create names with a + mnemonicvalue; for example, it may be used as the + preferred prefix value in taglib directives. Do + not use white space, and do not start with digits + or underscore. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="uri" + type="javaee:xsdAnyURIType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Defines a public URI that uniquely identifies this + version of the taglibrary. Leave it empty if it + does not apply. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + <xsd:element name="validator" + type="javaee:validatorType" + minOccurs="0"> + </xsd:element> + <xsd:element name="listener" + type="javaee:listenerType" + minOccurs="0" maxOccurs="unbounded"> + </xsd:element> + <xsd:element name="tag" + type="javaee:tagType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="tag-file" + type="javaee:tagFileType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="function" + type="javaee:functionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="taglib-extension" + type="javaee:tld-extensionType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Taglib extensions are for tool use only and must not + affect the behavior of a container. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="version" + type="javaee:dewey-versionType" + fixed="2.1" + use="required"> + <xsd:annotation> + <xsd:documentation> + + Describes the JSP version (number) this taglibrary + requires in order to function (dewey decimal) + + </xsd:documentation> + </xsd:annotation> + + </xsd:attribute> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="validatorType"> + <xsd:annotation> + <xsd:documentation> + + A validator that can be used to validate + the conformance of a JSP page to using this tag library is + defined by a validatorType. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="validator-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines the TagLibraryValidator class that can be used + to validate the conformance of a JSP page to using this + tag library. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + 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. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="variable-scopeType"> + <xsd:annotation> + <xsd:documentation> + + This type defines scope of the scripting variable. See + TagExtraInfo for details. The allowed values are, + "NESTED", "AT_BEGIN" and "AT_END". + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="NESTED"/> + <xsd:enumeration value="AT_BEGIN"/> + <xsd:enumeration value="AT_END"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="variableType"> + <xsd:annotation> + <xsd:documentation> + + The variableType provides information on the scripting + variables defined by using this tag. It is a (translation + time) error for a tag that has one or more variable + subelements to have a TagExtraInfo class that returns a + non-null value from a call to getVariableInfo(). + + The subelements of variableType are of the form: + + description Optional description of this + variable + + name-given The variable name as a constant + + name-from-attribute The name of an attribute whose + (translation time) value will + give the name of the + variable. One of name-given or + name-from-attribute is required. + + variable-class Name of the class of the variable. + java.lang.String is default. + + declare Whether the variable is declared + or not. True is the default. + + scope The scope of the scripting varaible + defined. NESTED is default. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:choice> + <xsd:element name="name-given" + type="javaee:java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The name for the scripting variable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="name-from-attribute" + type="javaee:java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The name of an attribute whose + (translation-time) value will give the name of + the variable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:element name="variable-class" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The optional name of the class for the scripting + variable. The default is java.lang.String. + + </xsd:documentation> + </xsd:annotation> + + </xsd:element> + + <xsd:element name="declare" + type="javaee:generic-booleanType" + minOccurs="0"> + + <xsd:annotation> + <xsd:documentation> + + Whether the scripting variable is to be defined + or not. See TagExtraInfo for details. This + element is optional and "true" is the default. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="scope" + type="javaee:variable-scopeType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The element is optional and "NESTED" is the default. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/XMLSchema.dtd b/jetty-schemas/src/main/resources/javax/servlet/resources/XMLSchema.dtd new file mode 100644 index 0000000..e29b43d --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/XMLSchema.dtd
@@ -0,0 +1,402 @@ +<!-- DTD for XML Schemas: Part 1: Structures + Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN" + Official Location: http://www.w3.org/2001/XMLSchema.dtd --> +<!-- $Id: XMLSchema.dtd,v 1.1.4.2 2011/03/23 09:21:12 hmalphett Exp $ --> +<!-- Note this DTD is NOT normative, or even definitive. --> <!--d--> +<!-- prose copy in the structures REC is the definitive version --> <!--d--> +<!-- (which shouldn't differ from this one except for this --> <!--d--> +<!-- comment and entity expansions, but just in case) --> <!--d--> +<!-- With the exception of cases with multiple namespace + prefixes for the XML Schema namespace, any XML document which is + not valid per this DTD given redefinitions in its internal subset of the + 'p' and 's' parameter entities below appropriate to its namespace + declaration of the XML Schema namespace is almost certainly not + a valid schema. --> + +<!-- The simpleType element and its constituent parts + are defined in XML Schema: Part 2: Datatypes --> +<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' > + +<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a + schema document to establish a different + namespace prefix --> +<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must + also define %s as the suffix for the appropriate + namespace declaration (e.g. :foo) --> +<!ENTITY % nds 'xmlns%s;'> + +<!-- Define all the element names, with optional prefix --> +<!ENTITY % schema "%p;schema"> +<!ENTITY % complexType "%p;complexType"> +<!ENTITY % complexContent "%p;complexContent"> +<!ENTITY % simpleContent "%p;simpleContent"> +<!ENTITY % extension "%p;extension"> +<!ENTITY % element "%p;element"> +<!ENTITY % unique "%p;unique"> +<!ENTITY % key "%p;key"> +<!ENTITY % keyref "%p;keyref"> +<!ENTITY % selector "%p;selector"> +<!ENTITY % field "%p;field"> +<!ENTITY % group "%p;group"> +<!ENTITY % all "%p;all"> +<!ENTITY % choice "%p;choice"> +<!ENTITY % sequence "%p;sequence"> +<!ENTITY % any "%p;any"> +<!ENTITY % anyAttribute "%p;anyAttribute"> +<!ENTITY % attribute "%p;attribute"> +<!ENTITY % attributeGroup "%p;attributeGroup"> +<!ENTITY % include "%p;include"> +<!ENTITY % import "%p;import"> +<!ENTITY % redefine "%p;redefine"> +<!ENTITY % notation "%p;notation"> + +<!-- annotation elements --> +<!ENTITY % annotation "%p;annotation"> +<!ENTITY % appinfo "%p;appinfo"> +<!ENTITY % documentation "%p;documentation"> + +<!-- Customisation entities for the ATTLIST of each element type. + Define one of these if your schema takes advantage of the + anyAttribute='##other' in the schema for schemas --> + +<!ENTITY % schemaAttrs ''> +<!ENTITY % complexTypeAttrs ''> +<!ENTITY % complexContentAttrs ''> +<!ENTITY % simpleContentAttrs ''> +<!ENTITY % extensionAttrs ''> +<!ENTITY % elementAttrs ''> +<!ENTITY % groupAttrs ''> +<!ENTITY % allAttrs ''> +<!ENTITY % choiceAttrs ''> +<!ENTITY % sequenceAttrs ''> +<!ENTITY % anyAttrs ''> +<!ENTITY % anyAttributeAttrs ''> +<!ENTITY % attributeAttrs ''> +<!ENTITY % attributeGroupAttrs ''> +<!ENTITY % uniqueAttrs ''> +<!ENTITY % keyAttrs ''> +<!ENTITY % keyrefAttrs ''> +<!ENTITY % selectorAttrs ''> +<!ENTITY % fieldAttrs ''> +<!ENTITY % includeAttrs ''> +<!ENTITY % importAttrs ''> +<!ENTITY % redefineAttrs ''> +<!ENTITY % notationAttrs ''> +<!ENTITY % annotationAttrs ''> +<!ENTITY % appinfoAttrs ''> +<!ENTITY % documentationAttrs ''> + +<!ENTITY % complexDerivationSet "CDATA"> + <!-- #all or space-separated list drawn from derivationChoice --> +<!ENTITY % blockSet "CDATA"> + <!-- #all or space-separated list drawn from + derivationChoice + 'substitution' --> + +<!ENTITY % mgs '%all; | %choice; | %sequence;'> +<!ENTITY % cs '%choice; | %sequence;'> +<!ENTITY % formValues '(qualified|unqualified)'> + + +<!ENTITY % attrDecls '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'> + +<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'> + +<!-- This is used in part2 --> +<!ENTITY % restriction1 '((%mgs; | %group;)?)'> + +%xs-datatypes; + +<!-- the duplication below is to produce an unambiguous content model + which allows annotation everywhere --> +<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*, + ((%simpleType; | %complexType; + | %element; | %attribute; + | %attributeGroup; | %group; + | %notation; ), + (%annotation;)*)* )> +<!ATTLIST %schema; + targetNamespace %URIref; #IMPLIED + version CDATA #IMPLIED + %nds; %URIref; #FIXED 'http://www.w3.org/2001/XMLSchema' + xmlns CDATA #IMPLIED + finalDefault %complexDerivationSet; '' + blockDefault %blockSet; '' + id ID #IMPLIED + elementFormDefault %formValues; 'unqualified' + attributeFormDefault %formValues; 'unqualified' + xml:lang CDATA #IMPLIED + %schemaAttrs;> +<!-- Note the xmlns declaration is NOT in the Schema for Schemas, + because at the Infoset level where schemas operate, + xmlns(:prefix) is NOT an attribute! --> +<!-- The declaration of xmlns is a convenience for schema authors --> + +<!-- The id attribute here and below is for use in external references + from non-schemas using simple fragment identifiers. + It is NOT used for schema-to-schema reference, internal or + external. --> + +<!-- a type is a named content type specification which allows attribute + declarations--> +<!-- --> + +<!ELEMENT %complexType; ((%annotation;)?, + (%simpleContent;|%complexContent;| + %particleAndAttrs;))> + +<!ATTLIST %complexType; + name %NCName; #IMPLIED + id ID #IMPLIED + abstract %boolean; #IMPLIED + final %complexDerivationSet; #IMPLIED + block %complexDerivationSet; #IMPLIED + mixed (true|false) 'false' + %complexTypeAttrs;> + +<!-- particleAndAttrs is shorthand for a root type --> +<!-- mixed is disallowed if simpleContent, overriden if complexContent + has one too. --> + +<!-- If anyAttribute appears in one or more referenced attributeGroups + and/or explicitly, the intersection of the permissions is used --> + +<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))> +<!ATTLIST %complexContent; + mixed (true|false) #IMPLIED + id ID #IMPLIED + %complexContentAttrs;> + +<!-- restriction should use the branch defined above, not the simple + one from part2; extension should use the full model --> + +<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))> +<!ATTLIST %simpleContent; + id ID #IMPLIED + %simpleContentAttrs;> + +<!-- restriction should use the simple branch from part2, not the + one defined above; extension should have no particle --> + +<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))> +<!ATTLIST %extension; + base %QName; #REQUIRED + id ID #IMPLIED + %extensionAttrs;> + +<!-- an element is declared by either: + a name and a type (either nested or referenced via the type attribute) + or a ref to an existing element declaration --> + +<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?, + (%unique; | %key; | %keyref;)*)> +<!-- simpleType or complexType only if no type|ref attribute --> +<!-- ref not allowed at top level --> +<!ATTLIST %element; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + type %QName; #IMPLIED + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + nillable %boolean; #IMPLIED + substitutionGroup %QName; #IMPLIED + abstract %boolean; #IMPLIED + final %complexDerivationSet; #IMPLIED + block %blockSet; #IMPLIED + default CDATA #IMPLIED + fixed CDATA #IMPLIED + form %formValues; #IMPLIED + %elementAttrs;> +<!-- type and ref are mutually exclusive. + name and ref are mutually exclusive, one is required --> +<!-- In the absence of type AND ref, type defaults to type of + substitutionGroup, if any, else the ur-type, i.e. unconstrained --> +<!-- default and fixed are mutually exclusive --> + +<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)> +<!ATTLIST %group; + name %NCName; #IMPLIED + ref %QName; #IMPLIED + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + id ID #IMPLIED + %groupAttrs;> + +<!ELEMENT %all; ((%annotation;)?, (%element;)*)> +<!ATTLIST %all; + minOccurs (1) #IMPLIED + maxOccurs (1) #IMPLIED + id ID #IMPLIED + %allAttrs;> + +<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)> +<!ATTLIST %choice; + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + id ID #IMPLIED + %choiceAttrs;> + +<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)> +<!ATTLIST %sequence; + minOccurs %nonNegativeInteger; #IMPLIED + maxOccurs CDATA #IMPLIED + id ID #IMPLIED + %sequenceAttrs;> + +<!-- an anonymous grouping in a model, or + a top-level named group definition, or a reference to same --> + +<!-- Note that if order is 'all', group is not allowed inside. + If order is 'all' THIS group must be alone (or referenced alone) at + the top level of a content model --> +<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside --> +<!-- Should allow minOccurs=0 inside order='all' . . . --> + +<!ELEMENT %any; (%annotation;)?> +<!ATTLIST %any; + namespace CDATA '##any' + processContents (skip|lax|strict) 'strict' + minOccurs %nonNegativeInteger; '1' + maxOccurs CDATA '1' + id ID #IMPLIED + %anyAttrs;> + +<!-- namespace is interpreted as follows: + ##any - - any non-conflicting WFXML at all + + ##other - - any non-conflicting WFXML from namespace other + than targetNamespace + + ##local - - any unqualified non-conflicting WFXML/attribute + one or - - any non-conflicting WFXML from + more URI the listed namespaces + references + + ##targetNamespace ##local may appear in the above list, + with the obvious meaning --> + +<!ELEMENT %anyAttribute; (%annotation;)?> +<!ATTLIST %anyAttribute; + namespace CDATA '##any' + processContents (skip|lax|strict) 'strict' + id ID #IMPLIED + %anyAttributeAttrs;> +<!-- namespace is interpreted as for 'any' above --> + +<!-- simpleType only if no type|ref attribute --> +<!-- ref not allowed at top level, name iff at top level --> +<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)> +<!ATTLIST %attribute; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + type %QName; #IMPLIED + use (prohibited|optional|required) #IMPLIED + default CDATA #IMPLIED + fixed CDATA #IMPLIED + form %formValues; #IMPLIED + %attributeAttrs;> +<!-- type and ref are mutually exclusive. + name and ref are mutually exclusive, one is required --> +<!-- default for use is optional when nested, none otherwise --> +<!-- default and fixed are mutually exclusive --> +<!-- type attr and simpleType content are mutually exclusive --> + +<!-- an attributeGroup is a named collection of attribute decls, or a + reference thereto --> +<!ELEMENT %attributeGroup; ((%annotation;)?, + (%attribute; | %attributeGroup;)*, + (%anyAttribute;)?) > +<!ATTLIST %attributeGroup; + name %NCName; #IMPLIED + id ID #IMPLIED + ref %QName; #IMPLIED + %attributeGroupAttrs;> + +<!-- ref iff no content, no name. ref iff not top level --> + +<!-- better reference mechanisms --> +<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %unique; + name %NCName; #REQUIRED + id ID #IMPLIED + %uniqueAttrs;> + +<!ELEMENT %key; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %key; + name %NCName; #REQUIRED + id ID #IMPLIED + %keyAttrs;> + +<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)> +<!ATTLIST %keyref; + name %NCName; #REQUIRED + refer %QName; #REQUIRED + id ID #IMPLIED + %keyrefAttrs;> + +<!ELEMENT %selector; ((%annotation;)?)> +<!ATTLIST %selector; + xpath %XPathExpr; #REQUIRED + id ID #IMPLIED + %selectorAttrs;> +<!ELEMENT %field; ((%annotation;)?)> +<!ATTLIST %field; + xpath %XPathExpr; #REQUIRED + id ID #IMPLIED + %fieldAttrs;> + +<!-- Schema combination mechanisms --> +<!ELEMENT %include; (%annotation;)?> +<!ATTLIST %include; + schemaLocation %URIref; #REQUIRED + id ID #IMPLIED + %includeAttrs;> + +<!ELEMENT %import; (%annotation;)?> +<!ATTLIST %import; + namespace %URIref; #IMPLIED + schemaLocation %URIref; #IMPLIED + id ID #IMPLIED + %importAttrs;> + +<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; | + %attributeGroup; | %group;)*> +<!ATTLIST %redefine; + schemaLocation %URIref; #REQUIRED + id ID #IMPLIED + %redefineAttrs;> + +<!ELEMENT %notation; (%annotation;)?> +<!ATTLIST %notation; + name %NCName; #REQUIRED + id ID #IMPLIED + public CDATA #REQUIRED + system %URIref; #IMPLIED + %notationAttrs;> + +<!-- Annotation is either application information or documentation --> +<!-- By having these here they are available for datatypes as well + as all the structures elements --> + +<!ELEMENT %annotation; (%appinfo; | %documentation;)*> +<!ATTLIST %annotation; %annotationAttrs;> + +<!-- User must define annotation elements in internal subset for this + to work --> +<!ELEMENT %appinfo; ANY> <!-- too restrictive --> +<!ATTLIST %appinfo; + source %URIref; #IMPLIED + id ID #IMPLIED + %appinfoAttrs;> +<!ELEMENT %documentation; ANY> <!-- too restrictive --> +<!ATTLIST %documentation; + source %URIref; #IMPLIED + id ID #IMPLIED + xml:lang CDATA #IMPLIED + %documentationAttrs;> + +<!NOTATION XMLSchemaStructures PUBLIC + 'structures' 'http://www.w3.org/2001/XMLSchema.xsd' > +<!NOTATION XML PUBLIC + 'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/datatypes.dtd b/jetty-schemas/src/main/resources/javax/servlet/resources/datatypes.dtd new file mode 100644 index 0000000..36f66a5 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/datatypes.dtd
@@ -0,0 +1,203 @@ +<!-- + DTD for XML Schemas: Part 2: Datatypes + $Id: datatypes.dtd,v 1.1.4.2 2011/03/23 09:21:12 hmalphett Exp $ + Note this DTD is NOT normative, or even definitive. - - the + prose copy in the datatypes REC is the definitive version + (which shouldn't differ from this one except for this comment + and entity expansions, but just in case) + --> + +<!-- + This DTD cannot be used on its own, it is intended + only for incorporation in XMLSchema.dtd, q.v. + --> + +<!-- Define all the element names, with optional prefix --> +<!ENTITY % simpleType "%p;simpleType"> +<!ENTITY % restriction "%p;restriction"> +<!ENTITY % list "%p;list"> +<!ENTITY % union "%p;union"> +<!ENTITY % maxExclusive "%p;maxExclusive"> +<!ENTITY % minExclusive "%p;minExclusive"> +<!ENTITY % maxInclusive "%p;maxInclusive"> +<!ENTITY % minInclusive "%p;minInclusive"> +<!ENTITY % totalDigits "%p;totalDigits"> +<!ENTITY % fractionDigits "%p;fractionDigits"> +<!ENTITY % length "%p;length"> +<!ENTITY % minLength "%p;minLength"> +<!ENTITY % maxLength "%p;maxLength"> +<!ENTITY % enumeration "%p;enumeration"> +<!ENTITY % whiteSpace "%p;whiteSpace"> +<!ENTITY % pattern "%p;pattern"> + +<!-- + Customisation entities for the ATTLIST of each element + type. Define one of these if your schema takes advantage + of the anyAttribute='##other' in the schema for schemas + --> + +<!ENTITY % simpleTypeAttrs ""> +<!ENTITY % restrictionAttrs ""> +<!ENTITY % listAttrs ""> +<!ENTITY % unionAttrs ""> +<!ENTITY % maxExclusiveAttrs ""> +<!ENTITY % minExclusiveAttrs ""> +<!ENTITY % maxInclusiveAttrs ""> +<!ENTITY % minInclusiveAttrs ""> +<!ENTITY % totalDigitsAttrs ""> +<!ENTITY % fractionDigitsAttrs ""> +<!ENTITY % lengthAttrs ""> +<!ENTITY % minLengthAttrs ""> +<!ENTITY % maxLengthAttrs ""> +<!ENTITY % enumerationAttrs ""> +<!ENTITY % whiteSpaceAttrs ""> +<!ENTITY % patternAttrs ""> + +<!-- Define some entities for informative use as attribute + types --> +<!ENTITY % URIref "CDATA"> +<!ENTITY % XPathExpr "CDATA"> +<!ENTITY % QName "NMTOKEN"> +<!ENTITY % QNames "NMTOKENS"> +<!ENTITY % NCName "NMTOKEN"> +<!ENTITY % nonNegativeInteger "NMTOKEN"> +<!ENTITY % boolean "(true|false)"> +<!ENTITY % simpleDerivationSet "CDATA"> +<!-- + #all or space-separated list drawn from derivationChoice + --> + +<!-- + Note that the use of 'facet' below is less restrictive + than is really intended: There should in fact be no + more than one of each of minInclusive, minExclusive, + maxInclusive, maxExclusive, totalDigits, fractionDigits, + length, maxLength, minLength within datatype, + and the min- and max- variants of Inclusive and Exclusive + are mutually exclusive. On the other hand, pattern and + enumeration may repeat. + --> +<!ENTITY % minBound "(%minInclusive; | %minExclusive;)"> +<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)"> +<!ENTITY % bounds "%minBound; | %maxBound;"> +<!ENTITY % numeric "%totalDigits; | %fractionDigits;"> +<!ENTITY % ordered "%bounds; | %numeric;"> +<!ENTITY % unordered + "%pattern; | %enumeration; | %whiteSpace; | %length; | + %maxLength; | %minLength;"> +<!ENTITY % facet "%ordered; | %unordered;"> +<!ENTITY % facetAttr + "value CDATA #REQUIRED + id ID #IMPLIED"> +<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED"> +<!ENTITY % facetModel "(%annotation;)?"> +<!ELEMENT %simpleType; + ((%annotation;)?, (%restriction; | %list; | %union;))> +<!ATTLIST %simpleType; + name %NCName; #IMPLIED + final %simpleDerivationSet; #IMPLIED + id ID #IMPLIED + %simpleTypeAttrs;> +<!-- name is required at top level --> +<!ELEMENT %restriction; ((%annotation;)?, + (%restriction1; | + ((%simpleType;)?,(%facet;)*)), + (%attrDecls;))> +<!ATTLIST %restriction; + base %QName; #IMPLIED + id ID #IMPLIED + %restrictionAttrs;> +<!-- + base and simpleType child are mutually exclusive, + one is required. + + restriction is shared between simpleType and + simpleContent and complexContent (in XMLSchema.xsd). + restriction1 is for the latter cases, when this + is restricting a complex type, as is attrDecls. + --> +<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)> +<!ATTLIST %list; + itemType %QName; #IMPLIED + id ID #IMPLIED + %listAttrs;> +<!-- + itemType and simpleType child are mutually exclusive, + one is required + --> +<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)> +<!ATTLIST %union; + id ID #IMPLIED + memberTypes %QNames; #IMPLIED + %unionAttrs;> +<!-- + At least one item in memberTypes or one simpleType + child is required + --> + +<!ELEMENT %maxExclusive; %facetModel;> +<!ATTLIST %maxExclusive; + %facetAttr; + %fixedAttr; + %maxExclusiveAttrs;> +<!ELEMENT %minExclusive; %facetModel;> +<!ATTLIST %minExclusive; + %facetAttr; + %fixedAttr; + %minExclusiveAttrs;> + +<!ELEMENT %maxInclusive; %facetModel;> +<!ATTLIST %maxInclusive; + %facetAttr; + %fixedAttr; + %maxInclusiveAttrs;> +<!ELEMENT %minInclusive; %facetModel;> +<!ATTLIST %minInclusive; + %facetAttr; + %fixedAttr; + %minInclusiveAttrs;> + +<!ELEMENT %totalDigits; %facetModel;> +<!ATTLIST %totalDigits; + %facetAttr; + %fixedAttr; + %totalDigitsAttrs;> +<!ELEMENT %fractionDigits; %facetModel;> +<!ATTLIST %fractionDigits; + %facetAttr; + %fixedAttr; + %fractionDigitsAttrs;> + +<!ELEMENT %length; %facetModel;> +<!ATTLIST %length; + %facetAttr; + %fixedAttr; + %lengthAttrs;> +<!ELEMENT %minLength; %facetModel;> +<!ATTLIST %minLength; + %facetAttr; + %fixedAttr; + %minLengthAttrs;> +<!ELEMENT %maxLength; %facetModel;> +<!ATTLIST %maxLength; + %facetAttr; + %fixedAttr; + %maxLengthAttrs;> + +<!-- This one can be repeated --> +<!ELEMENT %enumeration; %facetModel;> +<!ATTLIST %enumeration; + %facetAttr; + %enumerationAttrs;> + +<!ELEMENT %whiteSpace; %facetModel;> +<!ATTLIST %whiteSpace; + %facetAttr; + %fixedAttr; + %whiteSpaceAttrs;> + +<!-- This one can be repeated --> +<!ELEMENT %pattern; %facetModel;> +<!ATTLIST %pattern; + %facetAttr; + %patternAttrs;>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_1_4.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_1_4.xsd new file mode 100644 index 0000000..2f6f2d4 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_1_4.xsd
@@ -0,0 +1,1617 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.4"> + <xsd:annotation> + <xsd:documentation> + @(#)j2ee_1_4.xsds 1.43 03/09/16 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + +The following definitions that appear in the common +shareable schema(s) of J2EE deployment descriptors should be +interpreted with respect to the context they are included: + +Deployment Component may indicate one of the following: + j2ee application; + application client; + web application; + enterprise bean; + resource adapter; + +Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + +</xsd:documentation> +</xsd:annotation> + + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xsd:include schemaLocation= + "http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd"/> + + +<!-- **************************************************** --> + + <xsd:group name="descriptionGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained description related + elements consistent across J2EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="display-name" + type="j2ee:display-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="icon" + type="j2ee:iconType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="j2ee:xsdStringType"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:simpleType name="dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + This type defines a dewey decimal which is used + to describe versions of documents. + + </xsd:documentation> + </xsd:annotation> + + <xsd:restriction base="xsd:decimal"> + <xsd:whiteSpace value="collapse"/> + </xsd:restriction> + + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="display-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The display-name type contains a short name that is intended + to be displayed by tools. It is used by display-name + elements. The display name need not be unique. + + Example: + + ... + <display-name xml:lang="en">Employee Self Service</display-name> + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="j2ee:string"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The ejb-linkType is used by ejb-link + elements in the ejb-ref or ejb-local-ref elements to specify + that an EJB reference is linked to enterprise bean. + + The value of the ejb-link element must be the ejb-name of an + enterprise bean in the same ejb-jar file or in another ejb-jar + file in the same J2EE application unit. + + Alternatively, the name in the ejb-link element may be + composed of a path name specifying the ejb-jar containing the + referenced enterprise bean with the ejb-name of the target + bean appended and separated from the path name by "#". The + path name is relative to the Deployment File containing + Deployment Component that is referencing the enterprise + bean. This allows multiple enterprise beans with the same + ejb-name to be uniquely identified. + + Examples: + + <ejb-link>EmployeeRecord</ejb-link> + + <ejb-link>../products/product.jar#ProductEJB</ejb-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-local-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home. The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean + - the expected type of the referenced enterprise bean + - the expected local home and local interfaces of the + referenced enterprise bean + - optional ejb-link information, used to specify the + referenced enterprise bean + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="j2ee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="j2ee:ejb-ref-typeType"/> + <xsd:element name="local-home" + type="j2ee:local-homeType"/> + <xsd:element name="local" + type="j2ee:localType"/> + <xsd:element name="ejb-link" + type="j2ee:ejb-linkType" + minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + Deployment Component's environment and is relative to the + java:comp/env context. The name must be unique within the + Deployment Component. + + It is recommended that name is prefixed with "ejb/". + + Example: + + <ejb-ref-name>ejb/Payroll</ejb-ref-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:jndi-nameType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-typeType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="Entity"/> + <xsd:enumeration value="Session"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home. The + declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean + - the expected type of the referenced enterprise bean + - the expected home and remote interfaces of the referenced + enterprise bean + - optional ejb-link information, used to specify the + referenced enterprise bean + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="j2ee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="j2ee:ejb-ref-typeType"/> + + <xsd:element name="home" + type="j2ee:homeType"/> + <xsd:element name="remote" + type="j2ee:remoteType"/> + <xsd:element name="ejb-link" + type="j2ee:ejb-linkType" + minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="emptyType"> + <xsd:annotation> + <xsd:documentation> + + This type is used to designate an empty + element when used. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="env-entry-type-valuesType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + This type contains the fully-qualified Java type of the + environment entry value that is expected by the + application's code. + + The following are the legal values of env-entry-type-valuesType: + + java.lang.Boolean + java.lang.Byte + java.lang.Character + java.lang.String + java.lang.Short + java.lang.Integer + java.lang.Long + java.lang.Float + java.lang.Double + + Example: + + <env-entry-type>java.lang.Boolean</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="java.lang.Boolean"/> + <xsd:enumeration value="java.lang.Byte"/> + <xsd:enumeration value="java.lang.Character"/> + <xsd:enumeration value="java.lang.String"/> + <xsd:enumeration value="java.lang.Short"/> + <xsd:enumeration value="java.lang.Integer"/> + <xsd:enumeration value="java.lang.Long"/> + <xsd:enumeration value="java.lang.Float"/> + <xsd:enumeration value="java.lang.Double"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="env-entryType"> + <xsd:annotation> + <xsd:documentation> + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, and an + optional value. If a value is not specified, one must be + supplied during deployment. + + It is used by env-entry elements. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="env-entry-name" + type="j2ee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The env-entry-name element contains the name of a + Deployment Component's environment entry. The name + is a JNDI name relative to the java:comp/env + context. The name must be unique within a + Deployment Component. The uniqueness + constraints must be defined within the declared + context. + + Example: + + <env-entry-name>minAmount</env-entry-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="env-entry-type" + type="j2ee:env-entry-type-valuesType"/> + + <xsd:element name="env-entry-value" + type="j2ee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The env-entry-value designates the value of a + Deployment Component's environment entry. The value + must be a String that is valid for the + constructor of the specified type that takes a + single String parameter, or for java.lang.Character, + a single character. + + Example: + + <env-entry-value>100.00</env-entry-value> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="generic-booleanType"> + <xsd:annotation> + <xsd:documentation> + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="homeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The homeType defines the fully-qualified name of + an enterprise bean's home interface. + + Example: + + <home>com.aardvark.payroll.PayrollHome</home> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="iconType"> + <xsd:annotation> + <xsd:documentation> + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF or + JPEG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="small-icon" type="j2ee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The small-icon element contains the name of a file + containing a small (16 x 16) icon image. The file + name is a relative path within the Deployment + Component's Deployment File. + + The image may be either in the JPEG or GIF format. + The icon can be used by tools. + + Example: + + <small-icon>employee-service-icon16x16.jpg</small-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="large-icon" type="j2ee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The large-icon element contains the name of a file + containing a large + (32 x 32) icon image. The file name is a relative + path within the Deployment Component's Deployment + File. + + The image may be either in the JPEG or GIF format. + The icon can be used by tools. + + Example: + + <large-icon>employee-service-icon32x32.jpg</large-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + </xsd:sequence> + + <xsd:attribute ref="xml:lang"/> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="java-typeType"> + <xsd:annotation> + <xsd:documentation> + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:pattern value="[^\p{Z}]*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:group name="jndiEnvironmentRefsGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained JNDI environment + reference elements consistent across J2EE deployment descriptors. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="env-entry" + type="j2ee:env-entryType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ejb-ref" + type="j2ee:ejb-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ejb-local-ref" + type="j2ee:ejb-local-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:group ref="j2ee:service-refGroup"/> + <xsd:element name="resource-ref" + type="j2ee:resource-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref" + type="j2ee:resource-env-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref" + type="j2ee:message-destination-refType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="listenerType"> + <xsd:annotation> + <xsd:documentation> + + The listenerType indicates the deployment properties for a web + application listener bean. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="listener-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="local-homeType"> + <xsd:annotation> + <xsd:documentation> + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="localType"> + <xsd:annotation> + <xsd:documentation> + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-linkType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same J2EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destination-ref element contains a declaration + of Deployment Component's reference to a message destination + associated with a resource in Deployment Component's + environment. It consists of: + + - an optional description + - the message destination reference name + - the message destination type + - a specification as to whether the + destination is used for + consuming or producing messages, or both + - a link to the message destination + + Examples: + + <message-destination-ref> + <message-destination-ref-name>jms/StockQueue + </message-destination-ref-name> + <message-destination-type>javax.jms.Queue + </message-destination-type> + <message-destination-usage>Consumes + </message-destination-usage> + <message-destination-link>CorporateStocks + </message-destination-link> + </message-destination-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref-name" + type="j2ee:jndi-nameType"> + <xsd:annotation> + <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 + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context and must be + unique within an ejb-jar (for enterprise beans) or a + Deployment File (for others). + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="message-destination-type" + type="j2ee:message-destination-typeType"/> + <xsd:element name="message-destination-usage" + type="j2ee:message-destination-usageType"/> + <xsd:element name="message-destination-link" + type="j2ee:message-destination-linkType" + minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-typeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destination-typeType specifies the type of + the destination. The type is specified by the Java interface + expected to be implemented by the destination. + + Example: + + <message-destination-type>javax.jms.Queue + </message-destination-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-usageType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="Consumes"/> + <xsd:enumeration value="Produces"/> + <xsd:enumeration value="ConsumesProduces"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destinationType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destinationType specifies a message + destination. The logical destination described by this + element is mapped to a physical destination by the Deployer. + + The message destination element contains: + + - an optional description + - an optional display-name + - an optional icon + - a message destination name which must be unique + among message destination names within the same + Deployment File. + + Example: + + <message-destination> + <message-destination-name>CorporateStocks + </message-destination-name> + </message-destination> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="message-destination-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="param-valueType"> + <xsd:annotation> + <xsd:documentation> + + This type is a general type that can be used to declare + parameter/value lists. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="param-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + The param-name element contains the name of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="param-value" + type="j2ee:xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + The param-value element contains the value of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="pathType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment 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:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="remoteType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The remote element contains the fully-qualified name + of the enterprise bean's remote interface. + + Example: + + <remote>com.wombat.empl.EmployeeService</remote> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="res-authType"> + <xsd:annotation> + <xsd:documentation> + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="Application"/> + <xsd:enumeration value="Container"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="res-sharing-scopeType"> + <xsd:annotation> + <xsd:documentation> + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="Shareable"/> + <xsd:enumeration value="Unshareable"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="resource-env-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The resource-env-refType is used to define + resource-env-type elements. It contains a declaration of a + Deployment Component's reference to an administered object + associated with a resource in the Deployment Component's + environment. It consists of an optional description, the + resource environment reference name, and an indication of + the resource environment reference type expected by the + Deployment Component code. + + Example: + + <resource-env-ref> + <resource-env-ref-name>jms/StockQueue + </resource-env-ref-name> + <resource-env-ref-type>javax.jms.Queue + </resource-env-ref-type> + </resource-env-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref-name" + type="j2ee:jndi-nameType"> + <xsd:annotation> + <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 Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="resource-env-ref-type" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="resource-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The resource-refType contains a declaration of a + Deployment Component's reference to an external resource. It + consists of an optional description, the resource manager + connection factory reference name, the indication of the + resource manager connection factory type expected by the + Deployment Component code, the type of authentication + (Application or Container), and an optional specification of + the shareability of connections obtained from the resource + (Shareable or Unshareable). + + Example: + + <resource-ref> + <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> + <res-type>javax.sql.DataSource</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="res-ref-name" + type="j2ee:jndi-nameType"> + <xsd:annotation> + <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 Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="res-type" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="res-auth" + type="j2ee:res-authType"/> + + <xsd:element name="res-sharing-scope" + type="j2ee:res-sharing-scopeType" + minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="run-asType"> + <xsd:annotation> + <xsd:documentation> + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="j2ee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-role-refType"> + <xsd:annotation> + <xsd:documentation> + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="j2ee:role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="role-link" + type="j2ee:role-nameType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-roleType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The security-roleType contains the definition of a security + role. The definition consists of an optional description of the + security role, and the security role name. + + Example: + + <security-role> + <description> + This role includes all employees who are authorized + to access the employee service application. + </description> + <role-name>employee</role-name> + </security-role> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="j2ee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="string"> + <xsd:annotation> + <xsd:documentation> + + This is a special string datatype that is defined by J2EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="true-falseType"> + <xsd:annotation> + <xsd:documentation> + + This simple type designates a boolean with only two + permissible values + + - true + - false + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:xsdBooleanType"> + <xsd:pattern value="(true|false)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="url-patternType"> + <xsd:annotation> + <xsd:documentation> + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdAnyURIType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:anyURI. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdBooleanType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:boolean. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:boolean"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:integer. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:integer"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNMTOKENType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:NMTOKEN"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNonNegativeIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:nonNegativeInteger"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdPositiveIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:positiveInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdQNameType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:QName. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:QName"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:string. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_1_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_1_1.xsd new file mode 100644 index 0000000..3620dc4 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_1_1.xsd
@@ -0,0 +1,500 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.1"> + <xsd:annotation> + <xsd:documentation> + @(#)j2ee_web_services_1_1.xsds 1.11 02/11/03 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the J2EE Application + Server and the dependencies they have on container resources and + services. The deployment descriptor must be named + "META-INF/webservices.xml" in the web services' jar file. + + Used in: webservices.xml + + All webservices deployment descriptors must indicate the + webservices schema by using the J2EE namespace: + + http://java.sun.com/xml/ns/j2ee + + and by indicating the version of the schema by using the version + element as shown below: + + <webservices xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee + http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd" + version="1.1"> + ... + </webservices> + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the J2EE + namespace with the following location: + + http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + The following conventions apply to all J2EE + 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="j2ee_1_4.xsd"/> + + +<!-- **************************************************** --> + + + <xsd:element name="webservices" type="j2ee:webservicesType"> + <xsd:annotation> + <xsd:documentation> + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the J2EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + </xsd:documentation> + </xsd:annotation> + + <xsd:key name="webservice-description-name-key"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:webservice-description"/> + <xsd:field xpath="j2ee:webservice-description-name"/> + </xsd:key> + </xsd:element> + +<!-- **************************************************** --> + + <xsd:complexType name="port-componentType"> + <xsd:annotation> + <xsd:documentation> + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="display-name" + type="j2ee:display-nameType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="icon" + type="j2ee:iconType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="port-component-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The port-component-name element specifies a port component's + name. This name is assigned by the module producer to name + the service implementation bean in the module's deployment + descriptor. The name must be unique among the port component + names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-port" + type="j2ee:xsdQNameType"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL port QName. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-endpoint-interface" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The service-endpoint-interface element contains the + fully-qualified name of the port component's Service Endpoint + Interface. + + Used in: port-component + + Example: + <remote>com.wombat.empl.EmployeeService</remote> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-impl-bean" + type="j2ee:service-impl-beanType"/> + + <xsd:element name="handler" + type="j2ee:port-component_handlerType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="port-component_handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="handler-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique within the + module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="j2ee:param-valueType" + minOccurs="0" maxOccurs="unbounded"/> + + <xsd:element name="soap-header" + type="j2ee:xsdQNameType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed by the + handler. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-role" + type="j2ee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-impl-beanType"> + <xsd:annotation> + <xsd:documentation> + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:choice> + <xsd:element name="ejb-link" + type="j2ee:ejb-linkType"/> + <xsd:element name="servlet-link" + type="j2ee:servlet-linkType"/> + </xsd:choice> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="servlet-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The servlet-link element is used in the service-impl-bean element + to specify that a Service Implementation Bean is defined as a + JAX-RPC Service Endpoint. + + The value of the servlet-link element must be the servlet-name of + a JAX-RPC Service Endpoint in the same WAR file. + + Used in: service-impl-bean + + Example: + <servlet-link>StockQuoteService</servlet-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="webservice-descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="display-name" + type="j2ee:display-nameType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="icon" + type="j2ee:iconType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="webservice-description-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="j2ee:pathType"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="j2ee:pathType"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component" + type="j2ee:port-componentType" + minOccurs="1" maxOccurs="unbounded"> + <xsd:key name="port-component_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:handler"/> + <xsd:field xpath="j2ee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="webservicesType"> + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="webservice-description" + type="j2ee:webservice-descriptionType" + minOccurs="1" maxOccurs="unbounded"> + <xsd:key name="port-component-name-key"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The port-component-name element specifies a port + component's name. This name is assigned by the module + producer to name the service implementation bean in the + module's deployment descriptor. The name must be unique + among the port component names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:port-component"/> + <xsd:field xpath="j2ee:port-component-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + + <xsd:attribute name="version" + type="j2ee:dewey-versionType" + fixed="1.1" + use="required"> + <xsd:annotation> + <xsd:documentation> + + The required value for the version is 1.1. + + </xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_client_1_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_client_1_1.xsd new file mode 100644 index 0000000..352eb81 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/j2ee_web_services_client_1_1.xsd
@@ -0,0 +1,355 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.1"> + <xsd:annotation> + <xsd:documentation> + @(#)j2ee_web_services_client_1_1.xsds 1.10 02/11/03 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-component-refType"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="service-endpoint-interface" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-component-link" + type="j2ee:string" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:group name="service-refGroup"> + <xsd:sequence> + <xsd:element name="service-ref" + type="j2ee:service-refType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:key name="service-ref_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:handler"/> + <xsd:field xpath="j2ee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="service-refType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="service-ref-name" + type="j2ee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-interface" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="wsdl-file" + type="j2ee:xsdAnyURIType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="jaxrpc-mapping-file" + type="j2ee:pathType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-qname" + type="j2ee:xsdQNameType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-component-ref" + type="j2ee:port-component-refType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="handler" + type="j2ee:service-ref_handlerType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-ref_handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. If + port-name is not specified, the handler is assumed to be associated + with all ports of the service. + + Used in: service-ref + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="handler-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler + implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="j2ee:param-valueType" + minOccurs="0" maxOccurs="unbounded"/> + + <xsd:element name="soap-header" + type="j2ee:xsdQNameType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed + by the handler. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="soap-role" + type="j2ee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that + the Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-name" + type="j2ee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-name element defines the WSDL port-name that a + handler should be associated with. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_5.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_5.xsd new file mode 100644 index 0000000..e87fc39 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_5.xsd
@@ -0,0 +1,2103 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema + 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="5"> + <xsd:annotation> + <xsd:documentation> + @(#)javaee_5.xsds 1.65 06/02/17 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2005 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + +The following definitions that appear in the common +shareable schema(s) of J2EE deployment descriptors should be +interpreted with respect to the context they are included: + +Deployment Component may indicate one of the following: + j2ee application; + application client; + web application; + enterprise bean; + resource adapter; + +Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + +</xsd:documentation> +</xsd:annotation> + + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xsd:include schemaLocation="javaee_web_services_client_1_2.xsd"/> + + +<!-- **************************************************** --> + + <xsd:group name="descriptionGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:xsdStringType"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:simpleType name="dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + This type defines a dewey decimal that is used + to describe versions of documents. + + </xsd:documentation> + </xsd:annotation> + + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="display-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The display-name type contains a short name that is intended + to be displayed by tools. It is used by display-name + elements. The display name need not be unique. + + Example: + + ... + <display-name xml:lang="en"> + Employee Self Service + </display-name> + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:string"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The ejb-linkType is used by ejb-link + elements in the ejb-ref or ejb-local-ref elements to specify + that an EJB reference is linked to enterprise bean. + + The value of the ejb-link element must be the ejb-name of an + enterprise bean in the same ejb-jar file or in another ejb-jar + file in the same Java EE application unit. + + Alternatively, the name in the ejb-link element may be + composed of a path name specifying the ejb-jar containing the + referenced enterprise bean with the ejb-name of the target + bean appended and separated from the path name by "#". The + path name is relative to the Deployment File containing + Deployment Component that is referencing the enterprise + bean. This allows multiple enterprise beans with the same + ejb-name to be uniquely identified. + + Examples: + + <ejb-link>EmployeeRecord</ejb-link> + + <ejb-link>../products/product.jar#ProductEJB</ejb-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-local-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="local-home" + type="javaee:local-homeType" + minOccurs="0"/> + <xsd:element name="local" + type="javaee:localType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + Deployment Component's environment and is relative to the + java:comp/env context. The name must be unique within the + Deployment Component. + + It is recommended that name is prefixed with "ejb/". + + Example: + + <ejb-ref-name>ejb/Payroll</ejb-ref-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:jndi-nameType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-typeType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Entity"/> + <xsd:enumeration value="Session"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="home" + type="javaee:homeType" + minOccurs="0"/> + <xsd:element name="remote" + type="javaee:remoteType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="emptyType"> + <xsd:annotation> + <xsd:documentation> + + This type is used to designate an empty + element when used. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="env-entry-type-valuesType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + This type contains the fully-qualified Java type of the + environment entry value that is expected by the + application's code. + + The following are the legal values of env-entry-type-valuesType: + + java.lang.Boolean + java.lang.Byte + java.lang.Character + java.lang.String + java.lang.Short + java.lang.Integer + java.lang.Long + java.lang.Float + java.lang.Double + + Example: + + <env-entry-type>java.lang.Boolean</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="java.lang.Boolean"/> + <xsd:enumeration value="java.lang.Byte"/> + <xsd:enumeration value="java.lang.Character"/> + <xsd:enumeration value="java.lang.String"/> + <xsd:enumeration value="java.lang.Short"/> + <xsd:enumeration value="java.lang.Integer"/> + <xsd:enumeration value="java.lang.Long"/> + <xsd:enumeration value="java.lang.Float"/> + <xsd:enumeration value="java.lang.Double"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="env-entryType"> + <xsd:annotation> + <xsd:documentation> + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="env-entry-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The env-entry-name element contains the name of a + Deployment Component's environment entry. The name + is a JNDI name relative to the java:comp/env + context. The name must be unique within a + Deployment Component. The uniqueness + constraints must be defined within the declared + context. + + Example: + + <env-entry-name>minAmount</env-entry-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="env-entry-type" + type="javaee:env-entry-type-valuesType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The env-entry-type element contains the Java language + type of the environment entry. If an injection target + is specified for the environment entry, the type may + be omitted, or must match the type of the injection + target. If no injection target is specified, the type + is required. + + Example: + + <env-entry-type>java.lang.Integer</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="env-entry-value" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The env-entry-value designates the value of a + Deployment Component's environment entry. The value + must be a String that is valid for the + constructor of the specified type that takes a + single String parameter, or for java.lang.Character, + a single character. + + Example: + + <env-entry-value>100.00</env-entry-value> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="generic-booleanType"> + <xsd:annotation> + <xsd:documentation> + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="homeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The homeType defines the fully-qualified name of + an enterprise bean's home interface. + + Example: + + <home>com.aardvark.payroll.PayrollHome</home> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="iconType"> + <xsd:annotation> + <xsd:documentation> + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="small-icon" type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The small-icon element contains the name of a file + containing a small (16 x 16) icon image. The file + name is a relative path within the Deployment + Component's Deployment File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <small-icon>employee-service-icon16x16.jpg</small-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="large-icon" type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The large-icon element contains the name of a file + containing a large + (32 x 32) icon image. The file name is a relative + path within the Deployment Component's Deployment + File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <large-icon>employee-service-icon32x32.jpg</large-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + </xsd:sequence> + + <xsd:attribute ref="xml:lang"/> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="injection-targetType"> + <xsd:annotation> + <xsd:documentation> + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="injection-target-class" + type="javaee:fully-qualified-classType"/> + <xsd:element name="injection-target-name" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="java-typeType"> + <xsd:annotation> + <xsd:documentation> + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Z}]*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:group name="jndiEnvironmentRefsGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="env-entry" + type="javaee:env-entryType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ejb-ref" + type="javaee:ejb-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ejb-local-ref" + type="javaee:ejb-local-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:group ref="javaee:service-refGroup"/> + <xsd:element name="resource-ref" + type="javaee:resource-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref" + type="javaee:resource-env-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref" + type="javaee:message-destination-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref" + type="javaee:persistence-context-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref" + type="javaee:persistence-unit-refType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="post-construct" + type="javaee:lifecycle-callbackType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="pre-destroy" + type="javaee:lifecycle-callbackType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="lifecycle-callbackType"> + <xsd:annotation> + <xsd:documentation> + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="lifecycle-callback-class" + type="javaee:fully-qualified-classType" + minOccurs="0"/> + <xsd:element name="lifecycle-callback-method" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="listenerType"> + <xsd:annotation> + <xsd:documentation> + + The listenerType indicates the deployment properties for a web + application listener bean. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="listener-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="local-homeType"> + <xsd:annotation> + <xsd:documentation> + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="localType"> + <xsd:annotation> + <xsd:documentation> + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-linkType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destination-ref element contains a declaration + of Deployment Component's reference to a message destination + associated with a resource in Deployment Component's + environment. It consists of: + + - an optional description + - the message destination reference name + - an optional message destination type + - an optional specification as to whether + the destination is used for + consuming or producing messages, or both. + if not specified, "both" is assumed. + - an optional link to the message destination + - optional injection targets + + The message destination type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Examples: + + <message-destination-ref> + <message-destination-ref-name>jms/StockQueue + </message-destination-ref-name> + <message-destination-type>javax.jms.Queue + </message-destination-type> + <message-destination-usage>Consumes + </message-destination-usage> + <message-destination-link>CorporateStocks + </message-destination-link> + </message-destination-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context and must be + unique within an ejb-jar (for enterprise beans) or a + Deployment File (for others). + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="message-destination-type" + type="javaee:message-destination-typeType" + minOccurs="0"/> + <xsd:element name="message-destination-usage" + type="javaee:message-destination-usageType" + minOccurs="0"/> + <xsd:element name="message-destination-link" + type="javaee:message-destination-linkType" + minOccurs="0"/> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-typeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destination-typeType specifies the type of + the destination. The type is specified by the Java interface + expected to be implemented by the destination. + + Example: + + <message-destination-type>javax.jms.Queue + </message-destination-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-usageType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Consumes"/> + <xsd:enumeration value="Produces"/> + <xsd:enumeration value="ConsumesProduces"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="message-destinationType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The message-destinationType specifies a message + destination. The logical destination described by this + element is mapped to a physical destination by the Deployer. + + The message destination element contains: + + - an optional description + - an optional display-name + - an optional icon + - a message destination name which must be unique + among message destination names within the same + Deployment File. + - an optional mapped name + + Example: + + <message-destination> + <message-destination-name>CorporateStocks + </message-destination-name> + </message-destination> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="message-destination-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + A product specific name that this message destination + should be mapped to. Each message-destination-ref + element that references this message destination will + define a name in the namespace of the referencing + component. (It's a name in the JNDI java:comp/env + namespace.) Many application servers provide a way to + map these local names to names of resources known to the + application server. This mapped name is often a global + JNDI name, but may be a name of any form. Each of the + local names should be mapped to this same global name. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="param-valueType"> + <xsd:annotation> + <xsd:documentation> + + This type is a general type that can be used to declare + parameter/value lists. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="param-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The param-name element contains the name of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="param-value" + type="javaee:xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + The param-value element contains the value of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="pathType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment 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:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The persistence-context-ref element contains a declaration + of Deployment Component's reference to a persistence context + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence context reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - an optional specification as to whether + the persistence context type is Transaction or + Extended. If not specified, Transaction is assumed. + - an optional list of persistence properties + - optional injection targets + + Examples: + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + </persistence-context-ref> + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + <persistence-context-type>Extended</persistence-context-type> + </persistence-context-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="persistence-context-type" + type="javaee:persistence-context-typeType" + minOccurs="0"/> + + <xsd:element name="persistence-property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-typeType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Transaction"/> + <xsd:enumeration value="Extended"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-unit-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The persistence-unit-ref element contains a declaration + of Deployment Component's reference to a persistence unit + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence unit reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - optional injection targets + + Examples: + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + </persistence-unit-ref> + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + </persistence-unit-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="propertyType"> + <xsd:annotation> + <xsd:documentation> + + Specifies a name/value pair. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="name" + type="javaee:xsdStringType"> + </xsd:element> + <xsd:element name="value" + type="javaee:xsdStringType"> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="remoteType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The remote element contains the fully-qualified name + of the enterprise bean's remote interface. + + Example: + + <remote>com.wombat.empl.EmployeeService</remote> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="res-authType"> + <xsd:annotation> + <xsd:documentation> + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Application"/> + <xsd:enumeration value="Container"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="res-sharing-scopeType"> + <xsd:annotation> + <xsd:documentation> + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Shareable"/> + <xsd:enumeration value="Unshareable"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="resource-env-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The resource-env-refType is used to define + resource-env-type elements. It contains a declaration of a + Deployment Component's reference to an administered object + associated with a resource in the Deployment Component's + environment. It consists of an optional description, the + resource environment reference name, and an optional + indication of the resource environment reference type + expected by the Deployment Component code. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The resource environment type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-env-ref> + <resource-env-ref-name>jms/StockQueue + </resource-env-ref-name> + <resource-env-ref-type>javax.jms.Queue + </resource-env-ref-type> + </resource-env-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="resource-env-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="resource-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The resource-refType contains a declaration of a + Deployment Component's reference to an external resource. It + consists of an optional description, the resource manager + connection factory reference name, an optional indication of + the resource manager connection factory type expected by the + Deployment Component code, an optional type of authentication + (Application or Container), and an optional specification of + the shareability of connections obtained from the resource + (Shareable or Unshareable). + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The connection factory type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-ref> + <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> + <res-type>javax.sql.DataSource</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="res-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="res-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="res-auth" + type="javaee:res-authType" + minOccurs="0"/> + + <xsd:element name="res-sharing-scope" + type="javaee:res-sharing-scopeType" + minOccurs="0"/> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:group name="resourceGroup"> + <xsd:annotation> + <xsd:documentation> + + This group collects elements that are common to all the + JNDI resource elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + A product specific name that this resource should be + mapped to. The name of this resource, as defined by the + resource's name element or defaulted, is a name that is + local to the application component using the resource. + (It's a name in the JNDI java:comp/env namespace.) Many + application servers provide a way to map these local + names to names of resources known to the application + server. This mapped name is often a global JNDI name, + but may be a name of any form. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="injection-target" + type="javaee:injection-targetType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="run-asType"> + <xsd:annotation> + <xsd:documentation> + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-role-refType"> + <xsd:annotation> + <xsd:documentation> + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="role-link" + type="javaee:role-nameType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-roleType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The security-roleType contains the definition of a security + role. The definition consists of an optional description of + the security role, and the security role name. + + Example: + + <security-role> + <description> + This role includes all employees who are authorized + to access the employee service application. + </description> + <role-name>employee</role-name> + </security-role> + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="string"> + <xsd:annotation> + <xsd:documentation> + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="true-falseType"> + <xsd:annotation> + <xsd:documentation> + + This simple type designates a boolean with only two + permissible values + + - true + - false + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:xsdBooleanType"> + <xsd:pattern value="(true|false)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="url-patternType"> + <xsd:annotation> + <xsd:documentation> + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdAnyURIType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:anyURI. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdBooleanType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:boolean. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:boolean"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:integer. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:integer"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNMTOKENType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:NMTOKEN"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNonNegativeIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:nonNegativeInteger"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdPositiveIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:positiveInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdQNameType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:QName. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:QName"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:string. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_6.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_6.xsd new file mode 100644 index 0000000..5d80666 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_6.xsd
@@ -0,0 +1,2430 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema 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="6"> + <xsd:annotation> + <xsd:documentation> + + $Id: javaee_6.xsd,v 1.1.2.1 2011/03/23 09:21:12 hmalphett Exp $ + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + The following definitions that appear in the common + shareable schema(s) of Java EE deployment descriptors should be + interpreted with respect to the context they are included: + + Deployment Component may indicate one of the following: + java ee application; + application client; + web application; + enterprise bean; + resource adapter; + + Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + + </xsd:documentation> + </xsd:annotation> + + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xsd:include schemaLocation="javaee_web_services_client_1_3.xsd"/> + + <xsd:group name="descriptionGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + <xsd:group name="jndiEnvironmentRefsGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="env-entry" + type="javaee:env-entryType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref" + type="javaee:ejb-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-local-ref" + type="javaee:ejb-local-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:group ref="javaee:service-refGroup"/> + <xsd:element name="resource-ref" + type="javaee:resource-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref" + type="javaee:resource-env-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref" + type="javaee:message-destination-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref" + type="javaee:persistence-context-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref" + type="javaee:persistence-unit-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="post-construct" + type="javaee:lifecycle-callbackType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="pre-destroy" + type="javaee:lifecycle-callbackType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="data-source" + type="javaee:data-sourceType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + <xsd:group name="resourceGroup"> + <xsd:annotation> + <xsd:documentation> + + This group collects elements that are common to most + JNDI resource elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:resourceBaseGroup"/> + <xsd:element name="lookup-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The JNDI name to be looked up to resolve a resource reference. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:group> + + <xsd:group name="resourceBaseGroup"> + <xsd:annotation> + <xsd:documentation> + + This group collects elements that are common to all the + JNDI resource elements. It does not include the lookup-name + element, that is only applicable to some resource elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + A product specific name that this resource should be + mapped to. The name of this resource, as defined by the + resource's name element or defaulted, is a name that is + local to the application component using the resource. + (It's a name in the JNDI java:comp/env namespace.) Many + application servers provide a way to map these local + names to names of resources known to the application + server. This mapped name is often a global JNDI name, + but may be a name of any form. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="injection-target" + type="javaee:injection-targetType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + +<!-- **************************************************** --> + + <xsd:complexType name="data-sourceType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a DataSource. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this DataSource. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + data source being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="class-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + DataSource, XADataSource or ConnectionPoolDataSource + implementation class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="server-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Database server name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-number" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Port number where a server is listening for requests. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="database-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Name of a database on a server. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="url" + type="javaee:jdbc-urlType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + A JDBC URL. If the <code>url</code> property is specified + along with other standard <code>DataSource</code> properties + such as <code>serverName</code>, <code>databaseName</code> + and <code>portNumber</code>, the more specific properties will + take precedence and <code>url</code> will be ignored. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="user" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + User name to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="password" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Password to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + JDBC DataSource property. This may be a vendor-specific + property or a less commonly used DataSource property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="login-timeout" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Sets the maximum time in seconds that this data source + will wait while attempting to connect to a database. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transactional" + type="javaee:xsdBooleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Set to false if connections should not participate in + transactions. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="isolation-level" + type="javaee:isolation-levelType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Isolation level for connections. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="initial-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Number of connections that should be created when a + connection pool is initialized. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="min-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-idle-time" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The number of seconds that a physical connection should + remain unused in the pool before the connection is + closed for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-statements" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The total number of statements that a connection pool + should keep open. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:xsdStringType"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:simpleType name="dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + This type defines a dewey decimal that is used + to describe versions of documents. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="display-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The display-name type contains a short name that is intended + to be displayed by tools. It is used by display-name + elements. The display name need not be unique. + + Example: + + ... + <display-name xml:lang="en"> + Employee Self Service + </display-name> + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:string"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The ejb-linkType is used by ejb-link + elements in the ejb-ref or ejb-local-ref elements to specify + that an EJB reference is linked to enterprise bean. + + The value of the ejb-link element must be the ejb-name of an + enterprise bean in the same ejb-jar file or in another ejb-jar + file in the same Java EE application unit. + + Alternatively, the name in the ejb-link element may be + composed of a path name specifying the ejb-jar containing the + referenced enterprise bean with the ejb-name of the target + bean appended and separated from the path name by "#". The + path name is relative to the Deployment File containing + Deployment Component that is referencing the enterprise + bean. This allows multiple enterprise beans with the same + ejb-name to be uniquely identified. + + Examples: + + <ejb-link>EmployeeRecord</ejb-link> + + <ejb-link>../products/product.jar#ProductEJB</ejb-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-local-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="local-home" + type="javaee:local-homeType" + minOccurs="0"/> + <xsd:element name="local" + type="javaee:localType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + Deployment Component's environment and is relative to the + java:comp/env context. The name must be unique within the + Deployment Component. + + It is recommended that name is prefixed with "ejb/". + + Example: + + <ejb-ref-name>ejb/Payroll</ejb-ref-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:jndi-nameType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="home" + type="javaee:homeType" + minOccurs="0"/> + <xsd:element name="remote" + type="javaee:remoteType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-typeType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Entity"/> + <xsd:enumeration value="Session"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="emptyType"> + <xsd:annotation> + <xsd:documentation> + + This type is used to designate an empty + element when used. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="env-entryType"> + <xsd:annotation> + <xsd:documentation> + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="env-entry-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-name element contains the name of a + Deployment Component's environment entry. The name + is a JNDI name relative to the java:comp/env + context. The name must be unique within a + Deployment Component. The uniqueness + constraints must be defined within the declared + context. + + Example: + + <env-entry-name>minAmount</env-entry-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="env-entry-type" + type="javaee:env-entry-type-valuesType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-type element contains the Java language + type of the environment entry. If an injection target + is specified for the environment entry, the type may + be omitted, or must match the type of the injection + target. If no injection target is specified, the type + is required. + + Example: + + <env-entry-type>java.lang.Integer</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="env-entry-value" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-value designates the value of a + Deployment Component's environment entry. The value + must be a String that is valid for the + constructor of the specified type that takes a + single String parameter, or for java.lang.Character, + a single character. + + Example: + + <env-entry-value>100.00</env-entry-value> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="env-entry-type-valuesType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + This type contains the fully-qualified Java type of the + environment entry value that is expected by the + application's code. + + The following are the legal values of env-entry-type-valuesType: + + java.lang.Boolean + java.lang.Byte + java.lang.Character + java.lang.String + java.lang.Short + java.lang.Integer + java.lang.Long + java.lang.Float + java.lang.Double + java.lang.Class + any enumeration type (i.e. a subclass of java.lang.Enum) + + Examples: + + <env-entry-type>java.lang.Boolean</env-entry-type> + <env-entry-type>java.lang.Class</env-entry-type> + <env-entry-type>com.example.Color</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="generic-booleanType"> + <xsd:annotation> + <xsd:documentation> + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="iconType"> + <xsd:annotation> + <xsd:documentation> + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="small-icon" + type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The small-icon element contains the name of a file + containing a small (16 x 16) icon image. The file + name is a relative path within the Deployment + Component's Deployment File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <small-icon>employee-service-icon16x16.jpg</small-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="large-icon" + type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The large-icon element contains the name of a file + containing a large + (32 x 32) icon image. The file name is a relative + path within the Deployment Component's Deployment + File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <large-icon>employee-service-icon32x32.jpg</large-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute ref="xml:lang"/> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="injection-targetType"> + <xsd:annotation> + <xsd:documentation> + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="injection-target-class" + type="javaee:fully-qualified-classType"/> + <xsd:element name="injection-target-name" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:simpleType name="isolation-levelType"> + <xsd:annotation> + <xsd:documentation> + + The following transaction isolation levels are allowed + (see documentation for the java.sql.Connection interface): + TRANSACTION_READ_UNCOMMITTED + TRANSACTION_READ_COMMITTED + TRANSACTION_REPEATABLE_READ + TRANSACTION_SERIALIZABLE + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="TRANSACTION_READ_UNCOMMITTED"/> + <xsd:enumeration value="TRANSACTION_READ_COMMITTED"/> + <xsd:enumeration value="TRANSACTION_REPEATABLE_READ"/> + <xsd:enumeration value="TRANSACTION_SERIALIZABLE"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="java-typeType"> + <xsd:annotation> + <xsd:documentation> + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Z}]*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jdbc-urlType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The jdbc-urlType contains the url pattern of the mapping. + It must follow the rules specified in Section 9.3 of the + JDBC Specification where the format is: + + jdbc:<subprotocol>:<subname> + + Example: + + <url>jdbc:mysql://localhost:3307/testdb</url> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="jdbc:(.*):(.*)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="homeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The homeType defines the fully-qualified name of + an enterprise bean's home interface. + + Example: + + <home>com.aardvark.payroll.PayrollHome</home> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="lifecycle-callbackType"> + <xsd:annotation> + <xsd:documentation> + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="lifecycle-callback-class" + type="javaee:fully-qualified-classType" + minOccurs="0"/> + <xsd:element name="lifecycle-callback-method" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="listenerType"> + <xsd:annotation> + <xsd:documentation> + + The listenerType indicates the deployment properties for a web + application listener bean. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="listener-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="localType"> + <xsd:annotation> + <xsd:documentation> + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="local-homeType"> + <xsd:annotation> + <xsd:documentation> + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="param-valueType"> + <xsd:annotation> + <xsd:documentation> + + This type is a general type that can be used to declare + parameter/value lists. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="param-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The param-name element contains the name of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="param-value" + type="javaee:xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + The param-value element contains the value of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="pathType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment 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:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The persistence-context-ref element contains a declaration + of Deployment Component's reference to a persistence context + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence context reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - an optional specification as to whether + the persistence context type is Transaction or + Extended. If not specified, Transaction is assumed. + - an optional list of persistence properties + - optional injection targets + + Examples: + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + </persistence-context-ref> + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + <persistence-context-type>Extended</persistence-context-type> + </persistence-context-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-context-type" + type="javaee:persistence-context-typeType" + minOccurs="0"/> + <xsd:element name="persistence-property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceBaseGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-typeType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Transaction"/> + <xsd:enumeration value="Extended"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="propertyType"> + <xsd:annotation> + <xsd:documentation> + + Specifies a name/value pair. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="name" + type="javaee:xsdStringType"> + </xsd:element> + <xsd:element name="value" + type="javaee:xsdStringType"> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-unit-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The persistence-unit-ref element contains a declaration + of Deployment Component's reference to a persistence unit + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence unit reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - optional injection targets + + Examples: + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + </persistence-unit-ref> + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + </persistence-unit-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceBaseGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="remoteType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The remote element contains the fully-qualified name + of the enterprise bean's remote interface. + + Example: + + <remote>com.wombat.empl.EmployeeService</remote> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="resource-env-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The resource-env-refType is used to define + resource-env-ref elements. It contains a declaration of a + Deployment Component's reference to an administered object + associated with a resource in the Deployment Component's + environment. It consists of an optional description, the + resource environment reference name, and an optional + indication of the resource environment reference type + expected by the Deployment Component code. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The resource environment type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-env-ref> + <resource-env-ref-name>jms/StockQueue + </resource-env-ref-name> + <resource-env-ref-type>javax.jms.Queue + </resource-env-ref-type> + </resource-env-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-env-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="resource-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The resource-refType contains a declaration of a + Deployment Component's reference to an external resource. It + consists of an optional description, the resource manager + connection factory reference name, an optional indication of + the resource manager connection factory type expected by the + Deployment Component code, an optional type of authentication + (Application or Container), and an optional specification of + the shareability of connections obtained from the resource + (Shareable or Unshareable). + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The connection factory type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-ref> + <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> + <res-type>javax.sql.DataSource</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="res-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="res-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="res-auth" + type="javaee:res-authType" + minOccurs="0"/> + <xsd:element name="res-sharing-scope" + type="javaee:res-sharing-scopeType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="res-authType"> + <xsd:annotation> + <xsd:documentation> + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Application"/> + <xsd:enumeration value="Container"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="res-sharing-scopeType"> + <xsd:annotation> + <xsd:documentation> + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Shareable"/> + <xsd:enumeration value="Unshareable"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="run-asType"> + <xsd:annotation> + <xsd:documentation> + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-roleType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The security-roleType contains the definition of a security + role. The definition consists of an optional description of + the security role, and the security role name. + + Example: + + <security-role> + <description> + This role includes all employees who are authorized + to access the employee service application. + </description> + <role-name>employee</role-name> + </security-role> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-role-refType"> + <xsd:annotation> + <xsd:documentation> + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="role-link" + type="javaee:role-nameType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdQNameType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:QName. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:QName"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdBooleanType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:boolean. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:boolean"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNMTOKENType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:NMTOKEN"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdAnyURIType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:anyURI. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:integer. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:integer"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdPositiveIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:positiveInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNonNegativeIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:nonNegativeInteger"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:string. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="string"> + <xsd:annotation> + <xsd:documentation> + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="true-falseType"> + <xsd:annotation> + <xsd:documentation> + + This simple type designates a boolean with only two + permissible values + + - true + - false + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:xsdBooleanType"> + <xsd:pattern value="(true|false)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="url-patternType"> + <xsd:annotation> + <xsd:documentation> + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destinationType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destinationType specifies a message + destination. The logical destination described by this + element is mapped to a physical destination by the Deployer. + + The message destination element contains: + + - an optional description + - an optional display-name + - an optional icon + - a message destination name which must be unique + among message destination names within the same + Deployment File. + - an optional mapped name + - an optional lookup name + + Example: + + <message-destination> + <message-destination-name>CorporateStocks + </message-destination-name> + </message-destination> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="message-destination-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + A product specific name that this message destination + should be mapped to. Each message-destination-ref + element that references this message destination will + define a name in the namespace of the referencing + component or in one of the other predefined namespaces. + Many application servers provide a way to map these + local names to names of resources known to the + application server. This mapped name is often a global + JNDI name, but may be a name of any form. Each of the + local names should be mapped to this same global name. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="lookup-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The JNDI name to be looked up to resolve the message destination. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destination-ref element contains a declaration + of Deployment Component's reference to a message destination + associated with a resource in Deployment Component's + environment. It consists of: + + - an optional description + - the message destination reference name + - an optional message destination type + - an optional specification as to whether + the destination is used for + consuming or producing messages, or both. + if not specified, "both" is assumed. + - an optional link to the message destination + - optional injection targets + + The message destination type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Examples: + + <message-destination-ref> + <message-destination-ref-name>jms/StockQueue + </message-destination-ref-name> + <message-destination-type>javax.jms.Queue + </message-destination-type> + <message-destination-usage>Consumes + </message-destination-usage> + <message-destination-link>CorporateStocks + </message-destination-link> + </message-destination-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 + Deployment Component code. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="message-destination-type" + type="javaee:message-destination-typeType" + minOccurs="0"/> + <xsd:element name="message-destination-usage" + type="javaee:message-destination-usageType" + minOccurs="0"/> + <xsd:element name="message-destination-link" + type="javaee:message-destination-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-usageType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Consumes"/> + <xsd:enumeration value="Produces"/> + <xsd:enumeration value="ConsumesProduces"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-typeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destination-typeType specifies the type of + the destination. The type is specified by the Java interface + expected to be implemented by the destination. + + Example: + + <message-destination-type>javax.jms.Queue + </message-destination-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-linkType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_7.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_7.xsd new file mode 100644 index 0000000..f9fdb31 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_7.xsd
@@ -0,0 +1,3098 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="7"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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> + + The following definitions that appear in the common + shareable schema(s) of Java EE deployment descriptors should be + interpreted with respect to the context they are included: + + Deployment Component may indicate one of the following: + java ee application; + application client; + web application; + enterprise bean; + resource adapter; + + Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + + </xsd:documentation> + </xsd:annotation> + + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xsd:include schemaLocation="javaee_web_services_client_1_4.xsd"/> + + <xsd:group name="descriptionGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + <xsd:group name="jndiEnvironmentRefsGroup"> + <xsd:annotation> + <xsd:documentation> + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="env-entry" + type="javaee:env-entryType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref" + type="javaee:ejb-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-local-ref" + type="javaee:ejb-local-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:group ref="javaee:service-refGroup"/> + <xsd:element name="resource-ref" + type="javaee:resource-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref" + type="javaee:resource-env-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref" + type="javaee:message-destination-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref" + type="javaee:persistence-context-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref" + type="javaee:persistence-unit-refType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="post-construct" + type="javaee:lifecycle-callbackType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="pre-destroy" + type="javaee:lifecycle-callbackType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="data-source" + type="javaee:data-sourceType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="jms-connection-factory" + type="javaee:jms-connection-factoryType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="jms-destination" + type="javaee:jms-destinationType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="mail-session" + type="javaee:mail-sessionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="connection-factory" + type="javaee:connection-factory-resourceType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="administered-object" + type="javaee:administered-objectType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + <xsd:group name="resourceGroup"> + <xsd:annotation> + <xsd:documentation> + + This group collects elements that are common to most + JNDI resource elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:resourceBaseGroup"/> + <xsd:element name="lookup-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The JNDI name to be looked up to resolve a resource reference. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:group> + + <xsd:group name="resourceBaseGroup"> + <xsd:annotation> + <xsd:documentation> + + This group collects elements that are common to all the + JNDI resource elements. It does not include the lookup-name + element, that is only applicable to some resource elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + A product specific name that this resource should be + mapped to. The name of this resource, as defined by the + resource's name element or defaulted, is a name that is + local to the application component using the resource. + (It's a name in the JNDI java:comp/env namespace.) Many + application servers provide a way to map these local + names to names of resources known to the application + server. This mapped name is often a global JNDI name, + but may be a name of any form. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="injection-target" + type="javaee:injection-targetType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:group> + + +<!-- **************************************************** --> + + <xsd:complexType name="administered-objectType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of an administered object. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this administered object. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + administered object being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="interface-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The administered object's interface type. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="class-name" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The administered object's class name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-adapter" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Resource adapter name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Property of the administered object property. This may be a + vendor-specific property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="connection-factory-resourceType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a Connector Connection Factory resource. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this resource. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + resource being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="interface-name" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The fully qualified class name of the connection factory + interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-adapter" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Resource adapter name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="min-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transaction-support" + type="javaee:transaction-supportType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The level of transaction support the connection factory + needs to support. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Resource property. This may be a vendor-specific + property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="data-sourceType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a DataSource. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this DataSource. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + data source being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="class-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + DataSource, XADataSource or ConnectionPoolDataSource + implementation class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="server-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Database server name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-number" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Port number where a server is listening for requests. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="database-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Name of a database on a server. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="url" + type="javaee:jdbc-urlType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + A JDBC URL. If the <code>url</code> property is specified + along with other standard <code>DataSource</code> properties + such as <code>serverName</code>, <code>databaseName</code> + and <code>portNumber</code>, the more specific properties will + take precedence and <code>url</code> will be ignored. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="user" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + User name to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="password" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Password to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + JDBC DataSource property. This may be a vendor-specific + property or a less commonly used DataSource property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="login-timeout" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Sets the maximum time in seconds that this data source + will wait while attempting to connect to a database. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transactional" + type="javaee:xsdBooleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Set to false if connections should not participate in + transactions. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="isolation-level" + type="javaee:isolation-levelType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Isolation level for connections. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="initial-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Number of connections that should be created when a + connection pool is initialized. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="min-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-idle-time" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The number of seconds that a physical connection should + remain unused in the pool before the connection is + closed for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-statements" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The total number of statements that a connection pool + should keep open. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:xsdStringType"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + <xsd:simpleType name="dewey-versionType"> + <xsd:annotation> + <xsd:documentation> + + This type defines a dewey decimal that is used + to describe versions of documents. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="display-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The display-name type contains a short name that is intended + to be displayed by tools. It is used by display-name + elements. The display name need not be unique. + + Example: + + ... + <display-name xml:lang="en"> + Employee Self Service + </display-name> + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:string"> + <xsd:attribute ref="xml:lang"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The ejb-linkType is used by ejb-link + elements in the ejb-ref or ejb-local-ref elements to specify + that an EJB reference is linked to enterprise bean. + + The value of the ejb-link element must be the ejb-name of an + enterprise bean in the same ejb-jar file or in another ejb-jar + file in the same Java EE application unit. + + Alternatively, the name in the ejb-link element may be + composed of a path name specifying the ejb-jar containing the + referenced enterprise bean with the ejb-name of the target + bean appended and separated from the path name by "#". The + path name is relative to the Deployment File containing + Deployment Component that is referencing the enterprise + bean. This allows multiple enterprise beans with the same + ejb-name to be uniquely identified. + + Examples: + + <ejb-link>EmployeeRecord</ejb-link> + + <ejb-link>../products/product.jar#ProductEJB</ejb-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-local-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="local-home" + type="javaee:local-homeType" + minOccurs="0"/> + <xsd:element name="local" + type="javaee:localType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + Deployment Component's environment and is relative to the + java:comp/env context. The name must be unique within the + Deployment Component. + + It is recommended that name is prefixed with "ejb/". + + Example: + + <ejb-ref-name>ejb/Payroll</ejb-ref-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:jndi-nameType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-refType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="ejb-ref-name" + type="javaee:ejb-ref-nameType"/> + <xsd:element name="ejb-ref-type" + type="javaee:ejb-ref-typeType" + minOccurs="0"/> + <xsd:element name="home" + type="javaee:homeType" + minOccurs="0"/> + <xsd:element name="remote" + type="javaee:remoteType" + minOccurs="0"/> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="ejb-ref-typeType"> + <xsd:annotation> + <xsd:documentation> + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Entity"/> + <xsd:enumeration value="Session"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="emptyType"> + <xsd:annotation> + <xsd:documentation> + + This type is used to designate an empty + element when used. + + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="env-entryType"> + <xsd:annotation> + <xsd:documentation> + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="env-entry-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-name element contains the name of a + Deployment Component's environment entry. The name + is a JNDI name relative to the java:comp/env + context. The name must be unique within a + Deployment Component. The uniqueness + constraints must be defined within the declared + context. + + Example: + + <env-entry-name>minAmount</env-entry-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="env-entry-type" + type="javaee:env-entry-type-valuesType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-type element contains the Java language + type of the environment entry. If an injection target + is specified for the environment entry, the type may + be omitted, or must match the type of the injection + target. If no injection target is specified, the type + is required. + + Example: + + <env-entry-type>java.lang.Integer</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="env-entry-value" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The env-entry-value designates the value of a + Deployment Component's environment entry. The value + must be a String that is valid for the + constructor of the specified type that takes a + single String parameter, or for java.lang.Character, + a single character. + + Example: + + <env-entry-value>100.00</env-entry-value> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="env-entry-type-valuesType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + This type contains the fully-qualified Java type of the + environment entry value that is expected by the + application's code. + + The following are the legal values of env-entry-type-valuesType: + + java.lang.Boolean + java.lang.Byte + java.lang.Character + java.lang.String + java.lang.Short + java.lang.Integer + java.lang.Long + java.lang.Float + java.lang.Double + java.lang.Class + any enumeration type (i.e. a subclass of java.lang.Enum) + + Examples: + + <env-entry-type>java.lang.Boolean</env-entry-type> + <env-entry-type>java.lang.Class</env-entry-type> + <env-entry-type>com.example.Color</env-entry-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="generic-booleanType"> + <xsd:annotation> + <xsd:documentation> + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="true"/> + <xsd:enumeration value="false"/> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="iconType"> + <xsd:annotation> + <xsd:documentation> + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="small-icon" + type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The small-icon element contains the name of a file + containing a small (16 x 16) icon image. The file + name is a relative path within the Deployment + Component's Deployment File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <small-icon>employee-service-icon16x16.jpg</small-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="large-icon" + type="javaee:pathType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The large-icon element contains the name of a file + containing a large + (32 x 32) icon image. The file name is a relative + path within the Deployment Component's Deployment + File. + + The image may be in the GIF, JPEG, or PNG format. + The icon can be used by tools. + + Example: + + <large-icon>employee-service-icon32x32.jpg</large-icon> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute ref="xml:lang"/> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="injection-targetType"> + <xsd:annotation> + <xsd:documentation> + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="injection-target-class" + type="javaee:fully-qualified-classType"/> + <xsd:element name="injection-target-name" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:simpleType name="isolation-levelType"> + <xsd:annotation> + <xsd:documentation> + + The following transaction isolation levels are allowed + (see documentation for the java.sql.Connection interface): + TRANSACTION_READ_UNCOMMITTED + TRANSACTION_READ_COMMITTED + TRANSACTION_REPEATABLE_READ + TRANSACTION_SERIALIZABLE + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="TRANSACTION_READ_UNCOMMITTED"/> + <xsd:enumeration value="TRANSACTION_READ_COMMITTED"/> + <xsd:enumeration value="TRANSACTION_REPEATABLE_READ"/> + <xsd:enumeration value="TRANSACTION_SERIALIZABLE"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="java-identifierType"> + <xsd:annotation> + <xsd:documentation> + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="java-typeType"> + <xsd:annotation> + <xsd:documentation> + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Z}]*"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jdbc-urlType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The jdbc-urlType contains the url pattern of the mapping. + It must follow the rules specified in Section 9.3 of the + JDBC Specification where the format is: + + jdbc:<subprotocol>:<subname> + + Example: + + <url>jdbc:mysql://localhost:3307/testdb</url> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="jdbc:(.*):(.*)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jms-connection-factoryType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a JMS Connection Factory. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this JMS Connection Factory. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + JMS connection factory being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="interface-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Fully-qualified name of the JMS connection factory + interface. Permitted values are javax.jms.ConnectionFactory, + javax.jms.QueueConnectionFactory, or + javax.jms.TopicConnectionFactory. If not specified, + javax.jms.ConnectionFactory will be used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="class-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Fully-qualified name of the JMS connection factory + implementation class. Ignored if a resource adapter + is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-adapter" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Resource adapter name. If not specified, the application + server will define the default behavior, which may or may + not involve the use of a resource adapter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="user" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + User name to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="password" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Password to use for connection authentication. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="client-id" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Client id to use for connection. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + JMS Connection Factory property. This may be a vendor-specific + property or a less commonly used ConnectionFactory property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transactional" + type="javaee:xsdBooleanType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Set to false if connections should not participate in + transactions. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="min-pool-size" + type="javaee:xsdIntegerType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jms-destinationType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a JMS Destination. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this JMS Destination. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + JMS destination being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="interface-name" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Fully-qualified name of the JMS destination interface. + Permitted values are javax.jms.Queue and javax.jms.Topic + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="class-name" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Fully-qualified name of the JMS destination implementation + class. Ignored if a resource adapter is used unless the + resource adapter defines more than one destination implementation + class for the specified interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-adapter" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Resource adapter name. If not specified, the application + server will define the default behavior, which may or may + not involve the use of a resource adapter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="destination-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Name of the queue or topic. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + JMS Destination property. This may be a vendor-specific + property or a less commonly used Destination property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="homeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The homeType defines the fully-qualified name of + an enterprise bean's home interface. + + Example: + + <home>com.aardvark.payroll.PayrollHome</home> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="lifecycle-callbackType"> + <xsd:annotation> + <xsd:documentation> + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="lifecycle-callback-class" + type="javaee:fully-qualified-classType" + minOccurs="0"/> + <xsd:element name="lifecycle-callback-method" + type="javaee:java-identifierType"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="listenerType"> + <xsd:annotation> + <xsd:documentation> + + The listenerType indicates the deployment properties for a web + application listener bean. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="listener-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="localType"> + <xsd:annotation> + <xsd:documentation> + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="local-homeType"> + <xsd:annotation> + <xsd:documentation> + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="mail-sessionType"> + <xsd:annotation> + <xsd:documentation> + + Configuration of a Mail Session resource. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Description of this Mail Session resource. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The name element specifies the JNDI name of the + Mail Session resource being defined. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="store-protocol" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Storage protocol. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="store-protocol-class" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Service provider store protocol implementation class + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transport-protocol" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Transport protocol. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="transport-protocol-class" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Service provider transport protocol implementation class + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="host" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Mail server host name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="user" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Mail server user name. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="password" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Password. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="from" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Email address to indicate the message sender. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Mail server property. This may be a vendor-specific + property. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="param-valueType"> + <xsd:annotation> + <xsd:documentation> + + This type is a general type that can be used to declare + parameter/value lists. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="param-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The param-name element contains the name of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="param-value" + type="javaee:xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + The param-value element contains the value of a + parameter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="pathType"> + <xsd:annotation> + <xsd:documentation> + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment 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:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The persistence-context-ref element contains a declaration + of Deployment Component's reference to a persistence context + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence context reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - an optional specification as to whether + the persistence context type is Transaction or + Extended. If not specified, Transaction is assumed. + - an optional specification as to whether + the persistence context synchronization with the current + transaction is Synchronized or Unsynchronized. If not + specified, Synchronized is assumed. + - an optional list of persistence properties + - optional injection targets + + Examples: + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + </persistence-context-ref> + + <persistence-context-ref> + <persistence-context-ref-name>myPersistenceContext + </persistence-context-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + <persistence-context-type>Extended</persistence-context-type> + </persistence-context-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-context-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-context-type" + type="javaee:persistence-context-typeType" + minOccurs="0"/> + <xsd:element name="persistence-context-synchronization" + type="javaee:persistence-context-synchronizationType" + minOccurs="0"/> + <xsd:element name="persistence-property" + type="javaee:propertyType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceBaseGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-synchronizationType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-synchronizationType specifies + whether a container-managed persistence context is automatically + synchronized with the current transaction. + + The value of the persistence-context-synchronization element + must be one of the following: + Synchronized + Unsynchronized + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Synchronized"/> + <xsd:enumeration value="Unsynchronized"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-context-typeType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Transaction"/> + <xsd:enumeration value="Extended"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="propertyType"> + <xsd:annotation> + <xsd:documentation> + + Specifies a name/value pair. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="name" + type="javaee:xsdStringType"> + </xsd:element> + <xsd:element name="value" + type="javaee:xsdStringType"> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="persistence-unit-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The persistence-unit-ref element contains a declaration + of Deployment Component's reference to a persistence unit + associated within a Deployment Component's + environment. It consists of: + + - an optional description + - the persistence unit reference name + - an optional persistence unit name. If not specified, + the default persistence unit is assumed. + - optional injection targets + + Examples: + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + </persistence-unit-ref> + + <persistence-unit-ref> + <persistence-unit-ref-name>myPersistenceUnit + </persistence-unit-ref-name> + <persistence-unit-name>PersistenceUnit1 + </persistence-unit-name> + </persistence-unit-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="persistence-unit-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="persistence-unit-name" + type="javaee:string" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceBaseGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="remoteType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The remote element contains the fully-qualified name + of the enterprise bean's remote interface. + + Example: + + <remote>com.wombat.empl.EmployeeService</remote> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="resource-env-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The resource-env-refType is used to define + resource-env-ref elements. It contains a declaration of a + Deployment Component's reference to an administered object + associated with a resource in the Deployment Component's + environment. It consists of an optional description, the + resource environment reference name, and an optional + indication of the resource environment reference type + expected by the Deployment Component code. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The resource environment type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-env-ref> + <resource-env-ref-name>jms/StockQueue + </resource-env-ref-name> + <resource-env-ref-type>javax.jms.Queue + </resource-env-ref-type> + </resource-env-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="resource-env-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="resource-env-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="resource-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The resource-refType contains a declaration of a + Deployment Component's reference to an external resource. It + consists of an optional description, the resource manager + connection factory reference name, an optional indication of + the resource manager connection factory type expected by the + Deployment Component code, an optional type of authentication + (Application or Container), and an optional specification of + the shareability of connections obtained from the resource + (Shareable or Unshareable). + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + The connection factory type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Example: + + <resource-ref> + <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> + <res-type>javax.sql.DataSource</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="res-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="res-type" + type="javaee:fully-qualified-classType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="res-auth" + type="javaee:res-authType" + minOccurs="0"/> + <xsd:element name="res-sharing-scope" + type="javaee:res-sharing-scopeType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="res-authType"> + <xsd:annotation> + <xsd:documentation> + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Application"/> + <xsd:enumeration value="Container"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="res-sharing-scopeType"> + <xsd:annotation> + <xsd:documentation> + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Shareable"/> + <xsd:enumeration value="Unshareable"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="run-asType"> + <xsd:annotation> + <xsd:documentation> + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-roleType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The security-roleType contains the definition of a security + role. The definition consists of an optional description of + the security role, and the security role name. + + Example: + + <security-role> + <description> + This role includes all employees who are authorized + to access the employee service application. + </description> + <role-name>employee</role-name> + </security-role> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-role-refType"> + <xsd:annotation> + <xsd:documentation> + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType"> + <xsd:annotation> + <xsd:documentation> + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="role-link" + type="javaee:role-nameType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdQNameType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:QName. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:QName"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdBooleanType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:boolean. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:boolean"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNMTOKENType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:NMTOKEN. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:NMTOKEN"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdAnyURIType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:anyURI. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:integer. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:integer"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdPositiveIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:positiveInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdNonNegativeIntegerType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:nonNegativeInteger"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="xsdStringType"> + <xsd:annotation> + <xsd:documentation> + + This type adds an "id" attribute to xsd:string. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="string"> + <xsd:annotation> + <xsd:documentation> + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="true-falseType"> + <xsd:annotation> + <xsd:documentation> + + This simple type designates a boolean with only two + permissible values + + - true + - false + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:xsdBooleanType"> + <xsd:pattern value="(true|false)"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="url-patternType"> + <xsd:annotation> + <xsd:documentation> + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destinationType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destinationType specifies a message + destination. The logical destination described by this + element is mapped to a physical destination by the Deployer. + + The message destination element contains: + + - an optional description + - an optional display-name + - an optional icon + - a message destination name which must be unique + among message destination names within the same + Deployment File. + - an optional mapped name + - an optional lookup name + + Example: + + <message-destination> + <message-destination-name>CorporateStocks + </message-destination-name> + </message-destination> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="message-destination-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mapped-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + A product specific name that this message destination + should be mapped to. Each message-destination-ref + element that references this message destination will + define a name in the namespace of the referencing + component or in one of the other predefined namespaces. + Many application servers provide a way to map these + local names to names of resources known to the + application server. This mapped name is often a global + JNDI name, but may be a name of any form. Each of the + local names should be mapped to this same global name. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="lookup-name" + type="javaee:xsdStringType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + The JNDI name to be looked up to resolve the message destination. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-refType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destination-ref element contains a declaration + of Deployment Component's reference to a message destination + associated with a resource in Deployment Component's + environment. It consists of: + + - an optional description + - the message destination reference name + - an optional message destination type + - an optional specification as to whether + the destination is used for + consuming or producing messages, or both. + if not specified, "both" is assumed. + - an optional link to the message destination + - optional injection targets + + The message destination type must be supplied unless an + injection target is specified, in which case the type + of the target is used. If both are specified, the type + must be assignment compatible with the type of the injection + target. + + Examples: + + <message-destination-ref> + <message-destination-ref-name>jms/StockQueue + </message-destination-ref-name> + <message-destination-type>javax.jms.Queue + </message-destination-type> + <message-destination-usage>Consumes + </message-destination-usage> + <message-destination-link>CorporateStocks + </message-destination-link> + </message-destination-ref> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="message-destination-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <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 + Deployment Component code. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="message-destination-type" + type="javaee:message-destination-typeType" + minOccurs="0"/> + <xsd:element name="message-destination-usage" + type="javaee:message-destination-usageType" + minOccurs="0"/> + <xsd:element name="message-destination-link" + type="javaee:message-destination-linkType" + minOccurs="0"/> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-usageType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="Consumes"/> + <xsd:enumeration value="Produces"/> + <xsd:enumeration value="ConsumesProduces"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-typeType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The message-destination-typeType specifies the type of + the destination. The type is specified by the Java interface + expected to be implemented by the destination. + + Example: + + <message-destination-type>javax.jms.Queue + </message-destination-type> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:fully-qualified-classType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="message-destination-linkType"> + <xsd:annotation> + <xsd:documentation> + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="transaction-supportType"> + <xsd:annotation> + <xsd:documentation> + + The transaction-supportType specifies the level of + transaction support provided by the resource adapter. It is + used by transaction-support elements. + + The value must be one of the following: + + NoTransaction + LocalTransaction + XATransaction + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="NoTransaction"/> + <xsd:enumeration value="LocalTransaction"/> + <xsd:enumeration value="XATransaction"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_2.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_2.xsd new file mode 100644 index 0000000..a0aa420 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_2.xsd
@@ -0,0 +1,754 @@ +<?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="1.2"> + <xsd:annotation> + <xsd:documentation> + @(#)javaee_web_services_1_2.xsds 1.18 02/13/06 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2005 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application + Server and the dependencies they have on container resources and + services. The deployment descriptor must be named + "META-INF/webservices.xml" in the web services' jar file. + + Used in: webservices.xml + + All webservices deployment descriptors must indicate the + webservices 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: + + <webservices xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd" + version="1.2"> + ... + </webservices> + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd + + ]]> + </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_5.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="webservices" type="javaee:webservicesType"> + <xsd:annotation> + <xsd:documentation> + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + </xsd:documentation> + </xsd:annotation> + + <xsd:key name="webservice-description-name-key"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:webservice-description"/> + <xsd:field xpath="javaee:webservice-description-name"/> + </xsd:key> + </xsd:element> + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="service-name-pattern" + type="javaee:qname-pattern" /> + <xsd:element name="port-name-pattern" + type="javaee:qname-pattern" /> + <xsd:element name="protocol-bindings" + type="javaee:protocol-bindingListType"/> + </xsd:choice> + + <xsd:element name="handler" + type="javaee:port-component_handlerType" + minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainsType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chains element defines the handlerchains associated + with this service or service endpoint. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="handler-chain" + type="javaee:handler-chainType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="port-componentType"> + <xsd:annotation> + <xsd:documentation> + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="port-component-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The port-component-name element specifies a port component's + name. This name is assigned by the module producer to name + the service implementation bean in the module's deployment + descriptor. The name must be unique among the port component + names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-service" + type="javaee:xsdQNameType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-port" + type="javaee:xsdQNameType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="protocol-binding" + type="javaee:protocol-bindingType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The service-endpoint-interface element contains the + fully-qualified name of the port component's Service Endpoint + Interface. + + Used in: port-component + + Example: + <remote>com.wombat.empl.EmployeeService</remote> + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-impl-bean" + type="javaee:service-impl-beanType"/> + + <xsd:choice> + <xsd:element name="handler" + type="javaee:port-component_handlerType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + To be used with JAX-RPC based runtime only. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:handler-chainsType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + To be used with JAX-WS based runtime only. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="port-component_handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="handler-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique within the + module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="javaee:param-valueType" + minOccurs="0" maxOccurs="unbounded"/> + + <xsd:element name="soap-header" + type="javaee:xsdQNameType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed by the + handler. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-role" + type="javaee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:simpleType name="protocol-URIAliasType"> + <xsd:annotation> + <xsd:documentation> + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="##.+"/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="protocol-bindingListType"> + <xsd:annotation> + <xsd:documentation> + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + </xsd:documentation> + </xsd:annotation> + <xsd:list itemType="javaee:protocol-bindingType"/> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="protocol-bindingType"> + <xsd:annotation> + <xsd:documentation> + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + </xsd:documentation> + </xsd:annotation> + <xsd:union memberTypes="xsd:anyURI javaee:protocol-URIAliasType"/> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="qname-pattern"> + <xsd:annotation> + <xsd:documentation> + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + </xsd:documentation> + </xsd:annotation> + + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/> + </xsd:restriction> + + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-impl-beanType"> + <xsd:annotation> + <xsd:documentation> + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:choice> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType"/> + <xsd:element name="servlet-link" + type="javaee:servlet-linkType"/> + </xsd:choice> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="servlet-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The servlet-link element is used in the service-impl-bean element + to specify that a Service Implementation Bean is defined as a + JAX-RPC Service Endpoint. + + The value of the servlet-link element must be the servlet-name of + a JAX-RPC Service Endpoint in the same WAR file. + + Used in: service-impl-bean + + Example: + <servlet-link>StockQuoteService</servlet-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="webservice-descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" maxOccurs="1"/> + <xsd:element name="webservice-description-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="javaee:pathType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component" + type="javaee:port-componentType" + minOccurs="1" maxOccurs="unbounded"> + <xsd:key name="port-component_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="webservicesType"> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="webservice-description" + type="javaee:webservice-descriptionType" + minOccurs="1" maxOccurs="unbounded"> + <xsd:key name="port-component-name-key"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[ + + The port-component-name element specifies a port + component's name. This name is assigned by the module + producer to name the service implementation bean in the + module's deployment descriptor. The name must be unique + among the port component names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:port-component"/> + <xsd:field xpath="javaee:port-component-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + + <xsd:attribute name="version" + type="javaee:dewey-versionType" + fixed="1.2" + use="required"> + <xsd:annotation> + <xsd:documentation> + + The required value for the version is 1.2. + + </xsd:documentation> + </xsd:annotation> + </xsd:attribute> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_3.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_3.xsd new file mode 100644 index 0000000..ada1a2d --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_3.xsd
@@ -0,0 +1,580 @@ +<?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="1.3"> + <xsd:annotation> + <xsd:documentation> + + $Id: javaee_web_services_1_3.xsd,v 1.1.2.1 2011/03/23 09:21:12 hmalphett Exp $ + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> +<![CDATA[[ + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application + Server and the dependencies they have on container resources and + services. The deployment descriptor must be named + "META-INF/webservices.xml" in the web services' jar file. + + Used in: webservices.xml + + All webservices deployment descriptors must indicate the + webservices 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: + + <webservices xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd" + version="1.3"> + ... + </webservices> + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd + +]]> + </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:element name="webservices" + type="javaee:webservicesType"> + <xsd:annotation> + <xsd:documentation> + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + </xsd:documentation> + </xsd:annotation> + <xsd:key name="webservice-description-name-key"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:webservice-description"/> + <xsd:field xpath="javaee:webservice-description-name"/> + </xsd:key> + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-componentType"> + <xsd:annotation> + <xsd:documentation> + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="port-component-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> +<![CDATA[[ + The port-component-name element specifies a port component's + name. This name is assigned by the module producer to name + the service implementation bean in the module's deployment + descriptor. The name must be unique among the port component + names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + +]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-service" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-port" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mtom-threshold" + type="javaee:xsdNonNegativeIntegerType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + When MTOM is enabled, binary data above this size in bytes + will be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="addressing" + type="javaee:addressingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="respect-binding" + type="javaee:respect-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="protocol-binding" + type="javaee:protocol-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> +<![CDATA[[ + The service-endpoint-interface element contains the + fully-qualified name of the port component's Service Endpoint + Interface. + + Used in: port-component + + Example: + <remote>com.wombat.empl.EmployeeService</remote> + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + +]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-impl-bean" + type="javaee:service-impl-beanType"/> + <xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-RPC based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:handler-chainsType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-WS based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="service-impl-beanType"> + <xsd:annotation> + <xsd:documentation> + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:choice> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType"/> + <xsd:element name="servlet-link" + type="javaee:servlet-linkType"/> + </xsd:choice> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="servlet-linkType"> + <xsd:annotation> + <xsd:documentation> +<![CDATA[[ + The servlet-link element is used in the service-impl-bean element + to specify that a Service Implementation Bean is defined as a + JAX-RPC Service Endpoint. + + The value of the servlet-link element must be the servlet-name of + a JAX-RPC Service Endpoint in the same WAR file. + + Used in: service-impl-bean + + Example: + <servlet-link>StockQuoteService</servlet-link> + +]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="webservice-descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="webservice-description-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component" + type="javaee:port-componentType" + minOccurs="1" + maxOccurs="unbounded"> + <xsd:key name="port-component_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="webservicesType"> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="webservice-description" + type="javaee:webservice-descriptionType" + minOccurs="1" + maxOccurs="unbounded"> + <xsd:key name="port-component-name-key"> + <xsd:annotation> + <xsd:documentation> +<![CDATA[[ + The port-component-name element specifies a port + component's name. This name is assigned by the module + producer to name the service implementation bean in the + module's deployment descriptor. The name must be unique + among the port component names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + + +]]> + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:port-component"/> + <xsd:field xpath="javaee:port-component-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="version" + type="javaee:dewey-versionType" + fixed="1.3" + use="required"> + <xsd:annotation> + <xsd:documentation> + + The required value for the version is 1.3. + + </xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_4.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_4.xsd new file mode 100644 index 0000000..577b2db --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_1_4.xsd
@@ -0,0 +1,572 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.4"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application + Server and the dependencies they have on container resources and + services. The deployment descriptor must be named + "META-INF/webservices.xml" in the web services' jar file. + + Used in: webservices.xml + + All webservices deployment descriptors must indicate the + webservices schema by using the Java EE namespace: + + http://xmlns.jcp.org/xml/ns/javaee + + and by indicating the version of the schema by using the version + element as shown below: + + <webservices xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee + http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_4.xsd" + version="1.4"> + ... + </webservices> + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_4.xsd + + ]]> + </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_7.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="webservices" + type="javaee:webservicesType"> + <xsd:annotation> + <xsd:documentation> + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + </xsd:documentation> + </xsd:annotation> + <xsd:key name="webservice-description-name-key"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:webservice-description"/> + <xsd:field xpath="javaee:webservice-description-name"/> + </xsd:key> + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-componentType"> + <xsd:annotation> + <xsd:documentation> + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="port-component-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The port-component-name element specifies a port component's + name. This name is assigned by the module producer to name + the service implementation bean in the module's deployment + descriptor. The name must be unique among the port component + names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-service" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-port" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mtom-threshold" + type="javaee:xsdNonNegativeIntegerType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + When MTOM is enabled, binary data above this size in bytes + will be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="addressing" + type="javaee:addressingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="respect-binding" + type="javaee:respect-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="protocol-binding" + type="javaee:protocol-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The service-endpoint-interface element contains the + fully-qualified name of the port component's Service Endpoint + Interface. + + Used in: port-component + + Example: + <remote>com.wombat.empl.EmployeeService</remote> + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + + ]]> + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-impl-bean" + type="javaee:service-impl-beanType"/> + <xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-RPC based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:handler-chainsType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-WS based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="service-impl-beanType"> + <xsd:annotation> + <xsd:documentation> + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + </xsd:documentation> + </xsd:annotation> + <xsd:choice> + <xsd:element name="ejb-link" + type="javaee:ejb-linkType"/> + <xsd:element name="servlet-link" + type="javaee:servlet-linkType"/> + </xsd:choice> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="servlet-linkType"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The servlet-link element is used in the service-impl-bean element + to specify that a Service Implementation Bean is defined as a + JAX-RPC Service Endpoint. + + The value of the servlet-link element must be the servlet-name of + a JAX-RPC Service Endpoint in the same WAR file. + + Used in: service-impl-bean + + Example: + <servlet-link>StockQuoteService</servlet-link> + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="webservice-descriptionType"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="display-name" + type="javaee:display-nameType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="icon" + type="javaee:iconType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="webservice-description-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component" + type="javaee:port-componentType" + minOccurs="1" + maxOccurs="unbounded"> + <xsd:key name="port-component_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="webservicesType"> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="webservice-description" + type="javaee:webservice-descriptionType" + minOccurs="1" + maxOccurs="unbounded"> + <xsd:key name="port-component-name-key"> + <xsd:annotation> + <xsd:documentation> + <![CDATA[[ + The port-component-name element specifies a port + component's name. This name is assigned by the module + producer to name the service implementation bean in the + module's deployment descriptor. The name must be unique + among the port component names defined in the same module. + + Used in: port-component + + Example: + <port-component-name>EmployeeService + </port-component-name> + + + + ]]> + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:port-component"/> + <xsd:field xpath="javaee:port-component-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="version" + type="javaee:dewey-versionType" + fixed="1.4" + use="required"> + <xsd:annotation> + <xsd:documentation> + + The required value for the version is 1.4. + + </xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_2.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_2.xsd new file mode 100644 index 0000000..3df0dd6 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_2.xsd
@@ -0,0 +1,578 @@ +<?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="1.2"> + <xsd:annotation> + <xsd:documentation> + @(#)javaee_web_services_client_1_2.xsds 1.19 02/13/06 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + Copyright 2003-2005 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, California 95054 + U.S.A + All rights reserved. + + 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. + + 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. + + Third-party software, including font technology, is + copyrighted and licensed from Sun suppliers. + + 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. + + Federal Acquisitions: Commercial Software - Government Users + Subject to Standard License Terms and Conditions. + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-component-refType"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-component-link" + type="javaee:string" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:group name="service-refGroup"> + <xsd:sequence> + <xsd:element name="service-ref" + type="javaee:service-refType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:key name="service-ref_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + </xsd:group> + +<!-- **************************************************** --> + + <xsd:complexType name="service-refType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="service-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="wsdl-file" + type="javaee:xsdAnyURIType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="service-qname" + type="javaee:xsdQNameType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-component-ref" + type="javaee:port-component-refType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:choice> + <xsd:element name="handler" + type="javaee:service-ref_handlerType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:service-ref_handler-chainsType" + minOccurs="0" maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + To be used with JAX-WS based runtime only. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + + <xsd:group ref="javaee:resourceGroup"/> + + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-ref_handler-chainType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="service-name-pattern" + type="javaee:service-ref_qname-pattern" /> + <xsd:element name="port-name-pattern" + type="javaee:service-ref_qname-pattern" /> + <xsd:element name="protocol-bindings" + type="javaee:service-ref_protocol-bindingListType"/> + </xsd:choice> + + <xsd:element name="handler" + type="javaee:service-ref_handlerType" + minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-ref_handler-chainsType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="handler-chain" + type="javaee:service-ref_handler-chainType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="service-ref_handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. If + port-name is not specified, the handler is assumed to be associated + with all ports of the service. + + Used in: service-ref + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="handler-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler + implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="javaee:param-valueType" + minOccurs="0" maxOccurs="unbounded"/> + + <xsd:element name="soap-header" + type="javaee:xsdQNameType" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed + by the handler. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="soap-role" + type="javaee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that + the Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="port-name" + type="javaee:string" + minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-name element defines the WSDL port-name that a + handler should be associated with. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:simpleType name="service-ref_protocol-URIAliasType"> + <xsd:annotation> + <xsd:documentation> + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="##.+"/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="service-ref_protocol-bindingListType"> + <xsd:annotation> + <xsd:documentation> + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + </xsd:documentation> + </xsd:annotation> + <xsd:list itemType="javaee:service-ref_protocol-bindingType"/> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="service-ref_protocol-bindingType"> + <xsd:annotation> + <xsd:documentation> + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + </xsd:documentation> + </xsd:annotation> + <xsd:union memberTypes="xsd:anyURI javaee:service-ref_protocol-URIAliasType"/> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:simpleType name="service-ref_qname-pattern"> + <xsd:annotation> + <xsd:documentation> + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + </xsd:documentation> + </xsd:annotation> + + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/> + </xsd:restriction> + + </xsd:simpleType> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_3.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_3.xsd new file mode 100644 index 0000000..1fef293 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_3.xsd
@@ -0,0 +1,745 @@ +<?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="1.3"> + <xsd:annotation> + <xsd:documentation> + + $Id: javaee_web_services_client_1_3.xsd,v 1.1.2.1 2011/03/23 09:21:13 hmalphett Exp $ + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + +<!-- **************************************************** --> + + <xsd:complexType name="service-refType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="service-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="javaee:xsdAnyURIType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-qname" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component-ref" + type="javaee:port-component-refType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:handler-chainsType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-WS based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-component-refType"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mtom-threshold" + type="javaee:xsdNonNegativeIntegerType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + When MTOM is enabled, binary data above this size in bytes + should be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="addressing" + type="javaee:addressingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="respect-binding" + type="javaee:respect-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component-link" + type="javaee:string" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainsType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="handler-chain" + type="javaee:handler-chainType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:choice minOccurs="0" + maxOccurs="1"> + <xsd:element name="service-name-pattern" + type="javaee:qname-pattern"/> + <xsd:element name="port-name-pattern" + type="javaee:qname-pattern"/> + <xsd:element name="protocol-bindings" + type="javaee:protocol-bindingListType"/> + </xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:simpleType name="protocol-bindingListType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + </xsd:documentation> + </xsd:annotation> + <xsd:list itemType="javaee:protocol-bindingType"/> + </xsd:simpleType> + + <xsd:simpleType name="protocol-bindingType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + </xsd:documentation> + </xsd:annotation> + <xsd:union memberTypes="xsd:anyURI javaee:protocol-URIAliasType"/> + </xsd:simpleType> + + <xsd:simpleType name="protocol-URIAliasType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="##.+"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="qname-pattern"> + <xsd:annotation> + <xsd:documentation> + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="addressingType"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS web service. + It corresponds to javax.xml.ws.soap.Addressing annotation or its + feature javax.xml.ws.soap.AddressingFeature. + + If the "enabled" element is "true", WS-Addressing is enabled. + It means that the endpoint supports WS-Addressing but does not require + its use. The default value for "enabled" is "true". + + If the WS-Addressing is enabled and the "required" element is "true", + it means that the endpoint requires WS-Addressing. The default value + for "required" is "false". + + If WS-Addressing is enabled, the "responses" element determines + if an endpoint requires the use of only anonymous responses, + or only non-anonymous responses, or all. The value of the "responses" + element must be one of the following: + + ANONYMOUS + NON_ANONYMOUS + ALL + + The default value for the "responses" is ALL. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="enabled" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="required" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="responses" + type="javaee:addressing-responsesType" + minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="addressing-responsesType"> + <xsd:annotation> + <xsd:documentation> + + If WS-Addressing is enabled, this type determines if an endpoint + requires the use of only anonymous responses, or only non-anonymous + responses, or all. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="ANONYMOUS"/> + <xsd:enumeration value="NON_ANONYMOUS"/> + <xsd:enumeration value="ALL"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="respect-bindingType"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + If the "enabled" element is "true", wsdl:binding in the + associated WSDL, if any, must be respected/honored. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="enabled" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component, service-ref. Handlers can + access the init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component, service-ref + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="handler-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique within the + module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="javaee:param-valueType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-header" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed by the + handler. + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-role" + type="javaee:string" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-name" + type="javaee:string" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-name element defines the WSDL port-name that a + handler should be associated with. If port-name is not + specified, the handler is assumed to be associated with + all ports of the service. + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:group name="service-refGroup"> + <xsd:sequence> + <xsd:element name="service-ref" + type="javaee:service-refType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:key name="service-ref_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + </xsd:group> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_4.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_4.xsd new file mode 100644 index 0000000..d474a8d --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/javaee_web_services_client_1_4.xsd
@@ -0,0 +1,737 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="1.4"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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> + + (C) Copyright International Business Machines Corporation 2002 + + </xsd:documentation> + </xsd:annotation> + + +<!-- **************************************************** --> + + <xsd:complexType name="service-refType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="service-ref-name" + type="javaee:jndi-nameType"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-ref-type" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="wsdl-file" + type="javaee:xsdAnyURIType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="jaxrpc-mapping-file" + type="javaee:pathType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="service-qname" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component-ref" + type="javaee:port-component-refType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-chains" + type="javaee:handler-chainsType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + To be used with JAX-WS based runtime only. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:choice> + <xsd:group ref="javaee:resourceGroup"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="port-component-refType"> + <xsd:annotation> + <xsd:documentation> + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="service-endpoint-interface" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="enable-mtom" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="mtom-threshold" + type="javaee:xsdNonNegativeIntegerType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + When MTOM is enabled, binary data above this size in bytes + should be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="addressing" + type="javaee:addressingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="respect-binding" + type="javaee:respect-bindingType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-component-link" + type="javaee:string" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainsType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="handler-chain" + type="javaee:handler-chainType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handler-chainType"> + <xsd:annotation> + <xsd:documentation> + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:choice minOccurs="0" + maxOccurs="1"> + <xsd:element name="service-name-pattern" + type="javaee:qname-pattern"/> + <xsd:element name="port-name-pattern" + type="javaee:qname-pattern"/> + <xsd:element name="protocol-bindings" + type="javaee:protocol-bindingListType"/> + </xsd:choice> + <xsd:element name="handler" + type="javaee:handlerType" + minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:simpleType name="protocol-bindingListType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + </xsd:documentation> + </xsd:annotation> + <xsd:list itemType="javaee:protocol-bindingType"/> + </xsd:simpleType> + + <xsd:simpleType name="protocol-bindingType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + </xsd:documentation> + </xsd:annotation> + <xsd:union memberTypes="xsd:anyURI javaee:protocol-URIAliasType"/> + </xsd:simpleType> + + <xsd:simpleType name="protocol-URIAliasType"> + <xsd:annotation> + <xsd:documentation> + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="##.+"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="qname-pattern"> + <xsd:annotation> + <xsd:documentation> + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="addressingType"> + <xsd:annotation> + <xsd:documentation> + + This specifies the WS-Addressing requirements for a JAX-WS web service. + It corresponds to javax.xml.ws.soap.Addressing annotation or its + feature javax.xml.ws.soap.AddressingFeature. + + If the "enabled" element is "true", WS-Addressing is enabled. + It means that the endpoint supports WS-Addressing but does not require + its use. The default value for "enabled" is "true". + + If the WS-Addressing is enabled and the "required" element is "true", + it means that the endpoint requires WS-Addressing. The default value + for "required" is "false". + + If WS-Addressing is enabled, the "responses" element determines + if an endpoint requires the use of only anonymous responses, + or only non-anonymous responses, or all. The value of the "responses" + element must be one of the following: + + ANONYMOUS + NON_ANONYMOUS + ALL + + The default value for the "responses" is ALL. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="enabled" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="required" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + <xsd:element name="responses" + type="javaee:addressing-responsesType" + minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="addressing-responsesType"> + <xsd:annotation> + <xsd:documentation> + + If WS-Addressing is enabled, this type determines if an endpoint + requires the use of only anonymous responses, or only non-anonymous + responses, or all. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:enumeration value="ANONYMOUS"/> + <xsd:enumeration value="NON_ANONYMOUS"/> + <xsd:enumeration value="ALL"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="respect-bindingType"> + <xsd:annotation> + <xsd:documentation> + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + If the "enabled" element is "true", wsdl:binding in the + associated WSDL, if any, must be respected/honored. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="enabled" + type="javaee:true-falseType" + minOccurs="0" + maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="handlerType"> + <xsd:annotation> + <xsd:documentation> + + Declares the handler for a port-component, service-ref. Handlers can + access the init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component, service-ref + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="handler-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique within the + module. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="handler-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + Defines a fully qualified class name for the handler implementation. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="init-param" + type="javaee:param-valueType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-header" + type="javaee:xsdQNameType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + Defines the QName of a SOAP header that will be processed by the + handler. + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="soap-role" + type="javaee:string" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="port-name" + type="javaee:string" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + The port-name element defines the WSDL port-name that a + handler should be associated with. If port-name is not + specified, the handler is assumed to be associated with + all ports of the service. + + Not to be specified for JAX-WS runtime + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:group name="service-refGroup"> + <xsd:sequence> + <xsd:element name="service-ref" + type="javaee:service-refType" + minOccurs="0" + maxOccurs="unbounded"> + <xsd:key name="service-ref_handler-name-key"> + <xsd:annotation> + <xsd:documentation> + + Defines the name of the handler. The name must be unique + within the module. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="javaee:handler"/> + <xsd:field xpath="javaee:handler-name"/> + </xsd:key> + </xsd:element> + </xsd:sequence> + </xsd:group> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/permissions_7.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/permissions_7.xsd new file mode 100644 index 0000000..9eed242 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/permissions_7.xsd
@@ -0,0 +1,175 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="7"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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 application or module declared permissions 7. + The declared permissions file must be named "META-INF/permissions.xml" in the + application's ear file, or in a module's META-INF/permissions.xml if + the module is deployed standalone. All declared permissions must indicate + the declared permissions schema by using the Java EE namespace: + + http://xmlns.jcp.org/xml/ns/javaee + + and indicate the version of the schema by + using the version element as shown below: + + <permissions xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee + http://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd" + version="7"> + ... + </permisssions> + + 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://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd + + ]]> + </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_7.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="permissions"> + <xsd:annotation> + <xsd:documentation> + + The permissions element is the root element in a + declared permissions file. The declared permissions file + declares the code based permissions granted to classes and libraries + packaged in the application archive, or in a module if the module is + deployed standalone. + + </xsd:documentation> + </xsd:annotation> + +<!-- **************************************************** --> + + <xsd:complexType> + <xsd:sequence> + <xsd:element name="permission" + maxOccurs="unbounded" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + Each permission element declares a permission. If no permission + elements are declared, the application or module needs no special + permissions, and the Java EE product may deploy it with no + permissions beyond those necessary for the operation of the + container. + + For details on the definition of the 'name' and 'actions' + elements, refer to the Java API documentation for the class + java.security.Permission, and its derived classes. + + </xsd:documentation> + </xsd:annotation> + +<!-- **************************************************** --> + + <xsd:complexType> + <xsd:sequence> + <xsd:element type="javaee:fully-qualified-classType" + name="class-name"/> + <xsd:element type="javaee:string" + name="name" + minOccurs="0"/> + <xsd:element type="javaee:string" + name="actions" + minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="version" + type="javaee:dewey-versionType" + fixed="7" + use="required"> + <xsd:annotation> + <xsd:documentation> + + The required value for the version is 7. + + </xsd:documentation> + </xsd:annotation> + </xsd:attribute> + </xsd:complexType> + </xsd:element> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_2.dtd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_2.dtd new file mode 100644 index 0000000..dfedc5c --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_2.dtd
@@ -0,0 +1,602 @@ +<!-- + +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + +Copyright 1999 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 "License"). You +may not use this file except in compliance with the License. You can obtain +a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html +or 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 particular file as subject to the "Classpath" exception +as provided by Sun in the GPL Version 2 section of the License file that +accompanied this code. If applicable, add the following 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 distribution under the [CDDL or GPL +Version 2] license." If you don't indicate a single choice of license, a +recipient has the option to distribute your version of this file under +either the CDDL, the GPL Version 2 or to extend the choice of license to +its licensees as provided above. However, if you add GPL Version 2 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. + +--> + +<!-- +The web-app element is the root of the deployment descriptor for +a web application +--> + +<!ELEMENT web-app (icon?, display-name?, description?, distributable?, +context-param*, servlet*, servlet-mapping*, session-config?, +mime-mapping*, welcome-file-list?, error-page*, taglib*, +resource-ref*, security-constraint*, login-config?, security-role*, +env-entry*, ejb-ref*)> + +<!-- +The icon element contains a small-icon and a large-icon element +which specify the location within the web application for a small and +large image used to represent the web application in a GUI tool. At a +minimum, tools must accept GIF and JPEG format images. +--> + +<!ELEMENT icon (small-icon?, large-icon?)> + +<!-- +The small-icon element contains the location within the web +application of a file containing a small (16x16 pixel) icon image. +--> + +<!ELEMENT small-icon (#PCDATA)> + +<!-- +The large-icon element contains the location within the web +application of a file containing a large (32x32 pixel) icon image. +--> + +<!ELEMENT large-icon (#PCDATA)> + +<!-- +The display-name element contains a short name that is intended +to be displayed by GUI tools +--> + +<!ELEMENT display-name (#PCDATA)> + +<!-- +The description element is used to provide descriptive text about +the parent element. +--> + +<!ELEMENT description (#PCDATA)> + +<!-- +The distributable element, by its presence in a web application +deployment descriptor, indicates that this web application is +programmed appropriately to be deployed into a distributed servlet +container +--> + +<!ELEMENT distributable EMPTY> + +<!-- +The context-param element contains the declaration of a web +application's servlet context initialization parameters. +--> + +<!ELEMENT context-param (param-name, param-value, description?)> + +<!-- +The param-name element contains the name of a parameter. +--> + +<!ELEMENT param-name (#PCDATA)> + +<!-- +The param-value element contains the value of a parameter. +--> + +<!ELEMENT param-value (#PCDATA)> + +<!-- +The servlet element 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. +--> + +<!ELEMENT servlet (icon?, servlet-name, display-name?, description?, +(servlet-class|jsp-file), init-param*, load-on-startup?, security-role-ref*)> + +<!-- +The servlet-name element contains the canonical name of the +servlet. +--> + +<!ELEMENT servlet-name (#PCDATA)> + +<!-- +The servlet-class element contains the fully qualified class name +of the servlet. +--> + +<!ELEMENT servlet-class (#PCDATA)> + +<!-- +The jsp-file element contains the full path to a JSP file within +the web application. +--> + +<!ELEMENT jsp-file (#PCDATA)> + +<!-- +The init-param element contains a name/value pair as an +initialization param of the servlet +--> + +<!ELEMENT init-param (param-name, param-value, description?)> + +<!-- +The load-on-startup element indicates that this servlet should be +loaded on the startup of the web application. The optional contents of +these element must be a positive integer indicating the order in which +the servlet should be loaded. Lower integers are loaded before higher +integers. If no value is specified, or if the value specified is not a +positive integer, the container is free to load it at any time in the +startup sequence. +--> + +<!ELEMENT load-on-startup (#PCDATA)> + +<!-- +The servlet-mapping element defines a mapping between a servlet +and a url pattern +--> + +<!ELEMENT servlet-mapping (servlet-name, url-pattern)> + +<!-- +The url-pattern element contains the url pattern of the +mapping. Must follow the rules specified in Section 10 of the Servlet +API Specification. +--> + +<!ELEMENT url-pattern (#PCDATA)> + +<!-- +The session-config element defines the session parameters for +this web application. +--> + +<!ELEMENT session-config (session-timeout?)> + +<!-- +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. +--> + +<!ELEMENT session-timeout (#PCDATA)> + +<!-- +The mime-mapping element defines a mapping between an extension +and a mime type. +--> + +<!ELEMENT mime-mapping (extension, mime-type)> + +<!-- +The extension element contains a string describing an +extension. example: "txt" +--> + +<!ELEMENT extension (#PCDATA)> + +<!-- +The mime-type element contains a defined mime type. example: +"text/plain" +--> + +<!ELEMENT mime-type (#PCDATA)> + +<!-- +The welcome-file-list contains an ordered list of welcome files +elements. +--> + +<!ELEMENT welcome-file-list (welcome-file+)> + +<!-- +The welcome-file element contains file name to use as a default +welcome file, such as index.html +--> + +<!ELEMENT welcome-file (#PCDATA)> + +<!-- +The taglib element is used to describe a JSP tag library. +--> + +<!ELEMENT taglib (taglib-uri, taglib-location)> + +<!-- +The taglib-uri element describes a URI, relative to the location +of the web.xml document, identifying a Tag Library used in the Web +Application. +--> + +<!ELEMENT taglib-uri (#PCDATA)> + +<!-- +the taglib-location element contains the location (as a resource +relative to the root of the web application) where to find the Tag +Libary Description file for the tag library. +--> + +<!ELEMENT taglib-location (#PCDATA)> + +<!-- +The error-page element contains a mapping between an error code +or exception type to the path of a resource in the web application +--> + +<!ELEMENT error-page ((error-code | exception-type), location)> + +<!-- +The error-code contains an HTTP error code, ex: 404 +--> + +<!ELEMENT error-code (#PCDATA)> + +<!-- +The exception type contains a fully qualified class name of a +Java exception type. +--> + +<!ELEMENT exception-type (#PCDATA)> + +<!-- +The location element contains the location of the resource in the +web application +--> + +<!ELEMENT location (#PCDATA)> + +<!-- +The resource-ref element contains a declaration of a Web +Application's reference to an external resource. +--> + +<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)> + +<!-- +The res-ref-name element specifies the name of the resource +factory reference name. +--> + +<!ELEMENT res-ref-name (#PCDATA)> + +<!-- +The res-type element specifies the (Java class) type of the data +source. +--> + +<!ELEMENT res-type (#PCDATA)> + +<!-- +The res-auth element indicates whether the application component +code performs resource signon programmatically or whether the +container signs onto the resource based on the principle mapping +information supplied by the deployer. Must be CONTAINER or SERVLET +--> + +<!ELEMENT res-auth (#PCDATA)> + +<!-- +The security-constraint element is used to associate security +constraints with one or more web resource collections +--> + +<!ELEMENT security-constraint (web-resource-collection+, +auth-constraint?, user-data-constraint?)> + +<!-- +The web-resource-collection element is used to identify a subset +of the resources and HTTP methods on those resources within a web +application to which a security constraint applies. If no HTTP methods +are specified, then the security constraint applies to all HTTP +methods. +--> + +<!ELEMENT web-resource-collection (web-resource-name, description?, +url-pattern*, http-method*)> + +<!-- +The web-resource-name contains the name of this web resource +collection +--> + +<!ELEMENT web-resource-name (#PCDATA)> + +<!-- +The http-method contains an HTTP method (GET | POST |...) +--> + +<!ELEMENT http-method (#PCDATA)> + +<!-- +The user-data-constraint element is used to indicate how data +communicated between the client and container should be protected +--> + +<!ELEMENT user-data-constraint (description?, transport-guarantee)> + +<!-- +The transport-guarantee element 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. +--> + +<!ELEMENT transport-guarantee (#PCDATA)> + +<!-- +The auth-constraint element indicates the user roles that should +be permitted access to this resource collection. The role used here +must appear in a security-role-ref element. +--> + +<!ELEMENT auth-constraint (description?, role-name*)> + +<!-- +The role-name element contains the name of a security role. +--> + +<!ELEMENT role-name (#PCDATA)> + +<!-- +The login-config element 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. +--> + +<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)> + +<!-- +The realm name element specifies the realm name to use in HTTP +Basic authorization +--> + +<!ELEMENT realm-name (#PCDATA)> + +<!-- +The form-login-config element 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. +--> + +<!ELEMENT form-login-config (form-login-page, form-error-page)> + +<!-- +The form-login-page element defines the location in the web app +where the page that can be used for login can be found +--> + +<!ELEMENT form-login-page (#PCDATA)> + +<!-- +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 +--> + +<!ELEMENT form-error-page (#PCDATA)> + +<!-- +The auth-method element 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 for this element are "BASIC", "DIGEST", +"FORM", or "CLIENT-CERT". +--> + +<!ELEMENT auth-method (#PCDATA)> + +<!-- +The security-role element contains the declaration of a security +role which is used in the security-constraints placed on the web +application. +--> + +<!ELEMENT security-role (description?, role-name)> + +<!-- +The role-name element contains the name of a role. This element +must contain a non-empty string. +--> + +<!ELEMENT security-role-ref (description?, role-name, role-link)> + +<!-- +The role-link element is used to link a security role reference +to a defined security role. The role-link element must contain the +name of one of the security roles defined in the security-role +elements. +--> + +<!ELEMENT role-link (#PCDATA)> + +<!-- +The env-entry element contains the declaration of an +application's environment entry. This element is required to be +honored on in J2EE compliant servlet containers. +--> + +<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?, +env-entry-type)> + +<!-- +The env-entry-name contains the name of an application's +environment entry +--> + +<!ELEMENT env-entry-name (#PCDATA)> + +<!-- +The env-entry-value element contains the value of an +application's environment entry +--> + +<!ELEMENT env-entry-value (#PCDATA)> + +<!-- +The env-entry-type element contains the fully qualified Java type +of the environment entry value that is expected by the application +code. The following are the legal values of env-entry-type: +java.lang.Boolean, java.lang.String, java.lang.Integer, +java.lang.Double, java.lang.Float. +--> + +<!ELEMENT env-entry-type (#PCDATA)> + +<!-- +The ejb-ref element is used to declare a reference to an +enterprise bean. +--> + +<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote, +ejb-link?)> + +<!-- +The ejb-ref-name element contains the name of an EJB +reference. This is the JNDI name that the servlet code uses to get a +reference to the enterprise bean. +--> + +<!ELEMENT ejb-ref-name (#PCDATA)> + +<!-- +The ejb-ref-type element contains the expected java class type of +the referenced EJB. +--> + +<!ELEMENT ejb-ref-type (#PCDATA)> + +<!-- +The ejb-home element contains the fully qualified name of the +EJB's home interface +--> + +<!ELEMENT home (#PCDATA)> + +<!-- +The ejb-remote element contains the fully qualified name of the +EJB's remote interface +--> + +<!ELEMENT remote (#PCDATA)> + +<!-- +The ejb-link element is used in the ejb-ref element to specify +that an EJB reference is linked to an EJB in an encompassing Java2 +Enterprise Edition (J2EE) application package. The value of the +ejb-link element must be the ejb-name of and EJB in the J2EE +application package. +--> + +<!ELEMENT ejb-link (#PCDATA)> + +<!-- +The ID mechanism is to allow tools to easily make tool-specific +references to the elements of the deployment descriptor. This allows +tools that produce additional deployment information (i.e information +beyond the standard deployment descriptor information) to store the +non-standard information in a separate file, and easily refer from +these tools-specific files to the information in the standard web-app +deployment descriptor. +--> + +<!ATTLIST web-app id ID #IMPLIED> +<!ATTLIST icon id ID #IMPLIED> +<!ATTLIST small-icon id ID #IMPLIED> +<!ATTLIST large-icon id ID #IMPLIED> +<!ATTLIST display-name id ID #IMPLIED> +<!ATTLIST description id ID #IMPLIED> +<!ATTLIST distributable id ID #IMPLIED> +<!ATTLIST context-param id ID #IMPLIED> +<!ATTLIST param-name id ID #IMPLIED> +<!ATTLIST param-value id ID #IMPLIED> +<!ATTLIST servlet id ID #IMPLIED> +<!ATTLIST servlet-name id ID #IMPLIED> +<!ATTLIST servlet-class id ID #IMPLIED> +<!ATTLIST jsp-file id ID #IMPLIED> +<!ATTLIST init-param id ID #IMPLIED> +<!ATTLIST load-on-startup id ID #IMPLIED> +<!ATTLIST servlet-mapping id ID #IMPLIED> +<!ATTLIST url-pattern id ID #IMPLIED> +<!ATTLIST session-config id ID #IMPLIED> +<!ATTLIST session-timeout id ID #IMPLIED> +<!ATTLIST mime-mapping id ID #IMPLIED> +<!ATTLIST extension id ID #IMPLIED> +<!ATTLIST mime-type id ID #IMPLIED> +<!ATTLIST welcome-file-list id ID #IMPLIED> +<!ATTLIST welcome-file id ID #IMPLIED> +<!ATTLIST taglib id ID #IMPLIED> +<!ATTLIST taglib-uri id ID #IMPLIED> +<!ATTLIST taglib-location id ID #IMPLIED> +<!ATTLIST error-page id ID #IMPLIED> +<!ATTLIST error-code id ID #IMPLIED> +<!ATTLIST exception-type id ID #IMPLIED> +<!ATTLIST location id ID #IMPLIED> +<!ATTLIST resource-ref id ID #IMPLIED> +<!ATTLIST res-ref-name id ID #IMPLIED> +<!ATTLIST res-type id ID #IMPLIED> +<!ATTLIST res-auth id ID #IMPLIED> +<!ATTLIST security-constraint id ID #IMPLIED> +<!ATTLIST web-resource-collection id ID #IMPLIED> +<!ATTLIST web-resource-name id ID #IMPLIED> +<!ATTLIST http-method id ID #IMPLIED> +<!ATTLIST user-data-constraint id ID #IMPLIED> +<!ATTLIST transport-guarantee id ID #IMPLIED> +<!ATTLIST auth-constraint id ID #IMPLIED> +<!ATTLIST role-name id ID #IMPLIED> +<!ATTLIST login-config id ID #IMPLIED> +<!ATTLIST realm-name id ID #IMPLIED> +<!ATTLIST form-login-config id ID #IMPLIED> +<!ATTLIST form-login-page id ID #IMPLIED> +<!ATTLIST form-error-page id ID #IMPLIED> +<!ATTLIST auth-method id ID #IMPLIED> +<!ATTLIST security-role id ID #IMPLIED> +<!ATTLIST security-role-ref id ID #IMPLIED> +<!ATTLIST role-link id ID #IMPLIED> +<!ATTLIST env-entry id ID #IMPLIED> +<!ATTLIST env-entry-name id ID #IMPLIED> +<!ATTLIST env-entry-value id ID #IMPLIED> +<!ATTLIST env-entry-type id ID #IMPLIED> +<!ATTLIST ejb-ref id ID #IMPLIED> +<!ATTLIST ejb-ref-name id ID #IMPLIED> +<!ATTLIST ejb-ref-type id ID #IMPLIED> +<!ATTLIST home id ID #IMPLIED> +<!ATTLIST remote id ID #IMPLIED> +<!ATTLIST ejb-link id ID #IMPLIED>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_3.dtd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_3.dtd new file mode 100644 index 0000000..d65bc72 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_3.dtd
@@ -0,0 +1,1024 @@ +<!-- + +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + +Copyright 2000 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 "License"). You +may not use this file except in compliance with the License. You can obtain +a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html +or 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 particular file as subject to the "Classpath" exception +as provided by Sun in the GPL Version 2 section of the License file that +accompanied this code. If applicable, add the following 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 distribution under the [CDDL or GPL +Version 2] license." If you don't indicate a single choice of license, a +recipient has the option to distribute your version of this file under +either the CDDL, the GPL Version 2 or to extend the choice of license to +its licensees as provided above. However, if you add GPL Version 2 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. + +--> + +<!-- +This is the XML DTD for the Servlet 2.3 deployment descriptor. +All Servlet 2.3 deployment descriptors must include a DOCTYPE +of the following form: + + <!DOCTYPE web-app PUBLIC + "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" + "http://java.sun.com/dtd/web-app_2_3.dtd"> + +--> + +<!-- +The following conventions apply to all J2EE deployment descriptor +elements unless indicated otherwise. + +- In elements that contain PCDATA, leading and trailing whitespace + in the data may be ignored. + +- In elements whose value is an "enumerated type", the value is + case sensitive. + +- 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. +--> + + +<!-- +The web-app element is the root of the deployment descriptor for +a web application. +--> +<!ELEMENT web-app (icon?, display-name?, description?, distributable?, +context-param*, filter*, filter-mapping*, listener*, servlet*, +servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?, +error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*, +login-config?, security-role*, env-entry*, ejb-ref*, ejb-local-ref*)> + +<!-- +The auth-constraint element 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. + + +Used in: security-constraint +--> +<!ELEMENT auth-constraint (description?, role-name*)> + +<!-- +The auth-method element 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 for this element are "BASIC", "DIGEST", +"FORM", or "CLIENT-CERT". + +Used in: login-config +--> +<!ELEMENT auth-method (#PCDATA)> + +<!-- +The context-param element contains the declaration of a web +application's servlet context initialization parameters. + +Used in: web-app +--> +<!ELEMENT context-param (param-name, param-value, description?)> + +<!-- +The description element is used to provide text describing the parent +element. The description element should include any information that +the web application war file producer wants to provide to the consumer of +the web application war file (i.e., to the Deployer). Typically, the tools +used by the web application war file consumer will display the description +when processing the parent element that contains the description. + +Used in: auth-constraint, context-param, ejb-local-ref, ejb-ref, +env-entry, filter, init-param, resource-env-ref, resource-ref, run-as, +security-role, security-role-ref, servlet, user-data-constraint, +web-app, web-resource-collection +--> +<!ELEMENT description (#PCDATA)> + +<!-- +The display-name element contains a short name that is intended to be +displayed by tools. The display name need not be unique. + +Used in: filter, security-constraint, servlet, web-app + +Example: + +<display-name>Employee Self Service</display-name> +--> +<!ELEMENT display-name (#PCDATA)> + +<!-- +The distributable element, by its presence in a web application +deployment descriptor, indicates that this web application is +programmed appropriately to be deployed into a distributed servlet +container + +Used in: web-app +--> +<!ELEMENT distributable EMPTY> + +<!-- +The ejb-link element is used in the ejb-ref or ejb-local-ref +elements to specify that an EJB reference is linked to an +enterprise bean. + +The name in the ejb-link element is composed of a +path name specifying the ejb-jar containing the referenced enterprise +bean with the ejb-name of the target bean appended and separated from +the path name by "#". The path name is relative to the war file +containing the web application that is referencing the enterprise bean. +This allows multiple enterprise beans with the same ejb-name to be +uniquely identified. + +Used in: ejb-local-ref, ejb-ref + +Examples: + + <ejb-link>EmployeeRecord</ejb-link> + + <ejb-link>../products/product.jar#ProductEJB</ejb-link> + +--> +<!ELEMENT ejb-link (#PCDATA)> + +<!-- +The ejb-local-ref element is used for the declaration of a reference to +an enterprise bean's local home. The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the web application + that's referencing the enterprise bean + - the expected type of the referenced enterprise bean + - the expected local home and local interfaces of the referenced + enterprise bean + - optional ejb-link information, used to specify the referenced + enterprise bean + +Used in: web-app +--> +<!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type, + local-home, local, ejb-link?)> + +<!-- +The ejb-ref element is used for the declaration of a reference to +an enterprise bean's home. The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the web application that's referencing the enterprise bean + - the expected type of the referenced enterprise bean + - the expected home and remote interfaces of the referenced + enterprise bean + - optional ejb-link information, used to specify the referenced + enterprise bean + +Used in: web-app +--> +<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, + home, remote, ejb-link?)> + +<!-- +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/". + +Used in: ejb-local-ref, ejb-ref + +Example: + +<ejb-ref-name>ejb/Payroll</ejb-ref-name> +--> +<!ELEMENT ejb-ref-name (#PCDATA)> + +<!-- +The ejb-ref-type element contains the expected type of the +referenced enterprise bean. + +The ejb-ref-type element must be one of the following: + + <ejb-ref-type>Entity</ejb-ref-type> + <ejb-ref-type>Session</ejb-ref-type> + +Used in: ejb-local-ref, ejb-ref +--> +<!ELEMENT ejb-ref-type (#PCDATA)> + +<!-- +The env-entry element contains the declaration of a web application's +environment entry. The declaration consists of an optional +description, the name of the environment entry, and an optional +value. If a value is not specified, one must be supplied +during deployment. +--> +<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?, +env-entry-type)> + +<!-- +The env-entry-name element contains the name of a web applications'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. + +Example: + +<env-entry-name>minAmount</env-entry-name> + +Used in: env-entry +--> +<!ELEMENT env-entry-name (#PCDATA)> + +<!-- +The env-entry-type element contains the fully-qualified Java type of +the environment entry value that is expected by the web application's +code. + +The following are the legal values of env-entry-type: + + java.lang.Boolean + java.lang.Byte + java.lang.Character + java.lang.String + java.lang.Short + java.lang.Integer + java.lang.Long + java.lang.Float + java.lang.Double + +Used in: env-entry +--> +<!ELEMENT env-entry-type (#PCDATA)> + +<!-- +The env-entry-value element contains the value of a web application's +environment entry. The value must be a String that is valid for the +constructor of the specified type that takes a single String +parameter, or for java.lang.Character, a single character. + +Example: + +<env-entry-value>100.00</env-entry-value> + +Used in: env-entry +--> +<!ELEMENT env-entry-value (#PCDATA)> + +<!-- +The error-code contains an HTTP error code, ex: 404 + +Used in: error-page +--> +<!ELEMENT error-code (#PCDATA)> + +<!-- +The error-page element contains a mapping between an error code +or exception type to the path of a resource in the web application + +Used in: web-app +--> +<!ELEMENT error-page ((error-code | exception-type), location)> + +<!-- +The exception type contains a fully qualified class name of a +Java exception type. + +Used in: error-page +--> +<!ELEMENT exception-type (#PCDATA)> + +<!-- +The extension element contains a string describing an +extension. example: "txt" + +Used in: mime-mapping +--> +<!ELEMENT extension (#PCDATA)> + +<!-- +Declares 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 +--> +<!ELEMENT filter (icon?, filter-name, display-name?, description?, +filter-class, init-param*)> + +<!-- +The fully qualified classname of the filter. + +Used in: filter +--> +<!ELEMENT filter-class (#PCDATA)> + +<!-- +Declaration of the filter mappings in this web application. 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. + +Used in: web-app +--> +<!ELEMENT filter-mapping (filter-name, (url-pattern | servlet-name))> + +<!-- +The logical name of the filter. This name is used to map the filter. +Each filter name is unique within the web application. + +Used in: filter, filter-mapping +--> +<!ELEMENT filter-name (#PCDATA)> + +<!-- +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. + +Used in: form-login-config +--> +<!ELEMENT form-error-page (#PCDATA)> + +<!-- +The form-login-config element 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 +--> +<!ELEMENT form-login-config (form-login-page, form-error-page)> + +<!-- +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. + +Used in: form-login-config +--> +<!ELEMENT form-login-page (#PCDATA)> + +<!-- +The home element contains the fully-qualified name of the enterprise +bean's home interface. + +Used in: ejb-ref + +Example: + +<home>com.aardvark.payroll.PayrollHome</home> +--> +<!ELEMENT home (#PCDATA)> + +<!-- +The http-method contains an HTTP method (GET | POST |...). + +Used in: web-resource-collection +--> +<!ELEMENT http-method (#PCDATA)> + +<!-- +The icon element contains small-icon and large-icon elements that +specify the file names for small and a large GIF or JPEG icon images +used to represent the parent element in a GUI tool. + +Used in: filter, servlet, web-app +--> +<!ELEMENT icon (small-icon?, large-icon?)> + +<!-- +The init-param element contains a name/value pair as an +initialization param of the servlet + +Used in: filter, servlet +--> +<!ELEMENT init-param (param-name, param-value, description?)> + +<!-- +The jsp-file element contains the full path to a JSP file within +the web application beginning with a `/'. + +Used in: servlet +--> +<!ELEMENT jsp-file (#PCDATA)> + +<!-- +The large-icon element contains the name of a file +containing a large (32 x 32) icon image. The file +name is a relative path within the web application's +war file. + +The image may be either in the JPEG or GIF format. +The icon can be used by tools. + +Used in: icon + +Example: + +<large-icon>employee-service-icon32x32.jpg</large-icon> +--> +<!ELEMENT large-icon (#PCDATA)> + +<!-- +The listener element indicates the deployment properties for a web +application listener bean. + +Used in: web-app +--> +<!ELEMENT listener (listener-class)> + +<!-- +The listener-class element declares a class in the application must be +registered as a web application listener bean. The value is the fully qualified classname of the listener class. + + +Used in: listener +--> +<!ELEMENT listener-class (#PCDATA)> + +<!-- +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. + +Used in: servlet +--> +<!ELEMENT load-on-startup (#PCDATA)> + +<!-- + +The local element contains the fully-qualified name of the +enterprise bean's local interface. + +Used in: ejb-local-ref + +--> +<!ELEMENT local (#PCDATA)> + +<!-- + +The local-home element contains the fully-qualified name of the +enterprise bean's local home interface. + +Used in: ejb-local-ref +--> +<!ELEMENT local-home (#PCDATA)> + +<!-- +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 `/'. + +Used in: error-page +--> +<!ELEMENT location (#PCDATA)> + +<!-- +The login-config element 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 +--> +<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)> + +<!-- +The mime-mapping element defines a mapping between an extension +and a mime type. + +Used in: web-app +--> +<!ELEMENT mime-mapping (extension, mime-type)> + +<!-- +The mime-type element contains a defined mime type. example: +"text/plain" + +Used in: mime-mapping +--> +<!ELEMENT mime-type (#PCDATA)> + +<!-- +The param-name element contains the name of a parameter. Each parameter +name must be unique in the web application. + + +Used in: context-param, init-param +--> +<!ELEMENT param-name (#PCDATA)> + +<!-- +The param-value element contains the value of a parameter. + +Used in: context-param, init-param +--> +<!ELEMENT param-value (#PCDATA)> + +<!-- +The realm name element specifies the realm name to use in HTTP +Basic authorization. + +Used in: login-config +--> +<!ELEMENT realm-name (#PCDATA)> + +<!-- +The remote element contains the fully-qualified name of the enterprise +bean's remote interface. + +Used in: ejb-ref + +Example: + +<remote>com.wombat.empl.EmployeeService</remote> +--> +<!ELEMENT remote (#PCDATA)> + +<!-- +The res-auth element specifies whether the web application code signs +on programmatically to the resource manager, or whether the Container +will sign on to the resource manager on behalf of the web application. In the +latter case, the Container uses information that is supplied by the +Deployer. + +The value of this element must be one of the two following: + + <res-auth>Application</res-auth> + <res-auth>Container</res-auth> + +Used in: resource-ref +--> +<!ELEMENT res-auth (#PCDATA)> + +<!-- +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. + +Used in: resource-ref +--> +<!ELEMENT res-ref-name (#PCDATA)> + +<!-- +The res-sharing-scope element specifies whether connections obtained +through the given resource manager connection factory reference can be +shared. The value of this element, if specified, must be one of the +two following: + + <res-sharing-scope>Shareable</res-sharing-scope> + <res-sharing-scope>Unshareable</res-sharing-scope> + +The default value is Shareable. + +Used in: resource-ref +--> +<!ELEMENT res-sharing-scope (#PCDATA)> + +<!-- +The res-type element specifies the type of the data source. The type +is specified by the fully qualified Java language class or interface +expected to be implemented by the data source. + +Used in: resource-ref +--> +<!ELEMENT res-type (#PCDATA)> + +<!-- +The resource-env-ref element contains a declaration of a web application's +reference to an administered object associated with a resource +in the web application's environment. It consists of an optional +description, the resource environment reference name, and an +indication of the resource environment reference type expected by +the web application code. + +Used in: web-app + +Example: + +<resource-env-ref> + <resource-env-ref-name>jms/StockQueue</resource-env-ref-name> + <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> +</resource-env-ref> +--> +<!ELEMENT resource-env-ref (description?, resource-env-ref-name, + resource-env-ref-type)> + +<!-- +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. + +Used in: resource-env-ref +--> +<!ELEMENT resource-env-ref-name (#PCDATA)> + +<!-- +The resource-env-ref-type element specifies the type of a resource +environment reference. It is the fully qualified name of a Java +language class or interface. + +Used in: resource-env-ref +--> +<!ELEMENT resource-env-ref-type (#PCDATA)> + +<!-- +The resource-ref element contains a declaration of a web application's +reference to an external resource. It consists of an optional +description, the resource manager connection factory reference name, +the indication of the resource manager connection factory type +expected by the web application code, the type of authentication +(Application or Container), and an optional specification of the +shareability of connections obtained from the resource (Shareable or +Unshareable). + +Used in: web-app + +Example: + + <resource-ref> + <res-ref-name>jdbc/EmployeeAppDB</res-ref-name> + <res-type>javax.sql.DataSource</res-type> + <res-auth>Container</res-auth> + <res-sharing-scope>Shareable</res-sharing-scope> + </resource-ref> +--> +<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth, + res-sharing-scope?)> + +<!-- +The role-link element is a reference to a defined security role. The +role-link element must contain the name of one of the security roles +defined in the security-role elements. + +Used in: security-role-ref +--> +<!ELEMENT role-link (#PCDATA)> + +<!-- +The role-name element contains the name of a security role. + +The name must conform to the lexical rules for an NMTOKEN. + +Used in: auth-constraint, run-as, security-role, security-role-ref +--> +<!ELEMENT role-name (#PCDATA)> + +<!-- +The run-as element specifies the run-as identity to be used for the +execution of the web application. It contains an optional description, and +the name of a security role. + +Used in: servlet +--> +<!ELEMENT run-as (description?, role-name)> + +<!-- +The security-constraint element is used to associate security +constraints with one or more web resource collections + +Used in: web-app +--> +<!ELEMENT security-constraint (display-name?, web-resource-collection+, +auth-constraint?, user-data-constraint?)> + +<!-- +The security-role element contains the definition of a security +role. The definition consists of an optional description of the +security role, and the security role name. + +Used in: web-app + +Example: + + <security-role> + <description> + This role includes all employees who are authorized + to access the employee service application. + </description> + <role-name>employee</role-name> + </security-role> +--> +<!ELEMENT security-role (description?, role-name)> + +<!-- +The security-role-ref element contains the declaration of a security +role reference in the web application's code. The declaration consists +of an optional description, the security role name used in the code, +and an optional link to a security role. If the security role is not +specified, the Deployer must choose an appropriate security role. + +The value of the role-name element must be the String used as the +parameter to the EJBContext.isCallerInRole(String roleName) method +or the HttpServletRequest.isUserInRole(String role) method. + +Used in: servlet + +--> +<!ELEMENT security-role-ref (description?, role-name, role-link?)> + +<!-- +The servlet element 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 +--> +<!ELEMENT servlet (icon?, servlet-name, display-name?, description?, +(servlet-class|jsp-file), init-param*, load-on-startup?, run-as?, security-role-ref*)> + +<!-- +The servlet-class element contains the fully qualified class name +of the servlet. + +Used in: servlet +--> +<!ELEMENT servlet-class (#PCDATA)> + +<!-- +The servlet-mapping element defines a mapping between a servlet +and a url pattern + +Used in: web-app +--> +<!ELEMENT servlet-mapping (servlet-name, url-pattern)> + +<!-- +The servlet-name element contains the canonical name of the +servlet. Each servlet name is unique within the web application. + +Used in: filter-mapping, servlet, servlet-mapping +--> +<!ELEMENT servlet-name (#PCDATA)> + +<!-- +The session-config element defines the session parameters for +this web application. + +Used in: web-app +--> +<!ELEMENT session-config (session-timeout?)> + +<!-- +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. + +Used in: session-config +--> +<!ELEMENT session-timeout (#PCDATA)> + +<!-- +The small-icon element contains the name of a file +containing a small (16 x 16) icon image. The file +name is a relative path within the web application's +war file. + +The image may be either in the JPEG or GIF format. +The icon can be used by tools. + +Used in: icon + +Example: + +<small-icon>employee-service-icon16x16.jpg</small-icon> +--> +<!ELEMENT small-icon (#PCDATA)> + +<!-- +The taglib element is used to describe a JSP tag library. + +Used in: web-app +--> +<!ELEMENT taglib (taglib-uri, taglib-location)> + +<!-- +the taglib-location element contains the location (as a resource +relative to the root of the web application) where to find the Tag +Libary Description file for the tag library. + +Used in: taglib +--> +<!ELEMENT taglib-location (#PCDATA)> + +<!-- +The taglib-uri element describes a URI, relative to the location +of the web.xml document, identifying a Tag Library used in the Web +Application. + +Used in: taglib +--> +<!ELEMENT taglib-uri (#PCDATA)> + +<!-- +The transport-guarantee element 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 +--> +<!ELEMENT transport-guarantee (#PCDATA)> + +<!-- +The url-pattern element contains the url pattern of the mapping. Must +follow the rules specified in Section 11.2 of the Servlet API +Specification. + +Used in: filter-mapping, servlet-mapping, web-resource-collection +--> +<!ELEMENT url-pattern (#PCDATA)> + +<!-- +The user-data-constraint element is used to indicate how data +communicated between the client and container should be protected. + +Used in: security-constraint +--> +<!ELEMENT user-data-constraint (description?, transport-guarantee)> + +<!-- +The web-resource-collection element is used to identify a subset +of the resources and HTTP methods on those resources within a web +application to which a security constraint applies. If no HTTP methods +are specified, then the security constraint applies to all HTTP +methods. + +Used in: security-constraint +--> +<!ELEMENT web-resource-collection (web-resource-name, description?, +url-pattern*, http-method*)> + +<!-- +The web-resource-name contains the name of this web resource +collection. + +Used in: web-resource-collection +--> +<!ELEMENT web-resource-name (#PCDATA)> + +<!-- +The welcome-file element contains file name to use as a default +welcome file, such as index.html + +Used in: welcome-file-list +--> +<!ELEMENT welcome-file (#PCDATA)> + +<!-- +The welcome-file-list contains an ordered list of welcome files +elements. + +Used in: web-app +--> +<!ELEMENT welcome-file-list (welcome-file+)> + +<!-- +The ID mechanism is to allow tools that produce additional deployment +information (i.e., information beyond the standard deployment +descriptor information) to store the non-standard information in a +separate file, and easily refer from these tool-specific files to the +information in the standard deployment descriptor. + +Tools are not allowed to add the non-standard information into the +standard deployment descriptor. +--> + +<!ATTLIST auth-constraint id ID #IMPLIED> +<!ATTLIST auth-method id ID #IMPLIED> +<!ATTLIST context-param id ID #IMPLIED> +<!ATTLIST description id ID #IMPLIED> +<!ATTLIST display-name id ID #IMPLIED> +<!ATTLIST distributable id ID #IMPLIED> +<!ATTLIST ejb-link id ID #IMPLIED> +<!ATTLIST ejb-local-ref id ID #IMPLIED> +<!ATTLIST ejb-ref id ID #IMPLIED> +<!ATTLIST ejb-ref-name id ID #IMPLIED> +<!ATTLIST ejb-ref-type id ID #IMPLIED> +<!ATTLIST env-entry id ID #IMPLIED> +<!ATTLIST env-entry-name id ID #IMPLIED> +<!ATTLIST env-entry-type id ID #IMPLIED> +<!ATTLIST env-entry-value id ID #IMPLIED> +<!ATTLIST error-code id ID #IMPLIED> +<!ATTLIST error-page id ID #IMPLIED> +<!ATTLIST exception-type id ID #IMPLIED> +<!ATTLIST extension id ID #IMPLIED> +<!ATTLIST filter id ID #IMPLIED> +<!ATTLIST filter-class id ID #IMPLIED> +<!ATTLIST filter-mapping id ID #IMPLIED> +<!ATTLIST filter-name id ID #IMPLIED> +<!ATTLIST form-error-page id ID #IMPLIED> +<!ATTLIST form-login-config id ID #IMPLIED> +<!ATTLIST form-login-page id ID #IMPLIED> +<!ATTLIST home id ID #IMPLIED> +<!ATTLIST http-method id ID #IMPLIED> +<!ATTLIST icon id ID #IMPLIED> +<!ATTLIST init-param id ID #IMPLIED> +<!ATTLIST jsp-file id ID #IMPLIED> +<!ATTLIST large-icon id ID #IMPLIED> +<!ATTLIST listener id ID #IMPLIED> +<!ATTLIST listener-class id ID #IMPLIED> +<!ATTLIST load-on-startup id ID #IMPLIED> +<!ATTLIST local id ID #IMPLIED> +<!ATTLIST local-home id ID #IMPLIED> +<!ATTLIST location id ID #IMPLIED> +<!ATTLIST login-config id ID #IMPLIED> +<!ATTLIST mime-mapping id ID #IMPLIED> +<!ATTLIST mime-type id ID #IMPLIED> +<!ATTLIST param-name id ID #IMPLIED> +<!ATTLIST param-value id ID #IMPLIED> +<!ATTLIST realm-name id ID #IMPLIED> +<!ATTLIST remote id ID #IMPLIED> +<!ATTLIST res-auth id ID #IMPLIED> +<!ATTLIST res-ref-name id ID #IMPLIED> +<!ATTLIST res-sharing-scope id ID #IMPLIED> +<!ATTLIST res-type id ID #IMPLIED> +<!ATTLIST resource-env-ref id ID #IMPLIED> +<!ATTLIST resource-env-ref-name id ID #IMPLIED> +<!ATTLIST resource-env-ref-type id ID #IMPLIED> +<!ATTLIST resource-ref id ID #IMPLIED> +<!ATTLIST role-link id ID #IMPLIED> +<!ATTLIST role-name id ID #IMPLIED> +<!ATTLIST run-as id ID #IMPLIED> +<!ATTLIST security-constraint id ID #IMPLIED> +<!ATTLIST security-role id ID #IMPLIED> +<!ATTLIST security-role-ref id ID #IMPLIED> +<!ATTLIST servlet id ID #IMPLIED> +<!ATTLIST servlet-class id ID #IMPLIED> +<!ATTLIST servlet-mapping id ID #IMPLIED> +<!ATTLIST servlet-name id ID #IMPLIED> +<!ATTLIST session-config id ID #IMPLIED> +<!ATTLIST session-timeout id ID #IMPLIED> +<!ATTLIST small-icon id ID #IMPLIED> +<!ATTLIST taglib id ID #IMPLIED> +<!ATTLIST taglib-location id ID #IMPLIED> +<!ATTLIST taglib-uri id ID #IMPLIED> +<!ATTLIST transport-guarantee id ID #IMPLIED> +<!ATTLIST url-pattern id ID #IMPLIED> +<!ATTLIST user-data-constraint id ID #IMPLIED> +<!ATTLIST web-app id ID #IMPLIED> +<!ATTLIST web-resource-collection id ID #IMPLIED> +<!ATTLIST web-resource-name id ID #IMPLIED> +<!ATTLIST welcome-file id ID #IMPLIED> +<!ATTLIST welcome-file-list id ID #IMPLIED>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_4.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_4.xsd new file mode 100644 index 0000000..367b206 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_4.xsd
@@ -0,0 +1,1243 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://java.sun.com/xml/ns/j2ee" + xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="2.4"> + <xsd:annotation> + <xsd:documentation> + @(#)web-app_2_4.xsds 1.60 03/08/26 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2004-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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 2.4 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 J2EE + namespace: + + http://java.sun.com/xml/ns/j2ee + + 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/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="2.4"> + ... + </web-app> + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for J2EE + namespace with the following location: + + http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd + + ]]> + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + The following conventions apply to all J2EE + 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="j2ee_1_4.xsd"/> + <xsd:include schemaLocation="jsp_2_0.xsd"/> + + +<!-- **************************************************** --> + + + <xsd:element name="web-app" type="j2ee: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 concatinate the element contents. The multiple occurance + 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-app-servlet-name-uniqueness"> + <xsd:annotation> + <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="j2ee:servlet"/> + <xsd:field xpath="j2ee:servlet-name"/> + </xsd:unique> + + <xsd:unique name="web-app-filter-name-uniqueness"> + <xsd:annotation> + <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="j2ee:filter"/> + <xsd:field xpath="j2ee:filter-name"/> + </xsd:unique> + + <xsd:unique name="web-app-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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="j2ee:ejb-local-ref"/> + <xsd:field xpath="j2ee:ejb-ref-name"/> + </xsd:unique> + + <xsd:unique name="web-app-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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="j2ee:ejb-ref"/> + <xsd:field xpath="j2ee:ejb-ref-name"/> + </xsd:unique> + + <xsd:unique name="web-app-resource-env-ref-uniqueness"> + <xsd:annotation> + <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="j2ee:resource-env-ref"/> + <xsd:field xpath="j2ee:resource-env-ref-name"/> + </xsd:unique> + + <xsd:unique name="web-app-message-destination-ref-uniqueness"> + <xsd:annotation> + <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="j2ee:message-destination-ref"/> + <xsd:field xpath="j2ee:message-destination-ref-name"/> + </xsd:unique> + + <xsd:unique name="web-app-res-ref-name-uniqueness"> + <xsd:annotation> + <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="j2ee:resource-ref"/> + <xsd:field xpath="j2ee:res-ref-name"/> + </xsd:unique> + + <xsd:unique name="web-app-env-entry-name-uniqueness"> + <xsd:annotation> + <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="j2ee:env-entry"/> + <xsd:field xpath="j2ee:env-entry-name"/> + </xsd:unique> + + <xsd:key name="web-app-role-name-key"> + <xsd:annotation> + <xsd:documentation> + + A role-name-key is specified to allow the references + from the security-role-refs. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:security-role"/> + <xsd:field xpath="j2ee:role-name"/> + </xsd:key> + + <xsd:keyref name="web-app-role-name-references" + refer="j2ee:web-app-role-name-key"> + <xsd:annotation> + <xsd:documentation> + + The keyref indicates the references from + security-role-ref to a specified role-name. + + </xsd:documentation> + </xsd:annotation> + <xsd:selector xpath="j2ee:servlet/j2ee:security-role-ref"/> + <xsd:field xpath="j2ee:role-link"/> + </xsd:keyref> + </xsd:element> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="j2ee:role-nameType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="dispatcherType"> + <xsd:annotation> + <xsd:documentation> + + The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE, + 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 ordinary client calls to + the path or servlet. A value of INCLUDE means the Filter will be + applied under RequestDispatcher.include() calls. 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="j2ee:string"> + <xsd:enumeration value="FORWARD"/> + <xsd:enumeration value="INCLUDE"/> + <xsd:enumeration value="REQUEST"/> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:xsdPositiveIntegerType"> + <xsd:pattern value="\d{3}"/> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="error-pageType"> + <xsd:annotation> + <xsd:documentation> + + The error-pageType contains a mapping between an error code + or exception type to the path of a resource in the web + application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:choice> + <xsd:element name="error-code" + type="j2ee:error-codeType"/> + + <xsd:element name="exception-type" + type="j2ee: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> + </xsd:choice> + + <xsd:element name="location" + type="j2ee: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> + </xsd:element> + </xsd:sequence> + <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="j2ee:filter-nameType"/> + <xsd:choice> + <xsd:element name="url-pattern" + type="j2ee:url-patternType"/> + <xsd:element name="servlet-name" + type="j2ee:servlet-nameType"/> + </xsd:choice> + <xsd:element name="dispatcher" + type="j2ee:dispatcherType" + minOccurs="0" maxOccurs="4"/> + </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="j2ee: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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="filter-name" + type="j2ee:filter-nameType"/> + <xsd:element name="filter-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The fully qualified classname of the filter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="init-param" + type="j2ee: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> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="form-login-configType"> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + + <xsd:element name="form-login-page" + type="j2ee: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="j2ee: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:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="http-methodType"> + <xsd:annotation> + + <xsd:documentation> + + The http-method contains an HTTP method recognized by the + web-app, for example GET, POST, ... + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:enumeration value="GET"/> + <xsd:enumeration value="POST"/> + <xsd:enumeration value="PUT"/> + <xsd:enumeration value="DELETE"/> + <xsd:enumeration value="HEAD"/> + <xsd:enumeration value="OPTIONS"/> + <xsd:enumeration value="TRACE"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <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="locale-encoding-mapping" + type="j2ee:locale-encoding-mappingType" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <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="j2ee:localeType"/> + <xsd:element name="encoding" + type="j2ee:encodingType"/> + </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: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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="auth-method" + type="j2ee:auth-methodType" + minOccurs="0"/> + <xsd:element name="realm-name" + type="j2ee: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> + </xsd:element> + <xsd:element name="form-login-config" + type="j2ee:form-login-configType" + minOccurs="0"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:annotation> + <xsd:documentation> + + The extension element contains a string describing an + extension. example: "txt" + + </xsd:documentation> + </xsd:annotation> + + <xsd:element name="extension" + type="j2ee:string"/> + <xsd:element name="mime-type" + type="j2ee:mime-typeType"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="nonEmptyStringType"> + <xsd:annotation> + <xsd:documentation> + This type defines a string which contains at least one + character. + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <xsd:minLength value="1"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-constraintType"> + <xsd:annotation> + <xsd:documentation> + + 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:sequence> + <xsd:element name="display-name" + type="j2ee:display-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="web-resource-collection" + type="j2ee:web-resource-collectionType" + maxOccurs="unbounded"/> + <xsd:element name="auth-constraint" + type="j2ee:auth-constraintType" + minOccurs="0"/> + <xsd:element name="user-data-constraint" + type="j2ee:user-data-constraintType" + minOccurs="0"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="servlet-name" + type="j2ee:servlet-nameType"/> + <xsd:element name="url-pattern" + type="j2ee:url-patternType"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:extension base="j2ee:nonEmptyStringType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="servletType"> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="servlet-name" + type="j2ee:servlet-nameType"/> + <xsd:choice> + <xsd:element name="servlet-class" + type="j2ee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + 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="j2ee:jsp-fileType"/> + + </xsd:choice> + + <xsd:element name="init-param" + type="j2ee:param-valueType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="load-on-startup" + type="j2ee:xsdIntegerType" + 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="run-as" + type="j2ee:run-asType" + minOccurs="0"/> + <xsd:element name="security-role-ref" + type="j2ee:security-role-refType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="session-configType"> + <xsd:annotation> + <xsd:documentation> + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="session-timeout" + type="j2ee:xsdIntegerType" + 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. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="transport-guarantee" + type="j2ee:transport-guaranteeType"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="j2ee:string"> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="2.4"/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="web-appType"> + + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:group ref="j2ee:descriptionGroup"/> + <xsd:element name="distributable" + type="j2ee:emptyType"/> + <xsd:element name="context-param" + type="j2ee: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="j2ee:filterType"/> + <xsd:element name="filter-mapping" + type="j2ee:filter-mappingType"/> + <xsd:element name="listener" + type="j2ee:listenerType"/> + <xsd:element name="servlet" + type="j2ee:servletType"/> + <xsd:element name="servlet-mapping" + type="j2ee:servlet-mappingType"/> + <xsd:element name="session-config" + type="j2ee:session-configType"/> + <xsd:element name="mime-mapping" + type="j2ee:mime-mappingType"/> + <xsd:element name="welcome-file-list" + type="j2ee:welcome-file-listType"/> + <xsd:element name="error-page" + type="j2ee:error-pageType"/> + <xsd:element name="jsp-config" + type="j2ee:jsp-configType"/> + <xsd:element name="security-constraint" + type="j2ee:security-constraintType"/> + <xsd:element name="login-config" + type="j2ee:login-configType"/> + <xsd:element name="security-role" + type="j2ee:security-roleType"/> + <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/> + <xsd:element name="message-destination" + type="j2ee:message-destinationType"/> + <xsd:element name="locale-encoding-mapping-list" + type="j2ee:locale-encoding-mapping-listType"/> + </xsd:choice> + + <xsd:attribute name="version" + type="j2ee:web-app-versionType" + use="required"/> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="web-resource-collectionType"> + <xsd:annotation> + <xsd:documentation> + + The web-resource-collectionType is used to identify a subset + of the resources and HTTP methods on those resources within + a web application to which a security constraint applies. If + no HTTP methods are specified, then the security constraint + applies to all HTTP methods. + + Used in: security-constraint + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="web-resource-name" + type="j2ee:string"> + <xsd:annotation> + <xsd:documentation> + + The web-resource-name contains the name of this web + resource collection. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="description" + type="j2ee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="url-pattern" + type="j2ee:url-patternType" + maxOccurs="unbounded"/> + <xsd:element name="http-method" + type="j2ee:http-methodType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <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. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="welcome-file" + type="xsd:string" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + 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:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_5.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_5.xsd new file mode 100644 index 0000000..49edde8 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_2_5.xsd
@@ -0,0 +1,1278 @@ +<?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="2.5"> + <xsd:annotation> + <xsd:documentation> + @(#)web-app_2_5.xsds 1.62 05/08/06 + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 2.5 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="2.5"> + ... + </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_2_5.xsd + + ]]> + </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_5.xsd"/> + <xsd:include schemaLocation="jsp_2_1.xsd"/> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + + <xsd:unique name="web-app-servlet-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-filter-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-resource-env-ref-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-message-destination-ref-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-res-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-app-env-entry-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:key name="web-app-role-name-key"> + <xsd:annotation> + <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:key> + + <xsd:keyref name="web-app-role-name-references" + refer="javaee:web-app-role-name-key"> + <xsd:annotation> + <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:keyref> + </xsd:element> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="dispatcherType"> + <xsd:annotation> + <xsd:documentation> + + The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE, + 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 ordinary client calls to + the path or servlet. A value of INCLUDE means the Filter will be + applied under RequestDispatcher.include() calls. 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="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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:xsdPositiveIntegerType"> + <xsd:pattern value="\d{3}"/> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="error-pageType"> + <xsd:annotation> + <xsd:documentation> + + The error-pageType contains a mapping between an error code + or exception type to the path of a resource in the web + application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:choice> + <xsd:element name="error-code" + type="javaee:error-codeType"/> + + <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> + </xsd:choice> + + <xsd:element name="location" + 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> + </xsd:element> + </xsd:sequence> + <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="4"/> + </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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="filter-name" + type="javaee:filter-nameType"/> + <xsd:element name="filter-class" + type="javaee:fully-qualified-classType"> + <xsd:annotation> + <xsd:documentation> + + The fully qualified classname of the filter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="init-param" + 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> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="form-login-configType"> + <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 + + </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:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:simpleType name="http-methodType"> + <xsd:annotation> + + <xsd:documentation> + + 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="[!-~-[\(\)<>@,;:"/\[\]?=\{\}\\\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: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="locale-encoding-mapping" + type="javaee:locale-encoding-mappingType" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + +<!-- **************************************************** --> + + <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: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: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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="auth-method" + type="javaee:auth-methodType" + minOccurs="0"/> + <xsd:element name="realm-name" + 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> + </xsd:element> + <xsd:element name="form-login-config" + type="javaee:form-login-configType" + minOccurs="0"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:annotation> + <xsd:documentation> + + The extension element contains a string describing an + extension. example: "txt" + + </xsd:documentation> + </xsd:annotation> + + <xsd:element name="extension" + type="javaee:string"/> + <xsd:element name="mime-type" + type="javaee:mime-typeType"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="nonEmptyStringType"> + <xsd:annotation> + <xsd:documentation> + 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:simpleType name="null-charType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value=""/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="security-constraintType"> + <xsd:annotation> + <xsd:documentation> + + 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: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: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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="servlet-name" + type="javaee:servlet-nameType"/> + <xsd:element name="url-pattern" + type="javaee:url-patternType" + minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + <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 special servlet name of "*" may be used to reference all + servlets. + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:extension base="javaee:nonEmptyStringType"/> + </xsd:simpleContent> + </xsd:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="servletType"> + <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 + + </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> + + 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="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:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="session-configType"> + <xsd:annotation> + <xsd:documentation> + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="session-timeout" + type="javaee:xsdIntegerType" + 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. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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 + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="transport-guarantee" + type="javaee:transport-guaranteeType"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="2.5"/> + </xsd:restriction> + </xsd:simpleType> + +<!-- **************************************************** --> + + <xsd:complexType name="web-appType"> + + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:group ref="javaee:descriptionGroup"/> + <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:attribute name="version" + 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> + + 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:complexType> + +<!-- **************************************************** --> + + <xsd:complexType name="web-resource-collectionType"> + <xsd:annotation> + <xsd:documentation> + + The web-resource-collectionType is used to identify a subset + of the resources and HTTP methods on those resources within + a web application to which a security constraint applies. If + no HTTP methods are specified, then the security constraint + applies to all HTTP methods. + + Used in: security-constraint + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="web-resource-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + 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"/> + <xsd:element name="url-pattern" + type="javaee:url-patternType" + maxOccurs="unbounded"/> + <xsd:element name="http-method" + type="javaee:http-methodType" + minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <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. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + + <xsd:sequence> + <xsd:element name="welcome-file" + type="xsd:string" + maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation> + + 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:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_0.xsd new file mode 100644 index 0000000..cf9abb0 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_0.xsd
@@ -0,0 +1,280 @@ +<?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"> + <xsd:annotation> + <xsd:documentation> + + $Id: web-app_3_0.xsd,v 1.1.2.1 2011/03/23 09:21:12 hmalphett Exp $ + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 + +]]> + </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="web-common_3_0.xsd"/> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:unique name="web-common-servlet-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-filter-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-resource-env-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-message-destination-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-res-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-env-entry-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:key name="web-common-role-name-key"> + <xsd:annotation> + <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:key> + <xsd:keyref name="web-common-role-name-references" + refer="javaee:web-common-role-name-key"> + <xsd:annotation> + <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:keyref> + </xsd:element> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_1.xsd new file mode 100644 index 0000000..898f1b3 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-app_3_1.xsd
@@ -0,0 +1,326 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="3.1"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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.1 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://xmlns.jcp.org/xml/ns/javaee + + and by indicating the version of the schema by + using the version element as shown below: + + <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="3.1"> + ... + </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://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd + + ]]> + </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="web-common_3_1.xsd"/> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:unique name="web-common-servlet-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-filter-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-resource-env-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-message-destination-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-res-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-env-entry-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:key name="web-common-role-name-key"> + <xsd:annotation> + <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:key> + <xsd:keyref name="web-common-role-name-references" + refer="javaee:web-common-role-name-key"> + <xsd:annotation> + <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:keyref> + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="web-appType"> + <xsd:choice minOccurs="0" + maxOccurs="unbounded"> + <xsd:element name="module-name" + type="javaee:string" + minOccurs="0"/> + <xsd:group ref="javaee:web-commonType"/> + <xsd:element name="deny-uncovered-http-methods" + type="javaee:emptyType"> + <xsd:annotation> + <xsd:documentation> + + When specified, this element causes uncovered http methods + to be denied. For every url-pattern that is the target of a + security-constrant, this element causes all HTTP methods that + are NOT covered (by a security constraint) at the url-pattern + to be denied. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="absolute-ordering" + type="javaee:absoluteOrderingType"/> + </xsd:choice> + <xsd:attributeGroup ref="javaee:web-common-attributes"/> + </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:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_0.xsd new file mode 100644 index 0000000..cc63865 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_0.xsd
@@ -0,0 +1,1583 @@ +<?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"> + <xsd:annotation> + <xsd:documentation> + + $Id: web-common_3_0.xsd,v 1.1.2.1 2011/03/23 09:21:13 hmalphett Exp $ + + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 + + ]]> + </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:include schemaLocation="jsp_2_2.xsd"/> + + <xsd:group name="web-commonType"> + <xsd:choice> + <xsd:group ref="javaee:descriptionGroup"/> + <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" + 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> + + 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> + + +<!-- **************************************************** --> + + <xsd:complexType name="web-appType"> + <xsd:choice minOccurs="0" + maxOccurs="unbounded"> + <xsd:element name="module-name" + type="javaee:string" + minOccurs="0"/> + <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:complexType name="web-fragmentType"> + <xsd:choice minOccurs="0" + maxOccurs="unbounded"> + <xsd:element name="name" + type="javaee:java-identifierType"/> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </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 + ordinary client calls to the path or servlet. + A value of INCLUDE means the Filter will be applied under + RequestDispatcher.include() calls. + A value of ASYNC means the Filter will be applied under + 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:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="error-codeType"> + <xsd:annotation> + <xsd:documentation> + + 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:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="error-pageType"> + <xsd:annotation> + <xsd:documentation> + + 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: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> + </xsd:choice> + <xsd:element name="location" + 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> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="filter-name" + type="javaee:filter-nameType"/> + <xsd:element name="filter-class" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The fully qualified classname of the filter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="async-supported" + type="javaee:true-falseType" + minOccurs="0"/> + <xsd:element name="init-param" + 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> + </xsd:element> + </xsd:sequence> + <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="nonEmptyStringType"> + <xsd:annotation> + <xsd:documentation> + + 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: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="form-login-configType"> + <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 + + </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:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:simpleType name="http-methodType"> + <xsd:annotation> + <xsd:documentation> + + 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="[!-~-[\(\)<>@,;:"/\[\]?=\{\}\\\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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="auth-method" + type="javaee:auth-methodType" + minOccurs="0"/> + <xsd:element name="realm-name" + 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> + </xsd:element> + <xsd:element name="form-login-config" + type="javaee:form-login-configType" + minOccurs="0"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:annotation> + <xsd:documentation> + + The extension element contains a string describing an + extension. example: "txt" + + </xsd:documentation> + </xsd:annotation> + <xsd:element name="extension" + type="javaee:string"/> + <xsd:element name="mime-type" + type="javaee:mime-typeType"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-constraintType"> + <xsd:annotation> + <xsd:documentation> + + 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: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:complexType name="servletType"> + <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 + + </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> + + 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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="servlet-name" + type="javaee:servlet-nameType"/> + <xsd:element name="url-pattern" + type="javaee:url-patternType" + minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:nonEmptyStringType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="session-configType"> + <xsd:annotation> + <xsd:documentation> + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="session-timeout" + type="javaee:xsdIntegerType" + 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. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="cookie-config" + type="javaee:cookie-configType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + 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> + + The tracking-mode element defines the tracking modes + for sessions created by this web application + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </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-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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="transport-guarantee" + type="javaee:transport-guaranteeType"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="3.0"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="web-resource-collectionType"> + <xsd:annotation> + <xsd:documentation> + + The web-resource-collectionType is used to identify the + resources and HTTP methods on those resources to which a + security constraint applies. If no HTTP methods are specified, + then the security constraint applies to all HTTP methods. + If HTTP methods are specified by http-method-omission + 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. + + Used in: security-constraint + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="web-resource-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + 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"/> + <xsd:element name="url-pattern" + 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"> + <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"> + <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:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="welcome-file-listType"> + <xsd:annotation> + <xsd:documentation> + + 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> + + 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="locale-encoding-mapping" + type="javaee:locale-encoding-mappingType" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <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: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 specifies configuration information related to the + handling of multipart/form-data requests. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="location" + type="javaee:string" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The directory location where uploaded files will be stored + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-file-size" + type="xsd:long" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The maximum size limit of uploaded files + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-request-size" + type="xsd:long" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The maximum size limit of multipart/form-data requests + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="file-size-threshold" + type="xsd:integer" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The size threshold after which an uploaded file will be + written to disk + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_1.xsd new file mode 100644 index 0000000..01b3948 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-common_3_1.xsd
@@ -0,0 +1,1474 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="3.1"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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.1 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://xmlns.jcp.org/xml/ns/javaee + + and by indicating the version of the schema by + using the version element as shown below: + + <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="3.1"> + ... + </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://xmlns.jcp.org/xml/ns/javaee/web-common_3_1.xsd + + ]]> + </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_7.xsd"/> + + <xsd:include schemaLocation="jsp_2_3.xsd"/> + + <xsd:group name="web-commonType"> + <xsd:choice> + <xsd:group ref="javaee:descriptionGroup"/> + <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" + 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> + + 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> + + +<!-- **************************************************** --> + + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="role-name" + type="javaee:role-nameType" + minOccurs="0" + maxOccurs="unbounded"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"/> + </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 + ordinary client calls to the path or servlet. + A value of INCLUDE means the Filter will be applied under + RequestDispatcher.include() calls. + A value of ASYNC means the Filter will be applied under + 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:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="error-codeType"> + <xsd:annotation> + <xsd:documentation> + + 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:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="error-pageType"> + <xsd:annotation> + <xsd:documentation> + + 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 + error-code element must be unique in the deployment descriptor + up to the status code. + + If an error-page element in the deployment descriptor does not + contain an exception-type or an error-code element, the error + page is a default error page. + + 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: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> + </xsd:choice> + <xsd:element name="location" + 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> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:group ref="javaee:descriptionGroup"/> + <xsd:element name="filter-name" + type="javaee:filter-nameType"/> + <xsd:element name="filter-class" + type="javaee:fully-qualified-classType" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The fully qualified classname of the filter. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="async-supported" + type="javaee:true-falseType" + minOccurs="0"/> + <xsd:element name="init-param" + 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> + </xsd:element> + </xsd:sequence> + <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="nonEmptyStringType"> + <xsd:annotation> + <xsd:documentation> + + 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: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="form-login-configType"> + <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 + + </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:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + <xsd:simpleType name="http-methodType"> + <xsd:annotation> + <xsd:documentation> + + 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="[!-~-[\(\)<>@,;:"/\[\]?=\{\}\\\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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="auth-method" + type="javaee:auth-methodType" + minOccurs="0"/> + <xsd:element name="realm-name" + 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> + </xsd:element> + <xsd:element name="form-login-config" + type="javaee:form-login-configType" + minOccurs="0"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:annotation> + <xsd:documentation> + + The extension element contains a string describing an + extension. example: "txt" + + </xsd:documentation> + </xsd:annotation> + <xsd:element name="extension" + type="javaee:string"/> + <xsd:element name="mime-type" + type="javaee:mime-typeType"/> + </xsd:sequence> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="security-constraintType"> + <xsd:annotation> + <xsd:documentation> + + 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: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:complexType name="servletType"> + <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 + + </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> + + 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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="servlet-name" + type="javaee:servlet-nameType"/> + <xsd:element name="url-pattern" + type="javaee:url-patternType" + minOccurs="1" + maxOccurs="unbounded"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="javaee:nonEmptyStringType"/> + </xsd:simpleContent> + </xsd:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="session-configType"> + <xsd:annotation> + <xsd:documentation> + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="session-timeout" + type="javaee:xsdIntegerType" + 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. + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="cookie-config" + type="javaee:cookie-configType" + minOccurs="0"> + <xsd:annotation> + <xsd:documentation> + + 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> + + The tracking-mode element defines the tracking modes + for sessions created by this web application + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </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. + When true, all session tracking cookies must be marked + as secure independent of the nature of the request that + initiated the corresponding session. + When false, the session cookie should only be marked secure + if the request that initiated the session was secure. + + </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-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: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 + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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 + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="description" + type="javaee:descriptionType" + minOccurs="0" + maxOccurs="unbounded"/> + <xsd:element name="transport-guarantee" + type="javaee:transport-guaranteeType"/> + </xsd:sequence> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:restriction base="javaee:string"> + <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. + + </xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="3.1"/> + </xsd:restriction> + </xsd:simpleType> + + +<!-- **************************************************** --> + + <xsd:complexType name="web-resource-collectionType"> + <xsd:annotation> + <xsd:documentation> + + The web-resource-collectionType is used to identify the + resources and HTTP methods on those resources to which a + security constraint applies. If no HTTP methods are specified, + then the security constraint applies to all HTTP methods. + If HTTP methods are specified by http-method-omission + 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. + + Used in: security-constraint + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="web-resource-name" + type="javaee:string"> + <xsd:annotation> + <xsd:documentation> + + 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"/> + <xsd:element name="url-pattern" + 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"> + <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"> + <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:complexType> + + +<!-- **************************************************** --> + + <xsd:complexType name="welcome-file-listType"> + <xsd:annotation> + <xsd:documentation> + + 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> + + 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="locale-encoding-mapping" + type="javaee:locale-encoding-mappingType" + maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" + type="xsd:ID"/> + </xsd:complexType> + + +<!-- **************************************************** --> + + <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: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="multipart-configType"> + <xsd:annotation> + <xsd:documentation> + + This element specifies configuration information related to the + handling of multipart/form-data requests. + + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="location" + type="javaee:string" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The directory location where uploaded files will be stored + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-file-size" + type="xsd:long" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The maximum size limit of uploaded files + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="max-request-size" + type="xsd:long" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The maximum size limit of multipart/form-data requests + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="file-size-threshold" + type="xsd:integer" + minOccurs="0" + maxOccurs="1"> + <xsd:annotation> + <xsd:documentation> + + The size threshold after which an uploaded file will be + written to disk + + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + +</xsd:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_0.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_0.xsd new file mode 100644 index 0000000..cfdd307 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_0.xsd
@@ -0,0 +1,290 @@ +<?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"> + <xsd:annotation> + <xsd:documentation> + @(#)web-fragment_3_0.xsds + </xsd:documentation> + </xsd:annotation> + + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2007 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 + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + 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 + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + 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 + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + 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 "META-INF/web-fragment.xml" in the + web fragment's jar file. All Servlet deployment descriptors + must indicate the web fragment 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-fragment xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="3.0"> + ... + </web-fragment> + + 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-fragment_3_0.xsd + + ]]> + </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="web-common_3_0.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="web-fragment" type="javaee:web-fragmentType"> + <xsd:annotation> + <xsd:documentation> + + The web-fragment element is the root of the deployment + descriptor for a web fragment. 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> + + 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:unique> + + <xsd:unique name="web-common-filter-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-resource-env-ref-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-message-destination-ref-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-res-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:unique name="web-common-env-entry-name-uniqueness"> + <xsd:annotation> + <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:unique> + + <xsd:key name="web-common-role-name-key"> + <xsd:annotation> + <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:key> + + <xsd:keyref name="web-common-role-name-references" + refer="javaee:web-common-role-name-key"> + <xsd:annotation> + <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:keyref> + </xsd:element> + +</xsd:schema> +
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_1.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_1.xsd new file mode 100644 index 0000000..435ba58 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/web-fragment_3_1.xsd
@@ -0,0 +1,340 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="3.1"> + <xsd:annotation> + <xsd:documentation> + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2009-2013 Oracle and/or its affiliates. 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 "License"). You + may not use this file except in compliance with the License. You can + obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html + or packager/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 packager/legal/LICENSE.txt. + + GPL Classpath Exception: + Oracle designates this particular file as subject to the "Classpath" + exception as provided by Oracle in the GPL Version 2 section of the License + file that accompanied this code. + + Modifications: + If applicable, add the following below the License Header, with the fields + enclosed by brackets [] replaced by your own identifying information: + "Portions Copyright [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 distribution under the [CDDL or GPL + Version 2] license." If you don't indicate a single choice of license, a + recipient has the option to distribute your version of this file under + either the CDDL, the GPL Version 2 or to extend the choice of license to + its licensees as provided above. However, if you add GPL Version 2 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.1 deployment descriptor. + The deployment descriptor must be named "META-INF/web-fragment.xml" + in the web fragment's jar file. All Servlet deployment descriptors + must indicate the web application schema by using the Java EE + namespace: + + http://xmlns.jcp.org/xml/ns/javaee + + and by indicating the version of the schema by + using the version element as shown below: + + <web-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="..." + version="3.1"> + ... + </web-fragment> + + 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://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd + + ]]> + </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="web-common_3_1.xsd"/> + + +<!-- **************************************************** --> + + <xsd:element name="web-fragment" + type="javaee:web-fragmentType"> + <xsd:annotation> + <xsd:documentation> + + The web-fragment element is the root of the deployment + descriptor for a web fragment. 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> + + 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:unique> + <xsd:unique name="web-common-filter-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-local-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-ejb-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-resource-env-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-message-destination-ref-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-res-ref-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:unique name="web-common-env-entry-name-uniqueness"> + <xsd:annotation> + <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:unique> + <xsd:key name="web-common-role-name-key"> + <xsd:annotation> + <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:key> + <xsd:keyref name="web-common-role-name-references" + refer="javaee:web-common-role-name-key"> + <xsd:annotation> + <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:keyref> + </xsd:element> + + +<!-- **************************************************** --> + + <xsd:complexType name="web-fragmentType"> + <xsd:choice minOccurs="0" + maxOccurs="unbounded"> + <xsd:element name="name" + type="javaee:java-identifierType"/> + <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="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:schema>
diff --git a/jetty-schemas/src/main/resources/javax/servlet/resources/xml.xsd b/jetty-schemas/src/main/resources/javax/servlet/resources/xml.xsd new file mode 100644 index 0000000..72e0a32 --- /dev/null +++ b/jetty-schemas/src/main/resources/javax/servlet/resources/xml.xsd
@@ -0,0 +1,82 @@ +<?xml version='1.0'?> + +<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" > +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en"> + + <xs:annotation> + <xs:documentation> + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation>This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes</xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation>In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2001/03/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself. In other words, if the XML Schema namespace changes, the version + of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2001/03/xml.xsd will not change. + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang" type="xs:language"> + <xs:annotation> + <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . .</xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="space" default="preserve"> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>See http://www.w3.org/TR/xmlbase/ for + information about this attribute.</xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + </xs:attributeGroup> + +</xs:schema>