From 1a28a2af23ee772a851579dca698f44f65f3f1dd Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 26 Jan 2017 17:30:33 +0000 Subject: [PATCH] Use the EL API and compiler from Jetty, not old Tomcat Bundle the DTDs, as extracted from jetty-schemas-3.1.jar These were in lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar in Jetty 8 but are not in any lib/jsp/*.jar in Jetty 9. GPL v2: Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved. Copyright 2004 The Apache Software Foundation Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved. --- apps/jetty/build.xml | 12 +- .../javax/servlet/jsp/resources/jsp_2_0.xsd | 317 +++++ .../javax/servlet/jsp/resources/jsp_2_1.xsd | 350 +++++ .../javax/servlet/jsp/resources/jsp_2_2.xsd | 397 ++++++ .../javax/servlet/jsp/resources/jsp_2_3.xsd | 389 ++++++ .../servlet/jsp/resources/jspxml_2_0.dtd | 189 +++ .../servlet/jsp/resources/jspxml_2_0.xsd | 513 ++++++++ .../jsp/resources/web-jsptaglibrary_1_1.dtd | 228 ++++ .../jsp/resources/web-jsptaglibrary_1_2.dtd | 499 +++++++ .../jsp/resources/web-jsptaglibrary_2_0.xsd | 1019 +++++++++++++++ .../jsp/resources/web-jsptaglibrary_2_1.xsd | 1150 +++++++++++++++++ 11 files changed, 5058 insertions(+), 5 deletions(-) create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_0.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_1.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_2.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_3.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd create mode 100644 apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd diff --git a/apps/jetty/build.xml b/apps/jetty/build.xml index a99b63f2bb..5e42038d81 100644 --- a/apps/jetty/build.xml +++ b/apps/jetty/build.xml @@ -169,10 +169,14 @@ <attribute name="Note" value="Intentionally empty" /> </manifest> </jar> + <!-- TODO we may wish to put the compiler in jasper-runtime.jar instead --> <jar destfile="jettylib/javax.servlet.jar" duplicate="preserve" filesetmanifest="mergewithoutmain" > <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/servlet-api-3.1.jar" /> <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/javax.servlet.jsp-api-2.3.1.jar" /> <zipfileset excludes="about.html about_files about_files/* META-INF/ECLIPSEF.* META-INF/eclipse.inf plugin.properties" src="${jetty.base}/lib/jsp/javax.servlet.jsp-2.3.2.jar" /> + <!-- These files are copied out of jetty-schemas-3.1.jar --> + <!-- In Debian packages they are found in /usr/share/java/tomcat8-servlet-api.jar in the libtomcat8-java package --> + <fileset dir="resources" includes="javax/**/*" /> </jar> <!-- <delete file="jetty.tar" /> @@ -237,16 +241,14 @@ <target name="copyTomcatLib2" unless="${with-libtomcat-java}" > - <!-- EL libs. + <!-- EL API and compiler libs. Tomcat 6 has EL 2.1. Tomcat 7 / libservlet3.0 has EL 2.2. + Jetty 9 / Tomcat 8 / libservlet3.1 has EL 3.0. According to http://stackoverflow.com/questions/7202686/differences-between-el-2-1-and-2-2 2.2 is backwards-compatible with 2.1. --> - <jar destfile="jettylib/commons-el.jar" duplicate="preserve" filesetmanifest="merge" > - <zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper-el.jar" /> - <zipfileset excludes="META-INF/**/*" src="${tomcat.lib}/el-api.jar" /> - </jar> + <copy preservelastmodified="true" file="${jetty.base}/lib/jsp/javax.el-3.0.0.jar" tofile="jettylib/commons-el.jar" /> <jar destfile="jettylib/jasper-runtime.jar" > <manifest> diff --git a/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_0.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_0.xsd new file mode 100644 index 0000000000..fcb07f0237 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_1.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_1.xsd new file mode 100644 index 0000000000..834d42091d --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_2.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_2.xsd new file mode 100644 index 0000000000..1834481f2e --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_3.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/jsp_2_3.xsd new file mode 100644 index 0000000000..564d309dc7 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd b/apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.dtd new file mode 100644 index 0000000000..dffe0466c0 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/jspxml_2_0.xsd new file mode 100644 index 0000000000..886ee65e97 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd b/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd new file mode 100644 index 0000000000..8cb216627d --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd b/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd new file mode 100644 index 0000000000..6ea0ee9246 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd new file mode 100644 index 0000000000..e7a7516927 --- /dev/null +++ b/apps/jetty/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/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd b/apps/jetty/resources/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd new file mode 100644 index 0000000000..705a0852da --- /dev/null +++ b/apps/jetty/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> + -- GitLab