From 1c8894bce7c23ec3bafa15183998e2c6a92f949d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Novotn=C3=BD?= Date: Tue, 9 Aug 2016 15:54:41 +0200 Subject: [PATCH] WINDUP-1099 adding java ee schemas (#1003) --- .../catalog/xsd/application-client_5.xsd | 310 ++ .../catalog/xsd/application-client_6.xsd | 311 ++ .../catalog/xsd/application-client_7.xsd | 331 ++ .../resources/catalog/xsd/application_5.xsd | 341 ++ .../resources/catalog/xsd/application_6.xsd | 394 ++ .../resources/catalog/xsd/application_7.xsd | 414 ++ .../resources/catalog/xsd/batchXML_1_0.xsd | 34 + .../main/resources/catalog/xsd/beans_1_0.xsd | 180 + .../main/resources/catalog/xsd/beans_1_1.xsd | 355 ++ .../resources/catalog/xsd/connector_1_6.xsd | 1261 ++++++ .../resources/catalog/xsd/connector_1_7.xsd | 1233 ++++++ .../resources/catalog/xsd/ejb-jar_3_0.xsd | 2712 ++++++++++++ .../resources/catalog/xsd/ejb-jar_3_1.xsd | 3247 +++++++++++++++ .../resources/catalog/xsd/ejb-jar_3_2.xsd | 3375 +++++++++++++++ .../main/resources/catalog/xsd/javaee_5.xsd | 2102 ++++++++++ .../main/resources/catalog/xsd/javaee_6.xsd | 2422 +++++++++++ .../main/resources/catalog/xsd/javaee_7.xsd | 3098 ++++++++++++++ .../catalog/xsd/javaee_web_services_1_2.xsd | 754 ++++ .../catalog/xsd/javaee_web_services_1_3.xsd | 572 +++ .../catalog/xsd/javaee_web_services_1_4.xsd | 572 +++ .../xsd/javaee_web_services_client_1_2.xsd | 585 +++ .../xsd/javaee_web_services_client_1_3.xsd | 737 ++++ .../xsd/javaee_web_services_client_1_4.xsd | 737 ++++ ...vaee_web_services_metadata_handler_2_0.xsd | 41 + .../main/resources/catalog/xsd/jobXML_1_0.xsd | 359 ++ .../main/resources/catalog/xsd/jsp_2_1.xsd | 349 ++ .../main/resources/catalog/xsd/jsp_2_2.xsd | 389 ++ .../main/resources/catalog/xsd/jsp_2_3.xsd | 389 ++ .../main/resources/catalog/xsd/orm_1_0.xsd | 1561 +++++++ .../main/resources/catalog/xsd/orm_2_0.xsd | 1938 +++++++++ .../main/resources/catalog/xsd/orm_2_1.xsd | 2336 +++++++++++ .../resources/catalog/xsd/permissions_7.xsd | 175 + .../resources/catalog/xsd/persistence_1_0.xsd | 305 ++ .../resources/catalog/xsd/persistence_2_0.xsd | 354 ++ .../resources/catalog/xsd/persistence_2_1.xsd | 354 ++ .../resources/catalog/xsd/web-app_2_5.xsd | 1275 ++++++ .../resources/catalog/xsd/web-app_3_0.xsd | 272 ++ .../resources/catalog/xsd/web-app_3_1.xsd | 326 ++ .../resources/catalog/xsd/web-common_3_0.xsd | 1575 +++++++ .../resources/catalog/xsd/web-common_3_1.xsd | 1474 +++++++ .../catalog/xsd/web-facelettaglibrary_2_0.xsd | 598 +++ .../catalog/xsd/web-facelettaglibrary_2_2.xsd | 684 +++ .../catalog/xsd/web-facesconfig_1_2.xsd | 2108 ++++++++++ .../catalog/xsd/web-facesconfig_2_0.xsd | 2739 ++++++++++++ .../catalog/xsd/web-facesconfig_2_2.xsd | 3703 +++++++++++++++++ .../catalog/xsd/web-facesuicomponent_2_0.xsd | 220 + .../catalog/xsd/web-fragment_3_0.xsd | 272 ++ .../catalog/xsd/web-fragment_3_1.xsd | 340 ++ .../catalog/xsd/web-jsptaglibrary_2_1.xsd | 1150 +++++ .../catalog/xsd/web-partialresponse_2_0.xsd | 312 ++ .../catalog/xsd/web-partialresponse_2_2.xsd | 426 ++ .../src/main/resources/catalog/xsd/xml.xsd | 287 ++ .../resources/catalog/xsd/xmlcatalog11.xsd | 266 ++ .../api/src/main/resources/core-catalog.xml | 64 +- 54 files changed, 52714 insertions(+), 4 deletions(-) create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application-client_5.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application-client_6.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application-client_7.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application_5.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application_6.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/application_7.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/batchXML_1_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/beans_1_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/beans_1_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/connector_1_6.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/connector_1_7.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_5.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_6.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_7.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_3.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_4.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_3.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_4.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_metadata_handler_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/jobXML_1_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/jsp_2_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/jsp_2_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/jsp_2_3.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/orm_1_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/orm_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/orm_2_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/permissions_7.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/persistence_1_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/persistence_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/persistence_2_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-app_2_5.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-app_3_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-app_3_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-common_3_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-common_3_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_1_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-facesuicomponent_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-jsptaglibrary_2_1.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_0.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_2.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/xml.xsd create mode 100644 rules-xml/api/src/main/resources/catalog/xsd/xmlcatalog11.xsd diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application-client_5.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application-client_5.xsd new file mode 100644 index 0000000000..a6be8f0c10 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application-client_5.xsd @@ -0,0 +1,310 @@ + + + + + @(#)application-client_5.xsds 1.26 02/17/06 + + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/application-client_5.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application-client element is the root element of an + application client deployment descriptor. The application + client deployment descriptor describes the EJB components + and external resources referenced by the application + client. + + + + + + + + + The env-entry-name element contains the name of an + application client's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name must + be unique within an application client. + + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the application + client's environment and is relative to the + java:comp/env context. The name must be unique within the + application client. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference.The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an application client. + + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the application client + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + application client. + + + + + + + + + + + + The message-destination-ref-name element specifies the + name of a message destination reference; its value is + the message destination reference name used in the + application client code. The name is a JNDI name + relative to the java:comp/env context and must be unique + within an application client. + + + + + + + + + + + + + + + + + + + + + + + + + + + The callback-handler element names a class provided by + the application. The class must have a no args + constructor and must implement the + javax.security.auth.callback.CallbackHandler + interface. The class will be instantiated by the + application client container and used by the container + to collect authentication information from the user. + + + + + + + + + + + + The required value for the version is 5. + + + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application-client_6.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application-client_6.xsd new file mode 100644 index 0000000000..4a8e5e9e3b --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application-client_6.xsd @@ -0,0 +1,311 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/application-client_6.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application-client element is the root element of an + application client deployment descriptor. The application + client deployment descriptor describes the EJB components + and external resources referenced by the application + client. + + + + + + + + The env-entry-name element contains the name of an + application client's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name must + be unique within an application client. + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the application + client's environment and is relative to the + java:comp/env context. The name must be unique within the + application client. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference.The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an application client. + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the application client + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + application client. + + + + + + + + + + + The message-destination-ref-name element specifies the + name of a message destination reference; its value is + the message destination reference name used in the + application client code. The name is a JNDI name + relative to the java:comp/env context and must be unique + within an application client. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The callback-handler element names a class provided by + the application. The class must have a no args + constructor and must implement the + javax.security.auth.callback.CallbackHandler + interface. The class will be instantiated by the + application client container and used by the container + to collect authentication information from the user. + + + + + + + + + + + + The required value for the version is 6. + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application-client_7.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application-client_7.xsd new file mode 100644 index 0000000000..7b28e2f735 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application-client_7.xsd @@ -0,0 +1,331 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application-client element is the root element of an + application client deployment descriptor. The application + client deployment descriptor describes the EJB components + and external resources referenced by the application + client. + + + + + + + + The env-entry-name element contains the name of an + application client's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name must + be unique within an application client. + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the application + client's environment and is relative to the + java:comp/env context. The name must be unique within the + application client. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference.The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an application client. + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the application client + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + application client. + + + + + + + + + + + The message-destination-ref-name element specifies the + name of a message destination reference; its value is + the message destination reference name used in the + application client code. The name is a JNDI name + relative to the java:comp/env context and must be unique + within an application client. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The callback-handler element names a class provided by + the application. The class must have a no args + constructor and must implement the + javax.security.auth.callback.CallbackHandler + interface. The class will be instantiated by the + application client container and used by the container + to collect authentication information from the user. + + + + + + + + + + + + + + + + + The required value for the version is 7. + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application_5.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application_5.xsd new file mode 100644 index 0000000000..cfaf7a36a9 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application_5.xsd @@ -0,0 +1,341 @@ + + + + + @(#)application_5.xsds 1.17 08/05/05 + + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/application_5.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application element is the root element of a Java EE + application deployment descriptor. + + + + + + + + + The context-root element content must be unique + in the ear. + + + + + + + + + + + + The security-role-name element content + must be unique in the ear. + + + + + + + + + + + + + + + + The applicationType defines the structure of the + application. + + + + + + + + + + + The application deployment descriptor must have one + module element for each Java EE module in the + application package. A module element is defined + by moduleType definition. + + + + + + + + + + The library-directory element specifies the pathname + of a directory within the application package, relative + to the top level of the application package. All files + named "*.jar" in this directory must be made available + in the class path of all components included in this + application package. If this element isn't specified, + the directory named "lib" is searched. An empty element + may be used to disable searching. + + + + + + + + + + The required value for the version is 5. + + + + + + + + + + + + + + + The moduleType defines a single Java EE module and contains a + connector, ejb, java, or web element, which indicates the + module type and contains a path to the module file, and an + optional alt-dd element, which specifies an optional URI to + the post-assembly version of the deployment descriptor. + + + + + + + + + + + The connector element specifies the URI of a + resource adapter archive file, relative to the + top level of the application package. + + + + + + + + + The ejb element specifies the URI of an ejb-jar, + relative to the top level of the application + package. + + + + + + + + + The java element specifies the URI of a java + application client module, relative to the top + level of the application package. + + + + + + + + + + + The alt-dd element specifies an optional URI to the + post-assembly version of the deployment descriptor + file for a particular Java EE module. The URI must + specify the full pathname of the deployment + descriptor file relative to the application's root + directory. If alt-dd is not specified, the deployer + must read the deployment descriptor from the default + location and file name required by the respective + component specification. + + + + + + + + + + + + + + + The webType defines the web-uri and context-root of + a web application module. + + + + + + + + + The web-uri element specifies the URI of a web + application file, relative to the top level of the + application package. + + + + + + + + + + The context-root element specifies the context root + of a web application. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application_6.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application_6.xsd new file mode 100644 index 0000000000..26111c6acf --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application_6.xsd @@ -0,0 +1,394 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/application_6.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application element is the root element of a Java EE + application deployment descriptor. + + + + + + + + The context-root element content must be unique + in the ear. + + + + + + + + + + + The security-role-name element content + must be unique in the ear. + + + + + + + + + + + + + + + + The applicationType defines the structure of the + application. + + + + + + + + + + + If initialize-in-order is true, modules must be initialized + in the order they're listed in this deployment descriptor, + with the exception of application client modules, which can + be initialized in any order. + If initialize-in-order is not set or set to false, the order + of initialization is unspecified and may be product-dependent. + + + + + + + + + The application deployment descriptor must have one + module element for each Java EE module in the + application package. A module element is defined + by moduleType definition. + + + + + + + + + + The library-directory element specifies the pathname + of a directory within the application package, relative + to the top level of the application package. All files + named "*.jar" in this directory must be made available + in the class path of all components included in this + application package. If this element isn't specified, + the directory named "lib" is searched. An empty element + may be used to disable searching. + + + + + + + + + + + + + + + + + + + + + The required value for the version is 6. + + + + + + + + + + + + + + + The moduleType defines a single Java EE module and contains a + connector, ejb, java, or web element, which indicates the + module type and contains a path to the module file, and an + optional alt-dd element, which specifies an optional URI to + the post-assembly version of the deployment descriptor. + + + + + + + + + + The connector element specifies the URI of a + resource adapter archive file, relative to the + top level of the application package. + + + + + + + + + The ejb element specifies the URI of an ejb-jar, + relative to the top level of the application + package. + + + + + + + + + The java element specifies the URI of a java + application client module, relative to the top + level of the application package. + + + + + + + + + + + The alt-dd element specifies an optional URI to the + post-assembly version of the deployment descriptor + file for a particular Java EE module. The URI must + specify the full pathname of the deployment + descriptor file relative to the application's root + directory. If alt-dd is not specified, the deployer + must read the deployment descriptor from the default + location and file name required by the respective + component specification. + + + + + + + + + + + + + + + + The webType defines the web-uri and context-root of + a web application module. + + + + + + + + + The web-uri element specifies the URI of a web + application file, relative to the top level of the + application package. + + + + + + + + + The context-root element specifies the context root + of a web application. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/application_7.xsd b/rules-xml/api/src/main/resources/catalog/xsd/application_7.xsd new file mode 100644 index 0000000000..3f855da9a1 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/application_7.xsd @@ -0,0 +1,414 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The application element is the root element of a Java EE + application deployment descriptor. + + + + + + + + The context-root element content must be unique + in the ear. + + + + + + + + + + + The security-role-name element content + must be unique in the ear. + + + + + + + + + + + + + + + + The applicationType defines the structure of the + application. + + + + + + + + + + + If initialize-in-order is true, modules must be initialized + in the order they're listed in this deployment descriptor, + with the exception of application client modules, which can + be initialized in any order. + If initialize-in-order is not set or set to false, the order + of initialization is unspecified and may be product-dependent. + + + + + + + + + The application deployment descriptor must have one + module element for each Java EE module in the + application package. A module element is defined + by moduleType definition. + + + + + + + + + + The library-directory element specifies the pathname + of a directory within the application package, relative + to the top level of the application package. All files + named "*.jar" in this directory must be made available + in the class path of all components included in this + application package. If this element isn't specified, + the directory named "lib" is searched. An empty element + may be used to disable searching. + + + + + + + + + + + + + + + + + + + + + + + + + + The required value for the version is 7. + + + + + + + + + + + + + + + The moduleType defines a single Java EE module and contains a + connector, ejb, java, or web element, which indicates the + module type and contains a path to the module file, and an + optional alt-dd element, which specifies an optional URI to + the post-assembly version of the deployment descriptor. + + + + + + + + + + The connector element specifies the URI of a + resource adapter archive file, relative to the + top level of the application package. + + + + + + + + + The ejb element specifies the URI of an ejb-jar, + relative to the top level of the application + package. + + + + + + + + + The java element specifies the URI of a java + application client module, relative to the top + level of the application package. + + + + + + + + + + + The alt-dd element specifies an optional URI to the + post-assembly version of the deployment descriptor + file for a particular Java EE module. The URI must + specify the full pathname of the deployment + descriptor file relative to the application's root + directory. If alt-dd is not specified, the deployer + must read the deployment descriptor from the default + location and file name required by the respective + component specification. + + + + + + + + + + + + + + + + The webType defines the web-uri and context-root of + a web application module. + + + + + + + + + The web-uri element specifies the URI of a web + application file, relative to the top level of the + application package. + + + + + + + + + The context-root element specifies the context root + of a web application. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/batchXML_1_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/batchXML_1_0.xsd new file mode 100644 index 0000000000..53930433ac --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/batchXML_1_0.xsd @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/beans_1_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/beans_1_0.xsd new file mode 100644 index 0000000000..16109adf91 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/beans_1_0.xsd @@ -0,0 +1,180 @@ + + + + + + + + + Contexts and Dependency Injection (CDI) defines + a set of complementary services that help improve the structure + of application code. beans.xml is used to enable CDI services + for the current bean archive as well as to enable named + interceptors, decorators and alternatives for the current bean + archive. + + + + + + + Bean classes of enabled beans must be + deployed in bean archives. A library jar, EJB jar, + application client jar or rar archive is a bean archive if + it has a file named beans.xml in the META-INF directory. The + WEB-INF/classes directory of a war is a bean archive if + there is a file named beans.xml in the WEB-INF directory of + the war. A directory in the JVM classpath is a bean archive + if it has a file named beans.xml in the META-INF directory. + + + + + + + + + + + + + + + By default, a bean archive has no enabled + interceptors bound via interceptor bindings. An interceptor + must be explicitly enabled by listing its class under the + <interceptors> element of the beans.xml file of the + bean archive. The order of the interceptor declarations + determines the interceptor ordering. Interceptors which + occur earlier in the list are called first. If the same + class is listed twice under the <interceptors> + element, the container automatically detects the problem and + treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of an interceptor class. If + there is no class with the specified name, or if + the class with the specified name is not an + interceptor class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + By default, a bean archive has no enabled + decorators. A decorator must be explicitly enabled by + listing its bean class under the <decorators> element + of the beans.xml file of the bean archive. The order of the + decorator declarations determines the decorator ordering. + Decorators which occur earlier in the list are called first. + If the same class is listed twice under the + <decorators> element, the container automatically + detects the problem and treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of a decorator class. If + there is no class with the specified name, or if + the class with the specified name is not a + decorator class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + An alternative is a bean that must be + explicitly declared in the beans.xml file if it should be + available for lookup, injection or EL resolution. By + default, a bean archive has no selected alternatives. An + alternative must be explicitly declared using the + <alternatives> element of the beans.xml file of the + bean archive. The <alternatives> element contains a + list of bean classes and stereotypes. An alternative is + selected for the bean archive if either: the alternative is + a managed bean or session bean and the bean class of the + bean is listed, or the alternative is a producer method, + field or resource, and the bean class that declares the + method or field is listed, or any @Alternative stereotype of + the alternative is listed. + + + + + + + + Each child <class> element + must specify the name of an alternative bean class. + If there is no class with the specified name, or if + the class with the specified name is not an + alternative bean class, the container automatically + detects the problem and treats it as a deployment + problem. If the same class is listed twice under + the <alternatives> element, the container + automatically detects the problem and treats it as + a deployment problem. + + + + + + + + Each child <stereotype> + element must specify the name of an @Alternative + stereotype annotation. If there is no annotation + with the specified name, or the annotation is not + an @Alternative stereotype, the container + automatically detects the problem and treats it as + a deployment problem. If the same stereotype is + listed twice under the <alternatives> + element, the container automatically detects the + problem and treats it as a deployment problem. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/beans_1_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/beans_1_1.xsd new file mode 100644 index 0000000000..d632c173dd --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/beans_1_1.xsd @@ -0,0 +1,355 @@ + + + + + + + + + + ... + + + The deployment descriptor may indicate the published version of + the schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd + + ]]> + + + + + + + Bean classes of enabled beans must be + deployed in bean archives. A library jar, EJB jar, + application client jar or rar archive is a bean archive if + it has a file named beans.xml in the META-INF directory. The + WEB-INF/classes directory of a war is a bean archive if + there is a file named beans.xml in the WEB-INF directory of + the war. A directory in the JVM classpath is a bean archive + if it has a file named beans.xml in the META-INF directory. + + + + + + + + + + + + + + The version of CDI this beans.xml is for. If the version is "1.1" (or + later), then the attribute bean-discovery-mode must be added. + + + + + + + + + + + + It is strongly recommended you use "annotated". + + If the bean discovery mode is "all", then all types in this + archive will be considered. If the bean discovery mode is + "annotated", then only those types with bean defining annotations will be + considered. If the bean discovery mode is "none", then no + types will be considered. + + + + + + + + Only those types with bean defining annotations will be + considered. + + + + + + + All types in this archive will be considered. + + + + + + + This archive will be ignored. + + + + + + + + + + + + + element allows exclusion of classes and packages from consideration. Various filters may be applied, and may be conditionally activated.]]> + + + + + + + + would exclude all classes and subpackages of com.acme.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + would exclude all classes and subpackages of com.acme.]]> + + + + + + + + + + + + + + + + + + By default, a bean archive has no enabled + interceptors bound via interceptor bindings. An interceptor + must be explicitly enabled by listing its class under the + <interceptors> element of the beans.xml file of the + bean archive. The order of the interceptor declarations + determines the interceptor ordering. Interceptors which + occur earlier in the list are called first. If the same + class is listed twice under the <interceptors> + element, the container automatically detects the problem and + treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of an interceptor class. If + there is no class with the specified name, or if + the class with the specified name is not an + interceptor class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + By default, a bean archive has no enabled + decorators. A decorator must be explicitly enabled by + listing its bean class under the <decorators> element + of the beans.xml file of the bean archive. The order of the + decorator declarations determines the decorator ordering. + Decorators which occur earlier in the list are called first. + If the same class is listed twice under the + <decorators> element, the container automatically + detects the problem and treats it as a deployment problem. + + + + + + + + Each child <class> element + must specify the name of a decorator class. If + there is no class with the specified name, or if + the class with the specified name is not a + decorator class, the container automatically + detects the problem and treats it as a deployment + problem. + + + + + + + + + + + An alternative is a bean that must be + explicitly declared in the beans.xml file if it should be + available for lookup, injection or EL resolution. By + default, a bean archive has no selected alternatives. An + alternative must be explicitly declared using the + <alternatives> element of the beans.xml file of the + bean archive. The <alternatives> element contains a + list of bean classes and stereotypes. An alternative is + selected for the bean archive if either: the alternative is + a managed bean or session bean and the bean class of the + bean is listed, or the alternative is a producer method, + field or resource, and the bean class that declares the + method or field is listed, or any @Alternative stereotype of + the alternative is listed. + + + + + + + + Each child <class> element + must specify the name of an alternative bean class. + If there is no class with the specified name, or if + the class with the specified name is not an + alternative bean class, the container automatically + detects the problem and treats it as a deployment + problem. If the same class is listed twice under + the <alternatives> element, the container + automatically detects the problem and treats it as + a deployment problem. + + + + + + + + Each child <stereotype> + element must specify the name of an @Alternative + stereotype annotation. If there is no annotation + with the specified name, or the annotation is not + an @Alternative stereotype, the container + automatically detects the problem and treats it as + a deployment problem. If the same stereotype is + listed twice under the <alternatives> + element, the container automatically detects the + problem and treats it as a deployment problem. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/connector_1_6.xsd b/rules-xml/api/src/main/resources/catalog/xsd/connector_1_6.xsd new file mode 100644 index 0000000000..45d875c486 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/connector_1_6.xsd @@ -0,0 +1,1261 @@ + + + + + + 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. + + + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/connector_1_6.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The connector element is the root element of the deployment + descriptor for the resource adapter. This element includes + general information - vendor name, resource adapter version, + icon - about the resource adapter module. It also includes + information specific to the implementation of the resource + adapter library as specified through the element + resourceadapter. + + + + + + + + + + + + + The activationspecType specifies an activation + specification. The information includes fully qualified + Java class name of an activation specification and a set of + required configuration property names. + + + + + + + + com.wombat.ActivationSpecImpl + + + ]]> + + + + + + + + The required-config-property element is deprecated since + Connectors 1.6 specification. The resource adapter + implementation is recommended to use the @NotNull + Bean Validation annotation or its XML validation + descriptor equivalent to indicate that a configuration + property is required to be specified by the deployer. + See the Connectors specification for more information. + + + + + + + + + + + + + + + + + The adminobjectType specifies information about an + administered object. Administered objects are specific to a + messaging style or message provider. This contains + information on the Java type of the interface implemented by + an administered object, its Java class name and its + configuration properties. + + + + + + + + javax.jms.Destination + + + ]]> + + + + + + + com.wombat.DestinationImpl + + + ]]> + + + + + + + + + + + + + + + + The authentication-mechanismType specifies an authentication + mechanism supported by the resource adapter. Note that this + support is for the resource adapter and not for the + underlying EIS instance. The optional description specifies + any resource adapter specific requirement for the support of + security contract and authentication mechanism. + + Note that BasicPassword mechanism type should support the + javax.resource.spi.security.PasswordCredential interface. + The Kerbv5 mechanism type should support the + org.ietf.jgss.GSSCredential interface or the deprecated + javax.resource.spi.security.GenericCredential interface. + + + + + + + + + BasicPassword + + + Kerbv5 + + + Any additional security mechanisms are outside the + scope of the Connector architecture specification. + + ]]> + + + + + + + + + + + + + + + ServerName + + ]]> + + + + + + + + + + + + + + java.lang.String + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + The config-propertyType contains a declaration of a single + configuration property that may be used for providing + configuration information. + + The declaration consists of an optional description, name, + type and an optional value of the configuration property. If + the resource adapter provider does not specify a value than + the deployer is responsible for providing a valid value for + a configuration property. + + Any bounds or well-defined values of properties should be + described in the description element. + + + + + + + + + + + WombatServer + + ]]> + + + + + + + + The element config-property-ignore is used to specify + whether the configuration tools must ignore considering the + configuration property during auto-discovery of + Configuration properties. See the Connector specification for + more details. If unspecified, the container must not ignore + the configuration property during auto-discovery. + This element must be one of the following, "true" or "false". + + + + + + + + + The element config-property-supports-dynamic-updates is used to specify + whether the configuration property allows its value to be updated, by + application server's configuration tools, during the lifetime of + the JavaBean instance. See the Connector specification for + more details. If unspecified, the container must not dynamically + reconfigure the property. + This element must be one of the following, "true" or "false". + + + + + + + + + The element config-property-confidential is used to specify + whether the configuration property is confidential and + recommends application server's configuration tools to use special + visual aids for editing them. See the Connector specification for + more details. If unspecified, the container must not treat the + property as confidential. + This element must be one of the following, "true" or "false". + + + + + + + + + + + + + + + + The connection-definitionType defines a set of connection + interfaces and classes pertaining to a particular connection + type. This also includes configurable properties for + ManagedConnectionFactory instances that may be produced out + of this set. + + + + + + + + + com.wombat.ManagedConnectionFactoryImpl + + + ]]> + + + + + + + + com.wombat.ConnectionFactory + + + OR + + javax.resource.cci.ConnectionFactory + + + ]]> + + + + + + + com.wombat.ConnectionFactoryImpl + + + ]]> + + + + + + + javax.resource.cci.Connection + + + ]]> + + + + + + + com.wombat.ConnectionImpl + + + ]]> + + + + + + + + + + + + + + + The connectorType defines a resource adapter. + + + + + + + + + The element module-name specifies the name of the + resource adapter. + + If there is no module-name specified, the module-name + is determined as defined in Section EE.8.1.1 and EE.8.1.2 + of the Java Platform, Enterprise Edition (Java EE) + Specification, version 6. + + + + + + + + + + The element vendor-name specifies the name of + resource adapter provider vendor. + + If there is no vendor-name specified, the application + server must consider the default "" (empty string) as + the name of the resource adapter provider vendor. + + + + + + + + + The element eis-type contains information about the + type of the EIS. For example, the type of an EIS can + be product name of EIS independent of any version + info. + + This helps in identifying EIS instances that can be + used with this resource adapter. + + If there is no eis-type specified, the application + server must consider the default "" (empty string) as + the type of the EIS. + + + + + + + + + The element resourceadapter-version specifies a string-based version + of the resource adapter from the resource adapter + provider. + + If there is no resourceadapter-version specified, the application + server must consider the default "" (empty string) as + the version of the resource adapter. + + + + + + + + + + + + The element required-work-context specifies a fully qualified class + name that implements WorkContext interface, that the resource adapter + requires the application server to support. + + + + + + + + + + The version indicates the version of the schema to be used by the + deployment tool. This element doesn't have a default, and the resource adapter + developer/deployer is required to specify it. The element allows the deployment + tool to choose which schema to validate the descriptor against. + + + + + + + + + + The metadata-complete attribute defines whether the deployment + descriptor for the resource adapter module is complete, or whether + the class files available to the module and packaged with the resource + adapter should be examined for annotations that specify deployment + information. + + If metadata-complete is set to "true", the deployment tool of the + application server must ignore any annotations that specify deployment + information, which might be present in the class files of the + application.If metadata-complete is not specified or is set to "false", + the deployment tool must examine the class files of the application for + annotations, as specified by this specification. If the + deployment descriptor is not included or is included but not marked + metadata-complete, the deployment tool will process annotations. + + Application servers must assume that metadata-complete is true for + resource adapter modules with deployment descriptor version + lower than 1.6. + + + + + + + + + + + + + + + The credential-interfaceType specifies the + interface that the resource adapter implementation + supports for the representation of the + credentials. This element(s) that use this type, + i.e. credential-interface, should be used by + application server to find out the Credential + interface it should use as part of the security + contract. + + The possible values are: + + javax.resource.spi.security.PasswordCredential + org.ietf.jgss.GSSCredential + javax.resource.spi.security.GenericCredential + + + + + + + + + + + + + + + + + + + + The inbound-resourceadapterType specifies information + about an inbound resource adapter. This contains information + specific to the implementation of the resource adapter + library as specified through the messageadapter element. + + + + + + + + + + The messagelistener-type element content must be + unique in the messageadapter. Several messagelisteners + can not use the same messagelistener-type. + + + + + + + + + + + + + + + + + + + The licenseType specifies licensing requirements for the + resource adapter module. This type specifies whether a + license is required to deploy and use this resource adapter, + and an optional description of the licensing terms + (examples: duration of license, number of connection + restrictions). It is used by the license element. + + + + + + + + + + The element license-required specifies whether a + license is required to deploy and use the + resource adapter. This element must be one of + the following, "true" or "false". + + + + + + + + + + + + + + + + The messageadapterType specifies information about the + messaging capabilities of the resource adapter. This + contains information specific to the implementation of the + resource adapter library as specified through the + messagelistener element. + + + + + + + + + + + + + + + + + The messagelistenerType specifies information about a + specific message listener supported by the messaging + resource adapter. It contains information on the Java type + of the message listener interface and an activation + specification. + + + + + + + + javax.jms.MessageListener + + + ]]> + + + + + + + + + + + + + + + + The outbound-resourceadapterType specifies information about + an outbound resource adapter. The information includes fully + qualified names of classes/interfaces required as part of + the connector architecture specified contracts for + connection management, level of transaction support + provided, one or more authentication mechanisms supported + and additional required security permissions. + + If any of the outbound resource adapter elements (transaction-support, + authentication-mechanism, reauthentication-support) is specified through + this element or metadata annotations, and no connection-definition is + specified as part of this element or through annotations, the + application server must consider this an error and fail deployment. + + If there is no authentication-mechanism specified as part of + this element or metadata annotations, then the resource adapter does + not support any standard security authentication mechanisms as + part of security contract. The application server ignores the security + part of the system contracts in this case. + + If there is no transaction-support specified as part of this element + or metadata annotation, then the application server must consider that + the resource adapter does not support either the resource manager local + or JTA transactions and must consider the transaction support as + NoTransaction. Note that resource adapters may specify the level of + transaction support to be used at runtime for a ManagedConnectionFactory + through the TransactionSupport interface. + + If there is no reauthentication-support specified as part of + this element or metadata annotation, then the application server must consider + that the resource adapter does not support re-authentication of + ManagedConnections. + + + + + + + + + + + + The element reauthentication-support specifies + whether the resource adapter implementation supports + re-authentication of existing Managed- Connection + instance. Note that this information is for the + resource adapter implementation and not for the + underlying EIS instance. This element must have + either a "true" or "false" value. + + + + + + + + + + + + + + + + + Destination + + + ]]> + + + + + + + + + + + + + + + + + The resourceadapterType specifies information about the + resource adapter. The information includes fully qualified + resource adapter Java class name, configuration properties, + information specific to the implementation of the resource + adapter library as specified through the + outbound-resourceadapter and inbound-resourceadapter + elements, and an optional set of administered objects. + + + + + + + + + The element resourceadapter-class specifies the + fully qualified name of a Java class that implements + the javax.resource.spi.ResourceAdapter + interface. This Java class is provided as part of + resource adapter's implementation of connector + architecture specified contracts. The implementation + of this class is required to be a JavaBean. + + + + + + + + + + + The connectionfactory-interface element content + must be unique in the outbound-resourceadapter. + Multiple connection-definitions can not use the + same connectionfactory-type. + + + + + + + + + + + + + + The adminobject-interface and adminobject-class element content must be + unique in the resourceadapterType. Several admin objects + can not use the same adminobject-interface and adminobject-class. + + + + + + + + + + + + + + + + + + + + + The security-permissionType specifies a security + permission that is required by the resource adapter code. + + The security permission listed in the deployment descriptor + are ones that are different from those required by the + default permission set as specified in the connector + specification. The optional description can mention specific + reason that resource adapter requires a given security + permission. + + + + + + + + + + The element security-permission-spec specifies a security + permission based on the Security policy file + syntax. Refer to the following URL for Sun's + implementation of the security permission + specification: + + http://java.sun.com/javase/6/docs/technotes/guides/security/PolicyFiles.html + + + + + + + + + + + + + + + + The transaction-supportType specifies the level of + transaction support provided by the resource adapter. It is + used by transaction-support elements. + + The value must be one of the following: + + NoTransaction + LocalTransaction + XATransaction + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/connector_1_7.xsd b/rules-xml/api/src/main/resources/catalog/xsd/connector_1_7.xsd new file mode 100644 index 0000000000..fe591a1486 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/connector_1_7.xsd @@ -0,0 +1,1233 @@ + + + + + + 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. + + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2003-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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/connector_1_7.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The connector element is the root element of the deployment + descriptor for the resource adapter. This element includes + general information - vendor name, resource adapter version, + icon - about the resource adapter module. It also includes + information specific to the implementation of the resource + adapter library as specified through the element + resourceadapter. + + + + + + + + + + + + + The activationspecType specifies an activation + specification. The information includes fully qualified + Java class name of an activation specification and a set of + required configuration property names. + + + + + + + + com.wombat.ActivationSpecImpl + + + ]]> + + + + + + + + The required-config-property element is deprecated since + Connectors 1.6 specification. The resource adapter + implementation is recommended to use the @NotNull + Bean Validation annotation or its XML validation + descriptor equivalent to indicate that a configuration + property is required to be specified by the deployer. + See the Connectors specification for more information. + + + + + + + + + + + + + + + + + The adminobjectType specifies information about an + administered object. Administered objects are specific to a + messaging style or message provider. This contains + information on the Java type of the interface implemented by + an administered object, its Java class name and its + configuration properties. + + + + + + + + javax.jms.Destination + + + ]]> + + + + + + + com.wombat.DestinationImpl + + + ]]> + + + + + + + + + + + + + + + + The authentication-mechanismType specifies an authentication + mechanism supported by the resource adapter. Note that this + support is for the resource adapter and not for the + underlying EIS instance. The optional description specifies + any resource adapter specific requirement for the support of + security contract and authentication mechanism. + + Note that BasicPassword mechanism type should support the + javax.resource.spi.security.PasswordCredential interface. + The Kerbv5 mechanism type should support the + org.ietf.jgss.GSSCredential interface or the deprecated + javax.resource.spi.security.GenericCredential interface. + + + + + + + + + BasicPassword + + + Kerbv5 + + + Any additional security mechanisms are outside the + scope of the Connector architecture specification. + + ]]> + + + + + + + + + + + + + + + ServerName + + ]]> + + + + + + + + + + + + + + java.lang.String + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + The config-propertyType contains a declaration of a single + configuration property that may be used for providing + configuration information. + + The declaration consists of an optional description, name, + type and an optional value of the configuration property. If + the resource adapter provider does not specify a value than + the deployer is responsible for providing a valid value for + a configuration property. + + Any bounds or well-defined values of properties should be + described in the description element. + + + + + + + + + + + WombatServer + + ]]> + + + + + + + + The element config-property-ignore is used to specify + whether the configuration tools must ignore considering the + configuration property during auto-discovery of + Configuration properties. See the Connector specification for + more details. If unspecified, the container must not ignore + the configuration property during auto-discovery. + This element must be one of the following, "true" or "false". + + + + + + + + + The element config-property-supports-dynamic-updates is used to specify + whether the configuration property allows its value to be updated, by + application server's configuration tools, during the lifetime of + the JavaBean instance. See the Connector specification for + more details. If unspecified, the container must not dynamically + reconfigure the property. + This element must be one of the following, "true" or "false". + + + + + + + + + The element config-property-confidential is used to specify + whether the configuration property is confidential and + recommends application server's configuration tools to use special + visual aids for editing them. See the Connector specification for + more details. If unspecified, the container must not treat the + property as confidential. + This element must be one of the following, "true" or "false". + + + + + + + + + + + + + + + + The connection-definitionType defines a set of connection + interfaces and classes pertaining to a particular connection + type. This also includes configurable properties for + ManagedConnectionFactory instances that may be produced out + of this set. + + + + + + + + + com.wombat.ManagedConnectionFactoryImpl + + + ]]> + + + + + + + + com.wombat.ConnectionFactory + + + OR + + javax.resource.cci.ConnectionFactory + + + ]]> + + + + + + + com.wombat.ConnectionFactoryImpl + + + ]]> + + + + + + + javax.resource.cci.Connection + + + ]]> + + + + + + + com.wombat.ConnectionImpl + + + ]]> + + + + + + + + + + + + + + + The connectorType defines a resource adapter. + + + + + + + + + The element module-name specifies the name of the + resource adapter. + + If there is no module-name specified, the module-name + is determined as defined in Section EE.8.1.1 and EE.8.1.2 + of the Java Platform, Enterprise Edition (Java EE) + Specification, version 6. + + + + + + + + + + The element vendor-name specifies the name of + resource adapter provider vendor. + + If there is no vendor-name specified, the application + server must consider the default "" (empty string) as + the name of the resource adapter provider vendor. + + + + + + + + + The element eis-type contains information about the + type of the EIS. For example, the type of an EIS can + be product name of EIS independent of any version + info. + + This helps in identifying EIS instances that can be + used with this resource adapter. + + If there is no eis-type specified, the application + server must consider the default "" (empty string) as + the type of the EIS. + + + + + + + + + The element resourceadapter-version specifies a string-based version + of the resource adapter from the resource adapter + provider. + + If there is no resourceadapter-version specified, the application + server must consider the default "" (empty string) as + the version of the resource adapter. + + + + + + + + + + + + The element required-work-context specifies a fully qualified class + name that implements WorkContext interface, that the resource adapter + requires the application server to support. + + + + + + + + + + The version indicates the version of the schema to be used by the + deployment tool. This element doesn't have a default, and the resource adapter + developer/deployer is required to specify it. The element allows the deployment + tool to choose which schema to validate the descriptor against. + + + + + + + + + + The metadata-complete attribute defines whether the deployment + descriptor for the resource adapter module is complete, or whether + the class files available to the module and packaged with the resource + adapter should be examined for annotations that specify deployment + information. + + If metadata-complete is set to "true", the deployment tool of the + application server must ignore any annotations that specify deployment + information, which might be present in the class files of the + application.If metadata-complete is not specified or is set to "false", + the deployment tool must examine the class files of the application for + annotations, as specified by this specification. If the + deployment descriptor is not included or is included but not marked + metadata-complete, the deployment tool will process annotations. + + Application servers must assume that metadata-complete is true for + resource adapter modules with deployment descriptor version + lower than 1.6. + + + + + + + + + + + + + + + The credential-interfaceType specifies the + interface that the resource adapter implementation + supports for the representation of the + credentials. This element(s) that use this type, + i.e. credential-interface, should be used by + application server to find out the Credential + interface it should use as part of the security + contract. + + The possible values are: + + javax.resource.spi.security.PasswordCredential + org.ietf.jgss.GSSCredential + javax.resource.spi.security.GenericCredential + + + + + + + + + + + + + + + + + + + + The inbound-resourceadapterType specifies information + about an inbound resource adapter. This contains information + specific to the implementation of the resource adapter + library as specified through the messageadapter element. + + + + + + + + + + The messagelistener-type element content must be + unique in the messageadapter. Several messagelisteners + can not use the same messagelistener-type. + + + + + + + + + + + + + + + + + + + The licenseType specifies licensing requirements for the + resource adapter module. This type specifies whether a + license is required to deploy and use this resource adapter, + and an optional description of the licensing terms + (examples: duration of license, number of connection + restrictions). It is used by the license element. + + + + + + + + + + The element license-required specifies whether a + license is required to deploy and use the + resource adapter. This element must be one of + the following, "true" or "false". + + + + + + + + + + + + + + + + The messageadapterType specifies information about the + messaging capabilities of the resource adapter. This + contains information specific to the implementation of the + resource adapter library as specified through the + messagelistener element. + + + + + + + + + + + + + + + + + The messagelistenerType specifies information about a + specific message listener supported by the messaging + resource adapter. It contains information on the Java type + of the message listener interface and an activation + specification. + + + + + + + + javax.jms.MessageListener + + + ]]> + + + + + + + + + + + + + + + + The outbound-resourceadapterType specifies information about + an outbound resource adapter. The information includes fully + qualified names of classes/interfaces required as part of + the connector architecture specified contracts for + connection management, level of transaction support + provided, one or more authentication mechanisms supported + and additional required security permissions. + + If any of the outbound resource adapter elements (transaction-support, + authentication-mechanism, reauthentication-support) is specified through + this element or metadata annotations, and no connection-definition is + specified as part of this element or through annotations, the + application server must consider this an error and fail deployment. + + If there is no authentication-mechanism specified as part of + this element or metadata annotations, then the resource adapter does + not support any standard security authentication mechanisms as + part of security contract. The application server ignores the security + part of the system contracts in this case. + + If there is no transaction-support specified as part of this element + or metadata annotation, then the application server must consider that + the resource adapter does not support either the resource manager local + or JTA transactions and must consider the transaction support as + NoTransaction. Note that resource adapters may specify the level of + transaction support to be used at runtime for a ManagedConnectionFactory + through the TransactionSupport interface. + + If there is no reauthentication-support specified as part of + this element or metadata annotation, then the application server must consider + that the resource adapter does not support re-authentication of + ManagedConnections. + + + + + + + + + + + + The element reauthentication-support specifies + whether the resource adapter implementation supports + re-authentication of existing Managed- Connection + instance. Note that this information is for the + resource adapter implementation and not for the + underlying EIS instance. This element must have + either a "true" or "false" value. + + + + + + + + + + + + + + + + + Destination + + + ]]> + + + + + + + + + + + + + + + + + The resourceadapterType specifies information about the + resource adapter. The information includes fully qualified + resource adapter Java class name, configuration properties, + information specific to the implementation of the resource + adapter library as specified through the + outbound-resourceadapter and inbound-resourceadapter + elements, and an optional set of administered objects. + + + + + + + + + The element resourceadapter-class specifies the + fully qualified name of a Java class that implements + the javax.resource.spi.ResourceAdapter + interface. This Java class is provided as part of + resource adapter's implementation of connector + architecture specified contracts. The implementation + of this class is required to be a JavaBean. + + + + + + + + + + + The connectionfactory-interface element content + must be unique in the outbound-resourceadapter. + Multiple connection-definitions can not use the + same connectionfactory-type. + + + + + + + + + + + + + + The adminobject-interface and adminobject-class element content must be + unique in the resourceadapterType. Several admin objects + can not use the same adminobject-interface and adminobject-class. + + + + + + + + + + + + + + + + + + + + + The security-permissionType specifies a security + permission that is required by the resource adapter code. + + The security permission listed in the deployment descriptor + are ones that are different from those required by the + default permission set as specified in the connector + specification. The optional description can mention specific + reason that resource adapter requires a given security + permission. + + + + + + + + + + The element security-permission-spec specifies a security + permission based on the Security policy file + syntax. Refer to the following URL for Sun's + implementation of the security permission + specification: + + http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_0.xsd new file mode 100644 index 0000000000..e75f40945d --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_0.xsd @@ -0,0 +1,2712 @@ + + + + + @(#)ejb-jar_3_0.xsds 1.51 02/23/06 + + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for the + Java EE namespace with the following location: + + http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + This is the root of the ejb-jar deployment descriptor. + + + + + + + + + The ejb-name element contains the name of an enterprise + bean. The name must be unique within the ejb-jar file. + + + + + + + + + + + + The keyref indicates the references from + relationship-role-source must be to a specific ejb-name + defined within the scope of enterprise-beans element. + + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + The activation-config-propertyType contains a name/value + configuration property pair for a message-driven bean. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + + The activation-config-property-name element contains + the name for an activation configuration property of + a message-driven bean. + + For JMS message-driven beans, the following property + names are recognized: acknowledgeMode, + messageSelector, destinationType, subscriptionDurability + + + + + + + + + The activation-config-property-value element + contains the value for an activation configuration + property of a message-driven bean. + + + + + + + + + + + + + + + The activation-configType defines information about the + expected configuration properties of the message-driven bean + in its operational environment. This may include information + about message acknowledgement, message selector, expected + destination type, etc. + + The configuration information is expressed in terms of + name/value configuration properties. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + + + + + + + + + + The application-exceptionType declares an application + exception. The declaration consists of: + + - the exception class. When the container receives + an exception of this type, it is required to + forward this exception as an applcation exception + to the client regardless of whether it is a checked + or unchecked exception. + - an optional rollback element. If this element is + set to true, the container must rollback the current + transaction before forwarding the exception to the + client. If not specified, it defaults to false. + + + + + + + + + + + + + + + + + The around-invoke type specifies a method on a + class to be called during the around invoke portion of an + ejb invocation. Note that each class may have only one + around invoke method and that the method may not be + overloaded. + + If the class element is missing then + the class defining the callback is assumed to be the + interceptor class or component class in scope at the + location in the descriptor in which the around invoke + definition appears. + + + + + + + + + + + + + + + + The assembly-descriptorType defines + application-assembly information. + + The application-assembly information consists of the + following parts: the definition of security roles, the + definition of method permissions, the definition of + transaction attributes for enterprise beans with + container-managed transaction demarcation, the definition + of interceptor bindings, a list of + methods to be excluded from being invoked, and a list of + exception types that should be treated as application exceptions. + + All the parts are optional in the sense that they are + omitted if the lists represented by them are empty. + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar file producer. + + + + + + + + + + + + + + + + + + + + + + + The cmp-fieldType describes a container-managed field. The + cmp-fieldType contains an optional description of the field, + and the name of the field. + + + + + + + + + + The field-name element specifies the name of a + container managed field. + + The name of the cmp-field of an entity bean with + cmp-version 2.x must begin with a lowercase + letter. This field is accessed by methods whose + names consists of the name of the field specified by + field-name in which the first letter is uppercased, + prefixed by "get" or "set". + + The name of the cmp-field of an entity bean with + cmp-version 1.x must denote a public field of the + enterprise bean class or one of its superclasses. + + + + + + + + + + + + + + + The cmp-versionType specifies the version of an entity bean + with container-managed persistence. It is used by + cmp-version elements. + + The value must be one of the two following: + + 1.x + 2.x + + + + + + + + + + + + + + + + + + The cmr-field-type element specifies the class of a + collection-valued logical relationship field in the entity + bean class. The value of an element using cmr-field-typeType + must be either: java.util.Collection or java.util.Set. + + + + + + + + + + + + + + + + + + The cmr-fieldType describes the bean provider's view of + a relationship. It consists of an optional description, and + the name and the class type of a field in the source of a + role of a relationship. The cmr-field-name element + corresponds to the name used for the get and set accessor + methods for the relationship. The cmr-field-type element is + used only for collection-valued cmr-fields. It specifies the + type of the collection that is used. + + + + + + + + + + + The cmr-field-name element specifies the name of a + logical relationship field in the entity bean + class. The name of the cmr-field must begin with a + lowercase letter. This field is accessed by methods + whose names consist of the name of the field + specified by cmr-field-name in which the first + letter is uppercased, prefixed by "get" or "set". + + + + + + + + + + + + + + + + The container-transactionType specifies how the container + must manage transaction scopes for the enterprise bean's + method invocations. It defines an optional description, a + list of method elements, and a transaction attribute. The + transaction attribute is to be applied to all the specified + methods. + + + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeServiceBean + + ]]> + + + + + + + + + + + + + + The ejb-jarType defines the root element of the EJB + deployment descriptor. It contains + + - an optional description of the ejb-jar file + - an optional display name + - an optional icon that contains a small and a large + icon file name + - structural information about all included + enterprise beans that is not specified through + annotations + - structural information about interceptor classes + - a descriptor for container managed relationships, + if any. + - an optional application-assembly descriptor + - an optional name of an ejb-client-jar file for the + ejb-jar. + + + + + + + + + + + + + + The ejb-relation-name contains the name of a + relation. The name must be unique within + relationships. + + + + + + + + + + + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar file + producer. + + + + + + + + employee_service_client.jar + + + ]]> + + + + + + + + + The version specifies the version of the + EJB specification that the instance document must + comply with. This information enables deployment tools + to validate a particular EJB Deployment + Descriptor with respect to a specific version of the EJB + schema. + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + + EmployeeService + + ]]> + + + + + + + + + + + + + + The ejb-relationType describes a relationship between two + entity beans with container-managed persistence. It is used + by ejb-relation elements. It contains a description; an + optional ejb-relation-name element; and exactly two + relationship role declarations, defined by the + ejb-relationship-role elements. The name of the + relationship, if specified, is unique within the ejb-jar + file. + + + + + + + + + + + The ejb-relation-name element provides a unique name + within the ejb-jar file for a relationship. + + + + + + + + + + + + + + + + + Product-LineItem + + product-has-lineitems + + One + + ProductEJB + + + + + ]]> + + + + + + + + + + The ejb-relationship-role-name element defines a + name for a role that is unique within an + ejb-relation. Different relationships can use the + same name for a role. + + + + + + + + + + The cascade-delete element specifies that, within a + particular relationship, the lifetime of one or more + entity beans is dependent upon the lifetime of + another entity bean. The cascade-delete element can + only be specified for an ejb-relationship-role + element contained in an ejb-relation element in + which the other ejb-relationship-role + element specifies a multiplicity of One. + + + + + + + + + + + + + + + + + The enterprise-beansType declares one or more enterprise + beans. Each bean can be a session, entity or message-driven + bean. + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + + + + + + + The entity-beanType declares an entity bean. The declaration + consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a unique name assigned to the enterprise bean + in the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the entity bean's remote home interface. This + element is not required to be supported by all implementations. + Any use of this element is non-portable. + - the names of the entity bean's remote home + and remote interfaces, if any + - the names of the entity bean's local home and local + interfaces, if any + - the entity bean's implementation class + - the optional entity bean's persistence management type. If + this element is not specified it is defaulted to Container. + - the entity bean's primary key class name + - an indication of the entity bean's reentrancy + - an optional specification of the + entity bean's cmp-version + - an optional specification of the entity bean's + abstract schema name + - an optional list of container-managed fields + - an optional specification of the primary key + field + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB + references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's + resource manager connection factory references + - an optional declaration of the bean's + resource environment references + - an optional declaration of the bean's message + destination references + - an optional set of query declarations + for finder and select methods for an entity + bean with cmp-version 2.x. + + The optional abstract-schema-name element must be specified + for an entity bean with container-managed persistence and + cmp-version 2.x. + + The optional primkey-field may be present in the descriptor + if the entity's persistence-type is Container. + + The optional cmp-version element may be present in the + descriptor if the entity's persistence-type is Container. If + the persistence-type is Container and the cmp-version + element is not specified, its value defaults to 2.x. + + The optional home and remote elements must be specified if + the entity bean cmp-version is 1.x. + + The optional home and remote elements must be specified if + the entity bean has a remote home and remote interface. + + The optional local-home and local elements must be specified + if the entity bean has a local home and local interface. + + Either both the local-home and the local elements or both + the home and the remote elements must be specified. + + The optional query elements must be present if the + persistence-type is Container and the cmp-version is 2.x and + query methods other than findByPrimaryKey have been defined + for the entity bean. + + The other elements that are optional are "optional" in the + sense that they are omitted if the lists represented by them + are empty. + + At least one cmp-field element must be present in the + descriptor if the entity's persistence-type is Container and + the cmp-version is 1.x, and none must not be present if the + entity's persistence-type is Bean. + + + + + + + + + + + + + + + + + + + The prim-key-class element contains the + fully-qualified name of an + entity bean's primary key class. + + If the definition of the primary key class is + deferred to deployment time, the prim-key-class + element should specify java.lang.Object. + + + + + + + + + The reentrant element specifies whether an entity + bean is reentrant or not. + + The reentrant element must be one of the two + following: true or false + + + + + + + + + + The abstract-schema-name element specifies the name + of the abstract schema type of an entity bean with + cmp-version 2.x. It is used in EJB QL queries. + + For example, the abstract-schema-name for an entity + bean whose local interface is + com.acme.commerce.Order might be Order. + + + + + + + + + + The primkey-field element is used to specify the + name of the primary key field for an entity with + container-managed persistence. + + The primkey-field must be one of the fields declared + in the cmp-field element, and the type of the field + must be the same as the primary key type. + + The primkey-field element is not used if the primary + key maps to multiple container-managed fields + (i.e. the key is a compound key). In this case, the + fields of the primary key class must be public, and + their names must correspond to the field names of + the entity bean class that comprise the key. + + + + + + + + + + + + + + + + + + + The exclude-listType specifies one or more methods which + the Assembler marks to be uncallable. + + If the method permission relation contains methods that are + in the exclude list, the Deployer should consider those + methods to be uncallable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + The interceptor-bindingType element describes the binding of + interceptor classes to beans within the ejb-jar. + It consists of : + + - An optional description. + - The name of an ejb within the ejb-jar or the wildcard value "*", + which is used to define interceptors that are bound to all + beans in the ejb-jar. + - A list of interceptor classes that are bound to the contents of + the ejb-name element or a specification of the total ordering + over the interceptors defined for the given level and above. + - An optional exclude-default-interceptors element. If set to true, + specifies that default interceptors are not to be applied to + a bean-class and/or business method. + - An optional exclude-class-interceptors element. If set to true, + specifies that class interceptors are not to be applied to + a business method. + - An optional set of method elements for describing the name/params + of a method-level interceptor. + + Interceptors bound to all classes using the wildcard syntax + "*" are default interceptors for the components in the ejb-jar. + In addition, interceptors may be bound at the level of the bean + class (class-level interceptors) or business methods (method-level + interceptors ). + + The binding of interceptors to classes is additive. If interceptors + are bound at the class-level and/or default-level as well as the + method-level, both class-level and/or default-level as well as + method-level will apply. + + There are four possible styles of the interceptor element syntax : + + 1. + + * + INTERCEPTOR + + + Specifying the ejb-name as the wildcard value "*" designates + default interceptors (interceptors that apply to all session and + message-driven beans contained in the ejb-jar). + + 2. + + EJBNAME + INTERCEPTOR + + + This style is used to refer to interceptors associated with the + specified enterprise bean(class-level interceptors). + + 3. + + EJBNAME + INTERCEPTOR + + METHOD + + + + This style is used to associate a method-level interceptor with + the specified enterprise bean. If there are multiple methods + with the same overloaded name, the element of this style refers + to all the methods with the overloaded name. Method-level + interceptors can only be associated with business methods of the + bean class. Note that the wildcard value "*" cannot be used + to specify method-level interceptors. + + 4. + + EJBNAME + INTERCEPTOR + + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-N + + + + + This style is used to associate a method-level interceptor with + the specified method of the specified enterprise bean. This + style is used to refer to a single method within a set of methods + with an overloaded name. The values PARAM-1 through PARAM-N + are the fully-qualified Java types of the method's input parameters + (if the method has no input arguments, the method-params element + contains no method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of square + brackets (e.g. int[][]). + + + + + + + + + + + + + + + + + + + + + + + The interceptor-orderType element describes a total ordering + of interceptor classes. + + + + + + + + + + + + + + + + + + The interceptorType element declares information about a single + interceptor class. It consists of : + + - An optional description. + - The fully-qualified name of the interceptor class. + - An optional list of around invoke methods declared on the + interceptor class and/or its super-classes. + - An optional list environment dependencies for the interceptor + class and/or its super-classes. + - An optional list of post-activate methods declared on the + interceptor class and/or its super-classes. + - An optional list of pre-passivate methods declared on the + interceptor class and/or its super-classes. + + + + + + + + + + + + + + + + + + + + + The interceptorsType element declares one or more interceptor + classes used by components within this ejb-jar. The declaration + consists of : + + - An optional description. + - One or more interceptor elements. + + + + + + + + + + + + + + + + + The message-driven element declares a message-driven + bean. The declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name. + - a name assigned to the enterprise bean in + the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of destination from which this message-driven bean + should consume. This element is not required to be supported + by all implementations. Any use of this element is non-portable. + - the message-driven bean's implementation class + - an optional declaration of the bean's messaging + type + - an optional declaration of the bean's timeout method. + - the optional message-driven bean's transaction management + type. If it is not defined, it is defaulted to Container. + - an optional declaration of the bean's + message-destination-type + - an optional declaration of the bean's + message-destination-link + - an optional declaration of the message-driven bean's + activation configuration properties + - an optional list of the message-driven bean class and/or + superclass around-invoke methods. + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local EJB + references + - an optional declaration of the bean's web service + references + - an optional declaration of the security + identity to be used for the execution of the bean's + methods + - an optional declaration of the bean's + resource manager connection factory + references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + + + + + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + The messaging-type element specifies the message + listener interface of the message-driven bean. + + + + + + + + + + + + + + + + + + + + + + + + The method-intf element allows a method element to + differentiate between the methods with the same name and + signature that are multiply defined across the home and + component interfaces (e.g, in both an enterprise bean's + remote and local interfaces or in both an enterprise bean's + home and remote interfaces, etc.); the component and web + service endpoint interfaces, and so on. The Local applies to + both local component interface and local business interface. + Similarly, Remote applies to both remote component interface + and the remote business interface. + + The method-intf element must be one of the following: + + Home + Remote + LocalHome + Local + ServiceEndpoint + + + + + + + + + + + + + + + + + + + + + The method-nameType contains a name of an enterprise + bean method or the asterisk (*) character. The asterisk is + used when the element denotes all the methods of an + enterprise bean's client view interfaces. + + + + + + + + + + + + + + + The method-paramsType defines a list of the + fully-qualified Java type names of the method parameters. + + + + + + + + + + The method-param element contains a primitive + or a fully-qualified Java type name of a method + parameter. + + + + + + + + + + + + + + + The method-permissionType specifies that one or more + security roles are allowed to invoke one or more enterprise + bean methods. The method-permissionType consists of an + optional description, a list of security role names or an + indicator to state that the method is unchecked for + authorization, and a list of method elements. + + The security roles used in the method-permissionType + must be defined in the security-role elements of the + deployment descriptor, and the methods must be methods + defined in the enterprise bean's business, home, component + and/or web service endpoint interfaces. + + + + + + + + + + + + + The unchecked element specifies that a method is + not checked for authorization by the container + prior to invocation of the method. + + + + + + + + + + + + + + + + + EJBNAME + * + + + This style is used to refer to all the methods of the + specified enterprise bean's business, home, component, + and/or web service endpoint interfaces. + + 2. + + EJBNAME + METHOD + + + This style is used to refer to the specified method of + the specified enterprise bean. If there are multiple + methods with the same overloaded name, the element of + this style refers to all the methods with the overloaded + name. + + 3. + + EJBNAME + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-n + + + + This style is used to refer to a single method within a + set of methods with an overloaded name. PARAM-1 through + PARAM-n are the fully-qualified Java types of the + method's input parameters (if the method has no input + arguments, the method-params element contains no + method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of + square brackets (e.g. int[][]). If there are multiple + methods with the same overloaded name, this style refers + to all of the overloaded methods. + + Examples: + + Style 1: The following method element refers to all the + methods of the EmployeeService bean's business, home, + component, and/or web service endpoint interfaces: + + + EmployeeService + * + + + Style 2: The following method element refers to all the + create methods of the EmployeeService bean's home + interface(s). + + + EmployeeService + create + + + Style 3: The following method element refers to the + create(String firstName, String LastName) method of the + EmployeeService bean's home interface(s). + + + EmployeeService + create + + java.lang.String + java.lang.String + + + + The following example illustrates a Style 3 element with + more complex parameter types. The method + foobar(char s, int i, int[] iar, mypackage.MyClass mycl, + mypackage.MyClass[][] myclaar) would be specified as: + + + EmployeeService + foobar + + char + int + int[] + mypackage.MyClass + mypackage.MyClass[][] + + + + The optional method-intf element can be used when it becomes + necessary to differentiate between a method that is multiply + defined across the enterprise bean's business, home, component, + and/or web service endpoint interfaces with the same name and + signature. However, if the same method is a method of both the + local business interface, and the local component interface, + the same attribute applies to the method for both interfaces. + Likewise, if the same method is a method of both the remote + business interface and the remote component interface, the same + attribute applies to the method for both interfaces. + + For example, the method element + + + EmployeeService + Remote + create + + java.lang.String + java.lang.String + + + + can be used to differentiate the create(String, String) + method defined in the remote interface from the + create(String, String) method defined in the remote home + interface, which would be defined as + + + EmployeeService + Home + create + + java.lang.String + java.lang.String + + + + and the create method that is defined in the local home + interface which would be defined as + + + EmployeeService + LocalHome + create + + java.lang.String + java.lang.String + + + + The method-intf element can be used with all three Styles + of the method element usage. For example, the following + method element example could be used to refer to all the + methods of the EmployeeService bean's remote home interface + and the remote business interface. + + + EmployeeService + Home + * + + + ]]> + + + + + + + + + + + + + + + + + + + + + The multiplicityType describes the multiplicity of the + role that participates in a relation. + + The value must be one of the two following: + + One + Many + + + + + + + + + + + + + + + + + + + + + + + + + + + + The persistence-typeType specifies an entity bean's persistence + management type. + + The persistence-type element must be one of the two following: + + Bean + Container + + + + + + + + + + + + + + + + + + Method finds large orders + + findLargeOrders + + + + SELECT OBJECT(o) FROM Order o + WHERE o.amount > 1000 + + + + ]]> + + + + + + + + + + + + + + + + + The queryType defines a finder or select + query. It contains + - an optional description of the query + - the specification of the finder or select + method it is used by + - an optional specification of the result type + mapping, if the query is for a select method + and entity objects are returned. + - the EJB QL query string that defines the query. + + Queries that are expressible in EJB QL must use the ejb-ql + element to specify the query. If a query is not expressible + in EJB QL, the description element should be used to + describe the semantics of the query and the ejb-ql element + should be empty. + + The result-type-mapping is an optional element. It can only + be present if the query-method specifies a select method + that returns entity objects. The default value for the + result-type-mapping element is "Local". + + + + + + + + + + + + + + + + + + + + The relationship-role-sourceType designates the source of a + role that participates in a relationship. A + relationship-role-sourceType is used by + relationship-role-source elements to uniquely identify an + entity bean. + + + + + + + + + + + + + + + + + + The relationshipsType describes the relationships in + which entity beans with container-managed persistence + participate. The relationshipsType contains an optional + description; and a list of ejb-relation elements, which + specify the container managed relationships. + + + + + + + + + + + + + The ejb-relationship-role-name contains the name of a + relationship role. The name must be unique within + a relationship, but can be reused in different + relationships. + + + + + + + + + + + + + + + + + + + + + + + + + + + + The result-type-mappingType is used in the query element to + specify whether an abstract schema type returned by a query + for a select method is to be mapped to an EJBLocalObject or + EJBObject type. + + The value must be one of the following: + + Local + Remote + + + + + + + + + + + + + + + + + + The security-identityType specifies whether the caller's + security identity is to be used for the execution of the + methods of the enterprise bean or whether a specific run-as + identity is to be used. It contains an optional description + and a specification of the security identity to be used. + + + + + + + + + + + + The use-caller-identity element specifies that + the caller's security identity be used as the + security identity for the execution of the + enterprise bean's methods. + + + + + + + + + + + + + + + + + The session-beanType declares an session bean. The + declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a name assigned to the enterprise bean + in the deployment description + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the session bean's remote home/business interface. + This element is not required to be supported by all + implementations. Any use of this element is non-portable. + - the names of all the remote or local business interfaces, + if any + - the names of the session bean's remote home and + remote interfaces, if any + - the names of the session bean's local home and + local interfaces, if any + - the name of the session bean's web service endpoint + interface, if any + - the session bean's implementation class + - the session bean's state management type + - an optional declaration of the session bean's timeout method. + - the optional session bean's transaction management type. + If it is not present, it is defaulted to Container. + - an optional list of the session bean class and/or + superclass around-invoke methods. + - an optional declaration of the bean's + environment entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's resource + manager connection factory references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + + The elements that are optional are "optional" in the sense + that they are omitted when if lists represented by them are + empty. + + Either both the local-home and the local elements or both + the home and the remote elements must be specified for the + session bean. + + The service-endpoint element may only be specified if the + bean is a stateless session bean. + + + + + + + + + + + + + + + + + + + The service-endpoint element contains the + fully-qualified name of the enterprise bean's web + service endpoint interface. The service-endpoint + element may only be specified for a stateless + session bean. The specified interface must be a + valid JAX-RPC service endpoint interface. + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + + + The init-method element specifies the mappings for + EJB 2.x style create methods for an EJB 3.0 bean. + This element can only be specified for stateful + session beans. + + + + + + + + + The remove-method element specifies the mappings for + EJB 2.x style remove methods for an EJB 3.0 bean. + This element can only be specified for stateful + session beans. + + + + + + + + + + + + + + + + + + + + + + + + The session-typeType describes whether the session bean is a + stateful session or stateless session. It is used by + session-type elements. + + The value must be one of the two following: + + Stateful + Stateless + + + + + + + + + + + + + + + + + + The trans-attributeType specifies how the container must + manage the transaction boundaries when delegating a method + invocation to an enterprise bean's business method. + + The value must be one of the following: + + NotSupported + Supports + Required + RequiresNew + Mandatory + Never + + + + + + + + + + + + + + + + + + + + + + The transaction-typeType specifies an enterprise bean's + transaction management type. + + The transaction-type must be one of the two following: + + Bean + Container + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_1.xsd new file mode 100644 index 0000000000..8c097627a9 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_1.xsd @@ -0,0 +1,3247 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for the + Java EE namespace with the following location: + + http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + This is the root of the ejb-jar deployment descriptor. + + + + + + + + The ejb-name element contains the name of an enterprise + bean. The name must be unique within the ejb-jar or + .war file. + + + + + + + + + + + The keyref indicates the references from + relationship-role-source must be to a specific ejb-name + defined within the scope of enterprise-beans element. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + The access-timeoutType represents the maximum amount of + time (in a given time unit) that the container should wait for + a concurrency lock before throwing a timeout exception to the + client. + + A timeout value of 0 means concurrent access is not permitted. + + A timeout value of -1 means wait indefinitely to acquire a lock. + + + + + + + + + + + + + + + + + + The async-methodType element specifies that a session + bean method has asynchronous invocation semantics. + + + + + + + + + + + + + + + + + + The activation-configType defines information about the + expected configuration properties of the message-driven bean + in its operational environment. This may include information + about message acknowledgement, message selector, expected + destination type, etc. + + The configuration information is expressed in terms of + name/value configuration properties. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + + + + + + + + + + The activation-config-propertyType contains a name/value + configuration property pair for a message-driven bean. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + The activation-config-property-name element contains + the name for an activation configuration property of + a message-driven bean. + + For JMS message-driven beans, the following property + names are recognized: acknowledgeMode, + messageSelector, destinationType, subscriptionDurability + + + + + + + + + The activation-config-property-value element + contains the value for an activation configuration + property of a message-driven bean. + + + + + + + + + + + + + + + + The around-invoke type specifies a method on a + class to be called during the around invoke portion of an + ejb invocation. Note that each class may have only one + around invoke method and that the method may not be + overloaded. + + If the class element is missing then + the class defining the callback is assumed to be the + interceptor class or component class in scope at the + location in the descriptor in which the around invoke + definition appears. + + + + + + + + + + + + + + + + + The around-timeout type specifies a method on a + class to be called during the around-timeout portion of + a timer timeout callback. Note that each class may have + only one around-timeout method and that the method may not + be overloaded. + + If the class element is missing then + the class defining the callback is assumed to be the + interceptor class or component class in scope at the + location in the descriptor in which the around-timeout + definition appears. + + + + + + + + + + + + + + + + + The assembly-descriptorType defines + application-assembly information. + + The application-assembly information consists of the + following parts: the definition of security roles, the + definition of method permissions, the definition of + transaction attributes for enterprise beans with + container-managed transaction demarcation, the definition + of interceptor bindings, a list of + methods to be excluded from being invoked, and a list of + exception types that should be treated as application exceptions. + + All the parts are optional in the sense that they are + omitted if the lists represented by them are empty. + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar or .war file producer. + + + + + + + + + + + + + + + + + + + + + + + The cmp-fieldType describes a container-managed field. The + cmp-fieldType contains an optional description of the field, + and the name of the field. + + + + + + + + + + The field-name element specifies the name of a + container managed field. + + The name of the cmp-field of an entity bean with + cmp-version 2.x must begin with a lowercase + letter. This field is accessed by methods whose + names consists of the name of the field specified by + field-name in which the first letter is uppercased, + prefixed by "get" or "set". + + The name of the cmp-field of an entity bean with + cmp-version 1.x must denote a public field of the + enterprise bean class or one of its superclasses. + + + + + + + + + + + + + + + + The cmp-versionType specifies the version of an entity bean + with container-managed persistence. It is used by + cmp-version elements. + + The value must be one of the two following: + + 1.x + 2.x + + + + + + + + + + + + + + + + + + + The cmr-fieldType describes the bean provider's view of + a relationship. It consists of an optional description, and + the name and the class type of a field in the source of a + role of a relationship. The cmr-field-name element + corresponds to the name used for the get and set accessor + methods for the relationship. The cmr-field-type element is + used only for collection-valued cmr-fields. It specifies the + type of the collection that is used. + + + + + + + + + + The cmr-field-name element specifies the name of a + logical relationship field in the entity bean + class. The name of the cmr-field must begin with a + lowercase letter. This field is accessed by methods + whose names consist of the name of the field + specified by cmr-field-name in which the first + letter is uppercased, prefixed by "get" or "set". + + + + + + + + + + + + + + + + + The cmr-field-type element specifies the class of a + collection-valued logical relationship field in the entity + bean class. The value of an element using cmr-field-typeType + must be either: java.util.Collection or java.util.Set. + + + + + + + + + + + + + + + + + + + The concurrency-management-typeType specifies the way concurrency + is managed for a singleton or stateful session bean. + + The concurrency management type must be one of the following: + + Bean + Container + + Bean managed concurrency can only be specified for a singleton bean. + + + + + + + + + + + + + + + + + + + The concurrent-lock-typeType specifies how the container must + manage concurrent access to a method of a Singleton bean + with container-managed concurrency. + + The container managed concurrency lock type must be one + of the following : + + Read + Write + + + + + + + + + + + + + + + + + + + The concurrent-methodType specifies information about a method + of a bean with container managed concurrency. + + The optional lock element specifies the kind of concurrency + lock asssociated with the method. + + The optional access-timeout element specifies the amount of + time (in a given time unit) the container should wait for a + concurrency lock before throwing an exception to the client. + + + + + + + + + + + + + + + + + + + The container-transactionType specifies how the container + must manage transaction scopes for the enterprise bean's + method invocations. It defines an optional description, a + list of method elements, and a transaction attribute. The + transaction attribute is to be applied to all the specified + methods. + + + + + + + + + + + + + + + + + + + The depends-onType is used to express initialization + ordering dependencies between Singleton components. + The depends-onType specifies the names of one or more + Singleton beans in the same application as the referring + Singleton, each of which must be initialized before + the referring bean. + + Each dependent bean is expressed using ejb-link syntax. + The order in which dependent beans are initialized at + runtime is not guaranteed to match the order in which + they are listed. + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeServiceBean + + ]]> + + + + + + + + + + + + + + + The ejb-jarType defines the root element of the EJB + deployment descriptor. It contains + + - an optional description of the ejb-jar file + - an optional display name + - an optional icon that contains a small and a large + icon file name + - an optional module name. Only applicable to + stand-alone ejb-jars or ejb-jars packaged in an ear. + Ignored if specified for an ejb-jar.xml within a .war. + In that case, standard .war module-name rules apply. + - structural information about all included + enterprise beans that is not specified through + annotations + - structural information about interceptor classes + - a descriptor for container managed relationships, + if any. + - an optional application-assembly descriptor + - an optional name of an ejb-client-jar file for the + ejb-jar. + + + + + + + + + + + + + + The ejb-relation-name contains the name of a + relation. The name must be unique within + relationships. + + + + + + + + + + + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar or .war file + producer. + + + + + + + + employee_service_client.jar + + + ]]> + + + + + + + + + The version specifies the version of the + EJB specification that the instance document must + comply with. This information enables deployment tools + to validate a particular EJB Deployment + Descriptor with respect to a specific version of the EJB + schema. + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + EmployeeService + + ]]> + + + + + + + + + + + + + + + The ejb-relationType describes a relationship between two + entity beans with container-managed persistence. It is used + by ejb-relation elements. It contains a description; an + optional ejb-relation-name element; and exactly two + relationship role declarations, defined by the + ejb-relationship-role elements. The name of the + relationship, if specified, is unique within the ejb-jar + file. + + + + + + + + + + The ejb-relation-name element provides a unique name + within the ejb-jar file for a relationship. + + + + + + + + + + + + + + + + + + Product-LineItem + + product-has-lineitems + + One + + ProductEJB + + + + + ]]> + + + + + + + + + The ejb-relationship-role-name element defines a + name for a role that is unique within an + ejb-relation. Different relationships can use the + same name for a role. + + + + + + + + + + The cascade-delete element specifies that, within a + particular relationship, the lifetime of one or more + entity beans is dependent upon the lifetime of + another entity bean. The cascade-delete element can + only be specified for an ejb-relationship-role + element contained in an ejb-relation element in + which the other ejb-relationship-role + element specifies a multiplicity of One. + + + + + + + + + + + + + + + + + + The enterprise-beansType declares one or more enterprise + beans. Each bean can be a session, entity or message-driven + bean. + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + + + + + + + The entity-beanType declares an entity bean. The declaration + consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a unique name assigned to the enterprise bean + in the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the entity bean's remote home interface. This + element is not required to be supported by all implementations. + Any use of this element is non-portable. + - the names of the entity bean's remote home + and remote interfaces, if any + - the names of the entity bean's local home and local + interfaces, if any + - the entity bean's implementation class + - the optional entity bean's persistence management type. If + this element is not specified it is defaulted to Container. + - the entity bean's primary key class name + - an indication of the entity bean's reentrancy + - an optional specification of the + entity bean's cmp-version + - an optional specification of the entity bean's + abstract schema name + - an optional list of container-managed fields + - an optional specification of the primary key + field + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB + references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's + resource manager connection factory references + - an optional declaration of the bean's + resource environment references + - an optional declaration of the bean's message + destination references + - an optional set of query declarations + for finder and select methods for an entity + bean with cmp-version 2.x. + + The optional abstract-schema-name element must be specified + for an entity bean with container-managed persistence and + cmp-version 2.x. + + The optional primkey-field may be present in the descriptor + if the entity's persistence-type is Container. + + The optional cmp-version element may be present in the + descriptor if the entity's persistence-type is Container. If + the persistence-type is Container and the cmp-version + element is not specified, its value defaults to 2.x. + + The optional home and remote elements must be specified if + the entity bean cmp-version is 1.x. + + The optional home and remote elements must be specified if + the entity bean has a remote home and remote interface. + + The optional local-home and local elements must be specified + if the entity bean has a local home and local interface. + + Either both the local-home and the local elements or both + the home and the remote elements must be specified. + + The optional query elements must be present if the + persistence-type is Container and the cmp-version is 2.x and + query methods other than findByPrimaryKey have been defined + for the entity bean. + + The other elements that are optional are "optional" in the + sense that they are omitted if the lists represented by them + are empty. + + At least one cmp-field element must be present in the + descriptor if the entity's persistence-type is Container and + the cmp-version is 1.x, and none must not be present if the + entity's persistence-type is Bean. + + + + + + + + + + + + + + + + + + The prim-key-class element contains the + fully-qualified name of an + entity bean's primary key class. + + If the definition of the primary key class is + deferred to deployment time, the prim-key-class + element should specify java.lang.Object. + + + + + + + + + The reentrant element specifies whether an entity + bean is reentrant or not. + + The reentrant element must be one of the two + following: true or false + + + + + + + + + + The abstract-schema-name element specifies the name + of the abstract schema type of an entity bean with + cmp-version 2.x. It is used in EJB QL queries. + + For example, the abstract-schema-name for an entity + bean whose local interface is + com.acme.commerce.Order might be Order. + + + + + + + + + + The primkey-field element is used to specify the + name of the primary key field for an entity with + container-managed persistence. + + The primkey-field must be one of the fields declared + in the cmp-field element, and the type of the field + must be the same as the primary key type. + + The primkey-field element is not used if the primary + key maps to multiple container-managed fields + (i.e. the key is a compound key). In this case, the + fields of the primary key class must be public, and + their names must correspond to the field names of + the entity bean class that comprise the key. + + + + + + + + + + + + + + + + + + + + The exclude-listType specifies one or more methods which + the Assembler marks to be uncallable. + + If the method permission relation contains methods that are + in the exclude list, the Deployer should consider those + methods to be uncallable. + + + + + + + + + + + + + + + + + + The application-exceptionType declares an application + exception. The declaration consists of: + + - the exception class. When the container receives + an exception of this type, it is required to + forward this exception as an applcation exception + to the client regardless of whether it is a checked + or unchecked exception. + - an optional rollback element. If this element is + set to true, the container must rollback the current + transaction before forwarding the exception to the + client. If not specified, it defaults to false. + - an optional inherited element. If this element is + set to true, subclasses of the exception class type + are also automatically considered application + exceptions (unless overriden at a lower level). + If set to false, only the exception class type is + considered an application-exception, not its + exception subclasses. If not specified, this + value defaults to true. + + + + + + + + + + + + + + + + + + + The interceptorsType element declares one or more interceptor + classes used by components within this ejb-jar or .war. The declaration + consists of : + + - An optional description. + - One or more interceptor elements. + + + + + + + + + + + + + + + + + + The interceptorType element declares information about a single + interceptor class. It consists of : + + - An optional description. + - The fully-qualified name of the interceptor class. + - An optional list of around invoke methods declared on the + interceptor class and/or its super-classes. + - An optional list of around timeout methods declared on the + interceptor class and/or its super-classes. + - An optional list environment dependencies for the interceptor + class and/or its super-classes. + - An optional list of post-activate methods declared on the + interceptor class and/or its super-classes. + - An optional list of pre-passivate methods declared on the + interceptor class and/or its super-classes. + + + + + + + + + + + + + + + + + + + + + + + * + INTERCEPTOR + + + Specifying the ejb-name as the wildcard value "*" designates + default interceptors (interceptors that apply to all session and + message-driven beans contained in the ejb-jar or .war). + + 2. + + EJBNAME + INTERCEPTOR + + + This style is used to refer to interceptors associated with the + specified enterprise bean(class-level interceptors). + + 3. + + EJBNAME + INTERCEPTOR + + METHOD + + + + This style is used to associate a method-level interceptor with + the specified enterprise bean. If there are multiple methods + with the same overloaded name, the element of this style refers + to all the methods with the overloaded name. Method-level + interceptors can only be associated with business methods of the + bean class. Note that the wildcard value "*" cannot be used + to specify method-level interceptors. + + 4. + + EJBNAME + INTERCEPTOR + + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-N + + + + + This style is used to associate a method-level interceptor with + the specified method of the specified enterprise bean. This + style is used to refer to a single method within a set of methods + with an overloaded name. The values PARAM-1 through PARAM-N + are the fully-qualified Java types of the method's input parameters + (if the method has no input arguments, the method-params element + contains no method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of square + brackets (e.g. int[][]). + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + The interceptor-orderType element describes a total ordering + of interceptor classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The message-driven element declares a message-driven + bean. The declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name. + - a name assigned to the enterprise bean in + the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of destination from which this message-driven bean + should consume. This element is not required to be supported + by all implementations. Any use of this element is non-portable. + - the message-driven bean's implementation class + - an optional declaration of the bean's messaging + type + - an optional declaration of the bean's timeout method for + handling programmatically created timers + - an optional declaration of timers to be automatically created at + deployment time + - the optional message-driven bean's transaction management + type. If it is not defined, it is defaulted to Container. + - an optional declaration of the bean's + message-destination-type + - an optional declaration of the bean's + message-destination-link + - an optional declaration of the message-driven bean's + activation configuration properties + - an optional list of the message-driven bean class and/or + superclass around-invoke methods. + - an optional list of the message-driven bean class and/or + superclass around-timeout methods. + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local EJB + references + - an optional declaration of the bean's web service + references + - an optional declaration of the security role + references + - an optional declaration of the security + identity to be used for the execution of the bean's + methods + - an optional declaration of the bean's + resource manager connection factory + references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + + + + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + The messaging-type element specifies the message + listener interface of the message-driven bean. + + + + + + + + + The timeout-method element specifies the method that + will receive callbacks for programmatically + created timers. + + + + + + + + + + + + + + + + + + + + + + + + + + + EJBNAME + * + + + This style is used to refer to all the methods of the + specified enterprise bean's business, home, component, + and/or web service endpoint interfaces. + + 2. + + EJBNAME + METHOD + + + This style is used to refer to the specified method of + the specified enterprise bean. If there are multiple + methods with the same overloaded name, the element of + this style refers to all the methods with the overloaded + name. + + 3. + + EJBNAME + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-n + + + + This style is used to refer to a single method within a + set of methods with an overloaded name. PARAM-1 through + PARAM-n are the fully-qualified Java types of the + method's input parameters (if the method has no input + arguments, the method-params element contains no + method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of + square brackets (e.g. int[][]). If there are multiple + methods with the same overloaded name, this style refers + to all of the overloaded methods. + + Examples: + + Style 1: The following method element refers to all the + methods of the EmployeeService bean's business, home, + component, and/or web service endpoint interfaces: + + + EmployeeService + * + + + Style 2: The following method element refers to all the + create methods of the EmployeeService bean's home + interface(s). + + + EmployeeService + create + + + Style 3: The following method element refers to the + create(String firstName, String LastName) method of the + EmployeeService bean's home interface(s). + + + EmployeeService + create + + java.lang.String + java.lang.String + + + + The following example illustrates a Style 3 element with + more complex parameter types. The method + foobar(char s, int i, int[] iar, mypackage.MyClass mycl, + mypackage.MyClass[][] myclaar) would be specified as: + + + EmployeeService + foobar + + char + int + int[] + mypackage.MyClass + mypackage.MyClass[][] + + + + The optional method-intf element can be used when it becomes + necessary to differentiate between a method that is multiply + defined across the enterprise bean's business, home, component, + and/or web service endpoint interfaces with the same name and + signature. However, if the same method is a method of both the + local business interface, and the local component interface, + the same attribute applies to the method for both interfaces. + Likewise, if the same method is a method of both the remote + business interface and the remote component interface, the same + attribute applies to the method for both interfaces. + + For example, the method element + + + EmployeeService + Remote + create + + java.lang.String + java.lang.String + + + + can be used to differentiate the create(String, String) + method defined in the remote interface from the + create(String, String) method defined in the remote home + interface, which would be defined as + + + EmployeeService + Home + create + + java.lang.String + java.lang.String + + + + and the create method that is defined in the local home + interface which would be defined as + + + EmployeeService + LocalHome + create + + java.lang.String + java.lang.String + + + + The method-intf element can be used with all three Styles + of the method element usage. For example, the following + method element example could be used to refer to all the + methods of the EmployeeService bean's remote home interface + and the remote business interface. + + + EmployeeService + Home + * + + + ]]> + + + + + + + + + + + + + + + + + + + + + The method-intf element allows a method element to + differentiate between the methods with the same name and + signature that are multiply defined across the home and + component interfaces (e.g, in both an enterprise bean's + remote and local interfaces or in both an enterprise bean's + home and remote interfaces, etc.); the component and web + service endpoint interfaces, and so on. + + Local applies to the local component interface, local business + interfaces, and the no-interface view. + + Remote applies to both remote component interface and the remote + business interfaces. + + ServiceEndpoint refers to methods exposed through a web service + endpoint. + + Timer refers to the bean's timeout callback methods. + + MessageEndpoint refers to the methods of a message-driven bean's + message-listener interface. + + The method-intf element must be one of the following: + + Home + Remote + LocalHome + Local + ServiceEndpoint + Timer + MessageEndpoint + + + + + + + + + + + + + + + + + + + + + + + + The method-nameType contains a name of an enterprise + bean method or the asterisk (*) character. The asterisk is + used when the element denotes all the methods of an + enterprise bean's client view interfaces. + + + + + + + + + + + + + + + + The method-paramsType defines a list of the + fully-qualified Java type names of the method parameters. + + + + + + + + + The method-param element contains a primitive + or a fully-qualified Java type name of a method + parameter. + + + + + + + + + + + + + + + + The method-permissionType specifies that one or more + security roles are allowed to invoke one or more enterprise + bean methods. The method-permissionType consists of an + optional description, a list of security role names or an + indicator to state that the method is unchecked for + authorization, and a list of method elements. + + The security roles used in the method-permissionType + must be defined in the security-role elements of the + deployment descriptor, and the methods must be methods + defined in the enterprise bean's business, home, component + and/or web service endpoint interfaces. + + + + + + + + + + + + The unchecked element specifies that a method is + not checked for authorization by the container + prior to invocation of the method. + + + + + + + + + + + + + + + + + + The multiplicityType describes the multiplicity of the + role that participates in a relation. + + The value must be one of the two following: + + One + Many + + + + + + + + + + + + + + + + + + + The persistence-typeType specifies an entity bean's persistence + management type. + + The persistence-type element must be one of the two following: + + Bean + Container + + + + + + + + + + + + + + + + + + + The queryType defines a finder or select + query. It contains + - an optional description of the query + - the specification of the finder or select + method it is used by + - an optional specification of the result type + mapping, if the query is for a select method + and entity objects are returned. + - the EJB QL query string that defines the query. + + Queries that are expressible in EJB QL must use the ejb-ql + element to specify the query. If a query is not expressible + in EJB QL, the description element should be used to + describe the semantics of the query and the ejb-ql element + should be empty. + + The result-type-mapping is an optional element. It can only + be present if the query-method specifies a select method + that returns entity objects. The default value for the + result-type-mapping element is "Local". + + + + + + + + + + + + + + + + + + + + Method finds large orders + + findLargeOrders + + + + SELECT OBJECT(o) FROM Order o + WHERE o.amount > 1000 + + + + ]]> + + + + + + + + + + + + + + + + + The relationship-role-sourceType designates the source of a + role that participates in a relationship. A + relationship-role-sourceType is used by + relationship-role-source elements to uniquely identify an + entity bean. + + + + + + + + + + + + + + + + + + The relationshipsType describes the relationships in + which entity beans with container-managed persistence + participate. The relationshipsType contains an optional + description; and a list of ejb-relation elements, which + specify the container managed relationships. + + + + + + + + + + + The ejb-relationship-role-name contains the name of a + relationship role. The name must be unique within + a relationship, but can be reused in different + relationships. + + + + + + + + + + + + + + + + + + + The result-type-mappingType is used in the query element to + specify whether an abstract schema type returned by a query + for a select method is to be mapped to an EJBLocalObject or + EJBObject type. + + The value must be one of the following: + + Local + Remote + + + + + + + + + + + + + + + + + + + The security-identityType specifies whether the caller's + security identity is to be used for the execution of the + methods of the enterprise bean or whether a specific run-as + identity is to be used. It contains an optional description + and a specification of the security identity to be used. + + + + + + + + + + + The use-caller-identity element specifies that + the caller's security identity be used as the + security identity for the execution of the + enterprise bean's methods. + + + + + + + + + + + + + + + + + + The session-beanType declares an session bean. The + declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a name assigned to the enterprise bean + in the deployment description + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the session bean's remote home/business interface. + This element is not required to be supported by all + implementations. Any use of this element is non-portable. + - the names of all the remote or local business interfaces, + if any + - the names of the session bean's remote home and + remote interfaces, if any + - the names of the session bean's local home and + local interfaces, if any + - an optional declaration that this bean exposes a + no-interface view + - the name of the session bean's web service endpoint + interface, if any + - the session bean's implementation class + - the session bean's state management type + - an optional declaration of a stateful session bean's timeout value + - an optional declaration of the session bean's timeout method for + handling programmatically created timers + - an optional declaration of timers to be automatically created at + deployment time + - an optional declaration that a Singleton bean has eager + initialization + - an optional declaration of a Singleton/Stateful bean's concurrency + management type + - an optional declaration of the method locking metadata + for a Singleton with container managed concurrency + - an optional declaration of the other Singleton beans in the + application that must be initialized before this bean + - an optional declaration of the session bean's asynchronous + methods + - the optional session bean's transaction management type. + If it is not present, it is defaulted to Container. + - an optional declaration of a stateful session bean's + afterBegin, beforeCompletion, and/or afterCompletion methods + - an optional list of the session bean class and/or + superclass around-invoke methods. + - an optional list of the session bean class and/or + superclass around-timeout methods. + - an optional declaration of the bean's + environment entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's resource + manager connection factory references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + + The elements that are optional are "optional" in the sense + that they are omitted when if lists represented by them are + empty. + + The service-endpoint element may only be specified if the + bean is a stateless session bean. + + + + + + + + + + + + + + + + + + The local-bean element declares that this + session bean exposes a no-interface Local client view. + + + + + + + + + The service-endpoint element contains the + fully-qualified name of the enterprise bean's web + service endpoint interface. The service-endpoint + element may only be specified for a stateless + session bean. The specified interface must be a + valid JAX-RPC service endpoint interface. + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + + + The timeout-method element specifies the method that + will receive callbacks for programmatically + created timers. + + + + + + + + + + The init-on-startup element specifies that a Singleton + bean has eager initialization. + This element can only be specified for singleton session + beans. + + + + + + + + + + + + The init-method element specifies the mappings for + EJB 2.x style create methods for an EJB 3.x bean. + This element can only be specified for stateful + session beans. + + + + + + + + + The remove-method element specifies the mappings for + EJB 2.x style remove methods for an EJB 3.x bean. + This element can only be specified for stateful + session beans. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The session-typeType describes whether the session bean is a + singleton, stateful or stateless session. It is used by + session-type elements. + + The value must be one of the three following: + + Singleton + Stateful + Stateless + + + + + + + + + + + + + + + + + + + + The stateful-timeoutType represents the amount of time + a stateful session bean can be idle(not receive any client + invocations) before it is eligible for removal by the container. + + A timeout value of 0 means the bean is immediately eligible for removal. + + A timeout value of -1 means the bean will never be removed due to timeout. + + + + + + + + + + + + + + + + + + The time-unit-typeType represents a time duration at a given + unit of granularity. + + The time unit type must be one of the following : + + Days + Hours + Minutes + Seconds + Milliseconds + Microseconds + Nanoseconds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The timerType specifies an enterprise bean timer. Each + timer is automatically created by the container upon + deployment. Timer callbacks occur based on the + schedule attributes. All callbacks are made to the + timeout-method associated with the timer. + + A timer can have an optional start and/or end date. If + a start date is specified, it takes precedence over the + associated timer schedule such that any matching + expirations prior to the start time will not occur. + Likewise, no matching expirations will occur after any + end date. Start/End dates are specified using the + XML Schema dateTime type, which follows the ISO-8601 + standard for date(and optional time-within-the-day) + representation. + + An optional flag can be used to control whether + this timer has persistent(true) delivery semantics or + non-persistent(false) delivery semantics. If not specified, + the value defaults to persistent(true). + + A time zone can optionally be associated with a timer. + If specified, the timer's schedule is evaluated in the context + of that time zone, regardless of the default time zone in which + the container is executing. Time zones are specified as an + ID string. The set of required time zone IDs is defined by + the Zone Name(TZ) column of the public domain zoneinfo database. + + An optional info string can be assigned to the timer and + retrieved at runtime through the Timer.getInfo() method. + + The timerType can only be specified on stateless session + beans, singleton session beans, and message-driven beans. + + + + + + + + + + + + + + + + + + + + + + + + The trans-attributeType specifies how the container must + manage the transaction boundaries when delegating a method + invocation to an enterprise bean's business method. + + The value must be one of the following: + + NotSupported + Supports + Required + RequiresNew + Mandatory + Never + + + + + + + + + + + + + + + + + + + + + + + The transaction-typeType specifies an enterprise bean's + transaction management type. + + The transaction-type must be one of the two following: + + Bean + Container + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_2.xsd new file mode 100644 index 0000000000..62e9ffdae5 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/ejb-jar_3_2.xsd @@ -0,0 +1,3375 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for the + Java EE namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + This is the root of the ejb-jar deployment descriptor. + + + + + + + + The ejb-name element contains the name of an enterprise + bean. The name must be unique within the ejb-jar file or + .war file. + + + + + + + + + + + The keyref indicates the references from + relationship-role-source must be to a specific ejb-name + defined within the scope of enterprise-beans element. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + The access-timeoutType represents the maximum amount of + time (in a given time unit) that the container should wait for + a concurrency lock before throwing a timeout exception to the + client. + + A timeout value of 0 means concurrent access is not permitted. + + A timeout value of -1 means wait indefinitely to acquire a lock. + + + + + + + + + + + + + + + + + + The async-methodType element specifies that a session + bean method has asynchronous invocation semantics. + + + + + + + + + + + + + + + + + + The activation-configType defines information about the + expected configuration properties of the message-driven bean + in its operational environment. This may include information + about message acknowledgement, message selector, expected + destination type, destination or connection factory lookup + string, subscription name, etc. + + The configuration information is expressed in terms of + name/value configuration properties. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + + + + + + + + + + The activation-config-propertyType contains a name/value + configuration property pair for a message-driven bean. + + The properties that are recognized for a particular + message-driven bean are determined by the messaging type. + + + + + + + + + The activation-config-property-name element contains + the name for an activation configuration property of + a message-driven bean. + + For JMS message-driven beans, the following property + names are recognized: acknowledgeMode, + messageSelector, destinationType, subscriptionDurability, + destinationLookup, connectionFactoryLookup, subscriptionName, + and clientId. + + + + + + + + + The activation-config-property-value element + contains the value for an activation configuration + property of a message-driven bean. + + + + + + + + + + + + + + + + The around-invoke type specifies a method on a + class to be called during the around invoke portion of an + ejb invocation. Note that each class may have only one + around invoke method and that the method may not be + overloaded. + + If the class element is missing then + the class defining the callback is assumed to be the + interceptor class or component class in scope at the + location in the descriptor in which the around invoke + definition appears. + + + + + + + + + + + + + + + + + The around-timeout type specifies a method on a + class to be called during the around-timeout portion of + a timer timeout callback. Note that each class may have + only one around-timeout method and that the method may not + be overloaded. + + If the class element is missing then + the class defining the callback is assumed to be the + interceptor class or component class in scope at the + location in the descriptor in which the around-timeout + definition appears. + + + + + + + + + + + + + + + + + The assembly-descriptorType defines + application-assembly information. + + The application-assembly information consists of the + following parts: the definition of security roles, the + definition of method permissions, the definition of + transaction attributes for enterprise beans with + container-managed transaction demarcation, the definition + of interceptor bindings, a list of + methods to be excluded from being invoked, and a list of + exception types that should be treated as application exceptions. + + All the parts are optional in the sense that they are + omitted if the lists represented by them are empty. + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar file or .war file producer. + + + + + + + + + + + + + + + + + + + + + + + The cmp-fieldType describes a container-managed field. The + cmp-fieldType contains an optional description of the field, + and the name of the field. + + + + + + + + + + The field-name element specifies the name of a + container managed field. + + The name of the cmp-field of an entity bean with + cmp-version 2.x must begin with a lowercase + letter. This field is accessed by methods whose + names consists of the name of the field specified by + field-name in which the first letter is uppercased, + prefixed by "get" or "set". + + The name of the cmp-field of an entity bean with + cmp-version 1.x must denote a public field of the + enterprise bean class or one of its superclasses. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + The cmp-versionType specifies the version of an entity bean + with container-managed persistence. It is used by + cmp-version elements. + + The value must be one of the two following: + + 1.x + 2.x + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + + The cmr-fieldType describes the Bean Provider's view of + a relationship. It consists of an optional description, and + the name and the class type of a field in the source of a + role of a relationship. The cmr-field-name element + corresponds to the name used for the get and set accessor + methods for the relationship. The cmr-field-type element is + used only for collection-valued cmr-fields. It specifies the + type of the collection that is used. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + The cmr-field-name element specifies the name of a + logical relationship field in the entity bean + class. The name of the cmr-field must begin with a + lowercase letter. This field is accessed by methods + whose names consist of the name of the field + specified by cmr-field-name in which the first + letter is uppercased, prefixed by "get" or "set". + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + The cmr-field-type element specifies the class of a + collection-valued logical relationship field in the entity + bean class. The value of an element using cmr-field-typeType + must be either: java.util.Collection or java.util.Set. + + + + + + + + + + + + + + + + + + + The concurrency-management-typeType specifies the way concurrency + is managed for a singleton or stateful session bean. + + The concurrency management type must be one of the following: + + Bean + Container + + Bean managed concurrency can only be specified for a singleton bean. + + + + + + + + + + + + + + + + + + + The concurrent-lock-typeType specifies how the container must + manage concurrent access to a method of a Singleton bean + with container-managed concurrency. + + The container managed concurrency lock type must be one + of the following : + + Read + Write + + + + + + + + + + + + + + + + + + + The concurrent-methodType specifies information about a method + of a bean with container managed concurrency. + + The optional lock element specifies the kind of concurrency + lock asssociated with the method. + + The optional access-timeout element specifies the amount of + time (in a given time unit) the container should wait for a + concurrency lock before throwing an exception to the client. + + + + + + + + + + + + + + + + + + + The container-transactionType specifies how the container + must manage transaction scopes for the enterprise bean's + method invocations. It defines an optional description, a + list of method elements, and a transaction attribute. The + transaction attribute is to be applied to all the specified + methods. + + + + + + + + + + + + + + + + + + + The depends-onType is used to express initialization + ordering dependencies between Singleton components. + The depends-onType specifies the names of one or more + Singleton beans in the same application as the referring + Singleton, each of which must be initialized before + the referring bean. + + Each dependent bean is expressed using ejb-link syntax. + The order in which dependent beans are initialized at + runtime is not guaranteed to match the order in which + they are listed. + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeServiceBean + + ]]> + + + + + + + + + + + + + + + The ejb-jarType defines the root element of the EJB + deployment descriptor. It contains + + - an optional description of the ejb-jar file + - an optional display name + - an optional icon that contains a small and a large + icon file name + - an optional module name. Only applicable to + stand-alone ejb-jars or ejb-jars packaged in an ear. + Ignored if specified for an ejb-jar.xml within a .war file. + In that case, standard .war file module-name rules apply. + - structural information about all included + enterprise beans that is not specified through + annotations + - structural information about interceptor classes + - a descriptor for container managed relationships, + if any. + - an optional application-assembly descriptor + - an optional name of an ejb-client-jar file for the + ejb-jar. + + + + + + + + + + + + + + The ejb-relation-name contains the name of a + relation. The name must be unique within + relationships. + + + + + + + + + + + + Providing an assembly-descriptor in the deployment + descriptor is optional for the ejb-jar file or .war file + producer. + + + + + + + + employee_service_client.jar + + + ]]> + + + + + + + + + The version specifies the version of the + EJB specification that the instance document must + comply with. This information enables deployment tools + to validate a particular EJB Deployment + Descriptor with respect to a specific version of the EJB + schema. + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + EmployeeService + + ]]> + + + + + + + + + + + + + + + The ejb-relationType describes a relationship between two + entity beans with container-managed persistence. It is used + by ejb-relation elements. It contains a description; an + optional ejb-relation-name element; and exactly two + relationship role declarations, defined by the + ejb-relationship-role elements. The name of the + relationship, if specified, is unique within the ejb-jar + file. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + The ejb-relation-name element provides a unique name + within the ejb-jar file for a relationship. + + + + + + + + + + + + + + + + + Product-LineItem + + product-has-lineitems + + One + + ProductEJB + + + + + Support for entity beans is optional as of EJB 3.2. + + ]]> + + + + + + + + + The ejb-relationship-role-name element defines a + name for a role that is unique within an + ejb-relation. Different relationships can use the + same name for a role. + + + + + + + + + + The cascade-delete element specifies that, within a + particular relationship, the lifetime of one or more + entity beans is dependent upon the lifetime of + another entity bean. The cascade-delete element can + only be specified for an ejb-relationship-role + element contained in an ejb-relation element in + which the other ejb-relationship-role + element specifies a multiplicity of One. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + The enterprise-beansType declares one or more enterprise + beans. Each bean can be a session, entity or message-driven + bean. + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + The ejb-ref-name element contains the name of + an EJB reference. The EJB reference is an entry in + the component's environment and is relative to the + java:comp/env context. The name must be unique within + the component. + + It is recommended that name be prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the + component's environment and is relative to the + java:comp/env context. The name must be unique + within the component. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The message-destination-ref-name element specifies the name + of a message destination reference; its value is + the message destination reference name used in the component + code. The name is a JNDI name relative to the + java:comp/env context and must be unique within an + component. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within an component. + + + + + + + + + + + The env-entry-name element contains the name of a + component's environment entry. The name is a JNDI + name relative to the java:comp/env context. The + name must be unique within an component. + + + + + + + + + + + + + + + + + + + Support for entity beans is optional as of EJB 3.2. + + The entity-beanType declares an entity bean. The declaration + consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a unique name assigned to the enterprise bean + in the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the entity bean's remote home interface. This + element is not required to be supported by all implementations. + Any use of this element is non-portable. + - the names of the entity bean's remote home + and remote interfaces, if any + - the names of the entity bean's local home and local + interfaces, if any + - the entity bean's implementation class + - the optional entity bean's persistence management type. If + this element is not specified it is defaulted to Container. + - the entity bean's primary key class name + - an indication of the entity bean's reentrancy + - an optional specification of the + entity bean's cmp-version + - an optional specification of the entity bean's + abstract schema name + - an optional list of container-managed fields + - an optional specification of the primary key + field + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB + references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's + resource manager connection factory references + - an optional declaration of the bean's + resource environment references + - an optional declaration of the bean's message + destination references + - an optional set of query declarations + for finder and select methods for an entity + bean with cmp-version 2.x. + + The optional abstract-schema-name element must be specified + for an entity bean with container-managed persistence and + cmp-version 2.x. + + The optional primkey-field may be present in the descriptor + if the entity's persistence-type is Container. + + The optional cmp-version element may be present in the + descriptor if the entity's persistence-type is Container. If + the persistence-type is Container and the cmp-version + element is not specified, its value defaults to 2.x. + + The optional home and remote elements must be specified if + the entity bean cmp-version is 1.x. + + The optional home and remote elements must be specified if + the entity bean has a remote home and remote interface. + + The optional local-home and local elements must be specified + if the entity bean has a local home and local interface. + + Either both the local-home and the local elements or both + the home and the remote elements must be specified. + + The optional query elements must be present if the + persistence-type is Container and the cmp-version is 2.x and + query methods other than findByPrimaryKey have been defined + for the entity bean. + + The other elements that are optional are "optional" in the + sense that they are omitted if the lists represented by them + are empty. + + At least one cmp-field element must be present in the + descriptor if the entity's persistence-type is Container and + the cmp-version is 1.x, and none must not be present if the + entity's persistence-type is Bean. + + + + + + + + + + + + + + + + + + The prim-key-class element contains the + fully-qualified name of an + entity bean's primary key class. + + If the definition of the primary key class is + deferred to deployment time, the prim-key-class + element should specify java.lang.Object. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + The reentrant element specifies whether an entity + bean is reentrant or not. + + The reentrant element must be one of the two + following: true or false + + + + + + + + + + The abstract-schema-name element specifies the name + of the abstract schema type of an entity bean with + cmp-version 2.x. It is used in EJB QL queries. + + For example, the abstract-schema-name for an entity + bean whose local interface is + com.acme.commerce.Order might be Order. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + The primkey-field element is used to specify the + name of the primary key field for an entity with + container-managed persistence. + + The primkey-field must be one of the fields declared + in the cmp-field element, and the type of the field + must be the same as the primary key type. + + The primkey-field element is not used if the primary + key maps to multiple container-managed fields + (i.e. the key is a compound key). In this case, the + fields of the primary key class must be public, and + their names must correspond to the field names of + the entity bean class that comprise the key. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + + + The exclude-listType specifies one or more methods which + the Assembler marks to be uncallable. + + If the method permission relation contains methods that are + in the exclude list, the Deployer should consider those + methods to be uncallable. + + + + + + + + + + + + + + + + + + The application-exceptionType declares an application + exception. The declaration consists of: + + - the exception class. When the container receives + an exception of this type, it is required to + forward this exception as an applcation exception + to the client regardless of whether it is a checked + or unchecked exception. + - an optional rollback element. If this element is + set to true, the container must rollback the current + transaction before forwarding the exception to the + client. If not specified, it defaults to false. + - an optional inherited element. If this element is + set to true, subclasses of the exception class type + are also automatically considered application + exceptions (unless overriden at a lower level). + If set to false, only the exception class type is + considered an application-exception, not its + exception subclasses. If not specified, this + value defaults to true. + + + + + + + + + + + + + + + + + + + The interceptorsType element declares one or more interceptor + classes used by components within this ejb-jar file or .war file. The declaration + consists of : + + - An optional description. + - One or more interceptor elements. + + + + + + + + + + + + + + + + + + The interceptorType element declares information about a single + interceptor class. It consists of : + + - An optional description. + - The fully-qualified name of the interceptor class. + - An optional list of around invoke methods declared on the + interceptor class and/or its super-classes. + - An optional list of around timeout methods declared on the + interceptor class and/or its super-classes. + - An optional list environment dependencies for the interceptor + class and/or its super-classes. + - An optional list of post-activate methods declared on the + interceptor class and/or its super-classes. + - An optional list of pre-passivate methods declared on the + interceptor class and/or its super-classes. + + + + + + + + + + + + + + + + + + + + + + + + * + INTERCEPTOR + + + Specifying the ejb-name as the wildcard value "*" designates + default interceptors (interceptors that apply to all session and + message-driven beans contained in the ejb-jar file or .war file). + + 2. + + EJBNAME + INTERCEPTOR + + + This style is used to refer to interceptors associated with the + specified enterprise bean(class-level interceptors). + + 3. + + EJBNAME + INTERCEPTOR + + METHOD + + + + This style is used to associate a method-level interceptor with + the specified enterprise bean. If there are multiple methods + with the same overloaded name, the element of this style refers + to all the methods with the overloaded name. Method-level + interceptors can only be associated with business methods of the + bean class. Note that the wildcard value "*" cannot be used + to specify method-level interceptors. + + 4. + + EJBNAME + INTERCEPTOR + + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-N + + + + + This style is used to associate a method-level interceptor with + the specified method of the specified enterprise bean. This + style is used to refer to a single method within a set of methods + with an overloaded name. The values PARAM-1 through PARAM-N + are the fully-qualified Java types of the method's input parameters + (if the method has no input arguments, the method-params element + contains no method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of square + brackets (e.g. int[][]). + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + The interceptor-orderType element describes a total ordering + of interceptor classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The message-driven element declares a message-driven + bean. The declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name. + - a name assigned to the enterprise bean in + the deployment descriptor + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of destination from which this message-driven bean + should consume. This element is not required to be supported + by all implementations. Any use of this element is non-portable. + - the message-driven bean's implementation class + - an optional declaration of the bean's messaging + type + - an optional declaration of the bean's timeout method for + handling programmatically created timers + - an optional declaration of timers to be automatically created at + deployment time + - the optional message-driven bean's transaction management + type. If it is not defined, it is defaulted to Container. + - an optional declaration of the bean's + message-destination-type + - an optional declaration of the bean's + message-destination-link + - an optional declaration of the message-driven bean's + activation configuration properties + - an optional list of the message-driven bean class and/or + superclass around-invoke methods. + - an optional list of the message-driven bean class and/or + superclass around-timeout methods. + - an optional declaration of the bean's environment + entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local EJB + references + - an optional declaration of the bean's web service + references + - an optional declaration of the security role + references + - an optional declaration of the security + identity to be used for the execution of the bean's + methods + - an optional declaration of the bean's + resource manager connection factory + references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + + + + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + The messaging-type element specifies the message + listener interface of the message-driven bean. + + + + + + + + + The timeout-method element specifies the method that + will receive callbacks for programmatically + created timers. + + + + + + + + + + + + + + + + + + + + + + + + + + + EJBNAME + * + + + This style is used to refer to all of the following methods + of the specified enterprise bean: + business interface methods + home interface methods + component interface methods + web service endpoint interface methods + no-interface view methods + singleton session bean lifecycle callback methods + timeout callback methods + message-driven bean message listener method + + This style may also be used in combination with the + method-intf element that contains LifecycleCallback as + the value to specify transaction attributes of a stateful + session bean PostConstruct, PreDestroy, PrePassivate, + and PostActivate lifecycle callback methods or to override + transaction attributes of a singleton session bean + PostConstruct and PreDestroy lifecycle callback methods. + + 2. + + EJBNAME + METHOD + + + This style is used to refer to the specified method of + the specified enterprise bean. If there are multiple + methods with the same overloaded name, the element of + this style refers to all the methods with the overloaded + name. + + This style may be used to refer to stateful session bean + PostConstruct, PreDestroy, PrePassivate, and PostActivate + lifecycle callback methods to specify their transaction + attributes if any of the following is true: + there is only one method with this name in the specified + enterprise bean + all overloaded methods with this name in the specified + enterprise bean are lifecycle callback methods + method-intf element is specified and it contains + LifecycleCallback as the value + + 3. + + EJBNAME + METHOD + + PARAM-1 + PARAM-2 + ... + PARAM-n + + + + This style is used to refer to a single method within a + set of methods with an overloaded name. PARAM-1 through + PARAM-n are the fully-qualified Java types of the + method's input parameters (if the method has no input + arguments, the method-params element contains no + method-param elements). Arrays are specified by the + array element's type, followed by one or more pair of + square brackets (e.g. int[][]). + If a method with the same name and signature is defined + on more than one interface of an enterprise bean, this + style refers to all those methods. + + Examples: + + Style 1: The following method element refers to all of the + following methods of the EmployeeService bean: + no interface view methods + business interface methods + home interface methods + component business interface methods + singleton session bean lifecycle callback methods, if any + timeout callback methods + web service endpoint interface methods + message-driven bean message listener methods (if the bean + a message-driven bean) + + + EmployeeService + * + + + Style 2: The following method element refers to all the + create methods of the EmployeeService bean's home + interface(s). + + + EmployeeService + create + + + Style 3: The following method element refers to the + create(String firstName, String LastName) method of the + EmployeeService bean's home interface(s). + + + EmployeeService + create + + java.lang.String + java.lang.String + + + + The following example illustrates a Style 3 element with + more complex parameter types. The method + foobar(char s, int i, int[] iar, mypackage.MyClass mycl, + mypackage.MyClass[][] myclaar) would be specified as: + + + EmployeeService + foobar + + char + int + int[] + mypackage.MyClass + mypackage.MyClass[][] + + + + The optional method-intf element can be used when it becomes + necessary to differentiate between a method that is defined + multiple times with the same name and signature across any + of the following methods of an enterprise bean: + business interface methods + home interface methods + component interface methods + web service endpoint methods + no-interface view methods + singleton or stateful session bean lifecycle callback methods + timeout callback methods + message-driven bean message listener methods + + However, if the same method is a method of both the local + business interface, and the local component interface, + the same attribute applies to the method for both interfaces. + Likewise, if the same method is a method of both the remote + business interface and the remote component interface, the same + attribute applies to the method for both interfaces. + + For example, the method element + + + EmployeeService + Remote + create + + java.lang.String + java.lang.String + + + + can be used to differentiate the create(String, String) + method defined in the remote interface from the + create(String, String) method defined in the remote home + interface, which would be defined as + + + EmployeeService + Home + create + + java.lang.String + java.lang.String + + + + and the create method that is defined in the local home + interface which would be defined as + + + EmployeeService + LocalHome + create + + java.lang.String + java.lang.String + + + + The method-intf element can be used with all three Styles + of the method element usage. For example, the following + method element example could be used to refer to all the + methods of the EmployeeService bean's remote home interface + and the remote business interface. + + + EmployeeService + Home + * + + + ]]> + + + + + + + + + + + + + + + + + + + + + The method-intf element allows a method element to + differentiate between the methods with the same name and + signature that are multiply defined across the home and + component interfaces (e.g, in both an enterprise bean's + remote and local interfaces or in both an enterprise bean's + home and remote interfaces, etc.); the component and web + service endpoint interfaces, and so on. + + Local applies to the local component interface, local business + interfaces, and the no-interface view. + + Remote applies to both remote component interface and the remote + business interfaces. + + ServiceEndpoint refers to methods exposed through a web service + endpoint. + + Timer refers to the bean's timeout callback methods. + + MessageEndpoint refers to the methods of a message-driven bean's + message-listener interface. + + LifecycleCallback refers to the PostConstruct and PreDestroy + lifecycle callback methods of a singleton session bean and + to the PostConstruct, PreDestroy, PrePassivate, and PostActivate + lifecycle callback methods of a stateful session bean. + + The method-intf element must be one of the following: + + Home + Remote + LocalHome + Local + ServiceEndpoint + Timer + MessageEndpoint + LifecycleCallback + + + + + + + + + + + + + + + + + + + + + + + + + The method-nameType contains a name of an enterprise + bean method or the asterisk (*) character. The asterisk is + used when the element denotes all the methods of an + enterprise bean's client view interfaces. + + + + + + + + + + + + + + + + The method-paramsType defines a list of the + fully-qualified Java type names of the method parameters. + + + + + + + + + The method-param element contains a primitive + or a fully-qualified Java type name of a method + parameter. + + + + + + + + + + + + + + + + The method-permissionType specifies that one or more + security roles are allowed to invoke one or more enterprise + bean methods. The method-permissionType consists of an + optional description, a list of security role names or an + indicator to state that the method is unchecked for + authorization, and a list of method elements. + + Except as noted below the security roles used in the + method-permissionType must be defined in the security-role + elements of the deployment descriptor, and the methods + must be methods defined in the enterprise bean's no-interface + view, business, home, component and/or web service endpoint + interfaces. + + If the role name "**" is included in the list of allowed + roles, and the application has not defined in its deployment + descriptor an application security role with this name, + then the list of allowed roles includes every and any + authenticated user. + + + + + + + + + + + + The unchecked element specifies that a method is + not checked for authorization by the container + prior to invocation of the method. + + + + + + + + + + + + + + + + + + The multiplicityType describes the multiplicity of the + role that participates in a relation. + + The value must be one of the two following: + + One + Many + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + + The persistence-typeType specifies an entity bean's persistence + management type. + + The persistence-type element must be one of the two following: + + Bean + Container + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + + The queryType defines a finder or select + query. It contains + - an optional description of the query + - the specification of the finder or select + method it is used by + - an optional specification of the result type + mapping, if the query is for a select method + and entity objects are returned. + - the EJB QL query string that defines the query. + + Queries that are expressible in EJB QL must use the ejb-ql + element to specify the query. If a query is not expressible + in EJB QL, the description element should be used to + describe the semantics of the query and the ejb-ql element + should be empty. + + The result-type-mapping is an optional element. It can only + be present if the query-method specifies a select method + that returns entity objects. The default value for the + result-type-mapping element is "Local". + + + + + + + + + + + + + + + + + + + + Method finds large orders + + findLargeOrders + + + + SELECT OBJECT(o) FROM Order o + WHERE o.amount > 1000 + + + + Support for entity beans is optional as of EJB 3.2. + + ]]> + + + + + + + + + + + + + + + + + The relationship-role-sourceType designates the source of a + role that participates in a relationship. A + relationship-role-sourceType is used by + relationship-role-source elements to uniquely identify an + entity bean. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + + + + + + + + The relationshipsType describes the relationships in + which entity beans with container-managed persistence + participate. The relationshipsType contains an optional + description; and a list of ejb-relation elements, which + specify the container managed relationships. + + Support for entity beans is optional as of EJB 3.2. + + + + + + + + + + + The ejb-relationship-role-name contains the name of a + relationship role. The name must be unique within + a relationship, but can be reused in different + relationships. + + + + + + + + + + + + + + + + + + + The result-type-mappingType is used in the query element to + specify whether an abstract schema type returned by a query + for a select method is to be mapped to an EJBLocalObject or + EJBObject type. + + The value must be one of the following: + + Local + Remote + + + + + + + + + + + + + + + + + + + The security-identityType specifies whether the caller's + security identity is to be used for the execution of the + methods of the enterprise bean or whether a specific run-as + identity is to be used. It contains an optional description + and a specification of the security identity to be used. + + + + + + + + + + + The use-caller-identity element specifies that + the caller's security identity be used as the + security identity for the execution of the + enterprise bean's methods. + + + + + + + + + + + + + + + + + + The session-beanType declares an session bean. The + declaration consists of: + + - an optional description + - an optional display name + - an optional icon element that contains a small and a large + icon file name + - a name assigned to the enterprise bean + in the deployment description + - an optional mapped-name element that can be used to provide + vendor-specific deployment information such as the physical + jndi-name of the session bean's remote home/business interface. + This element is not required to be supported by all + implementations. Any use of this element is non-portable. + - the names of all the remote or local business interfaces, + if any + - the names of the session bean's remote home and + remote interfaces, if any + - the names of the session bean's local home and + local interfaces, if any + - an optional declaration that this bean exposes a + no-interface view + - the name of the session bean's web service endpoint + interface, if any + - the session bean's implementation class + - the session bean's state management type + - an optional declaration of a stateful session bean's timeout value + - an optional declaration of the session bean's timeout method for + handling programmatically created timers + - an optional declaration of timers to be automatically created at + deployment time + - an optional declaration that a Singleton bean has eager + initialization + - an optional declaration of a Singleton/Stateful bean's concurrency + management type + - an optional declaration of the method locking metadata + for a Singleton with container managed concurrency + - an optional declaration of the other Singleton beans in the + application that must be initialized before this bean + - an optional declaration of the session bean's asynchronous + methods + - the optional session bean's transaction management type. + If it is not present, it is defaulted to Container. + - an optional declaration of a stateful session bean's + afterBegin, beforeCompletion, and/or afterCompletion methods + - an optional list of the session bean class and/or + superclass around-invoke methods. + - an optional list of the session bean class and/or + superclass around-timeout methods. + - an optional declaration of the bean's + environment entries + - an optional declaration of the bean's EJB references + - an optional declaration of the bean's local + EJB references + - an optional declaration of the bean's web + service references + - an optional declaration of the security role + references + - an optional declaration of the security identity + to be used for the execution of the bean's methods + - an optional declaration of the bean's resource + manager connection factory references + - an optional declaration of the bean's resource + environment references. + - an optional declaration of the bean's message + destination references + - an optional specification as to whether the stateful + session bean is passivation capable or not. If not + specified, the bean is assumed to be passivation capable + + The elements that are optional are "optional" in the sense + that they are omitted when if lists represented by them are + empty. + + The service-endpoint element may only be specified if the + bean is a stateless session bean. + + + + + + + + + + + + + + + + + + The local-bean element declares that this + session bean exposes a no-interface Local client view. + + + + + + + + + The service-endpoint element contains the + fully-qualified name of the enterprise bean's web + service endpoint interface. The service-endpoint + element may only be specified for a stateless + session bean. The specified interface must be a + valid JAX-RPC service endpoint interface. + + + + + + + + + The ejb-class element specifies the fully qualified name + of the bean class for this ejb. It is required unless + there is a component-defining annotation for the same + ejb-name. + + + + + + + + + + + The timeout-method element specifies the method that + will receive callbacks for programmatically + created timers. + + + + + + + + + + The init-on-startup element specifies that a Singleton + bean has eager initialization. + This element can only be specified for singleton session + beans. + + + + + + + + + + + + The init-method element specifies the mappings for + EJB 2.x style create methods for an EJB 3.x bean. + This element can only be specified for stateful + session beans. + + + + + + + + + The remove-method element specifies the mappings for + EJB 2.x style remove methods for an EJB 3.x bean. + This element can only be specified for stateful + session beans. + + + + + + + + + + + + + + + + + + + + + The passivation-capable element specifies whether the + stateful session bean is passivation capable or not. + If not specified, the bean is assumed to be passivation + capable. + + + + + + + + + + + + + + + + The session-typeType describes whether the session bean is a + singleton, stateful or stateless session. It is used by + session-type elements. + + The value must be one of the three following: + + Singleton + Stateful + Stateless + + + + + + + + + + + + + + + + + + + + The stateful-timeoutType represents the amount of time + a stateful session bean can be idle(not receive any client + invocations) before it is eligible for removal by the container. + + A timeout value of 0 means the bean is immediately eligible for removal. + + A timeout value of -1 means the bean will never be removed due to timeout. + + + + + + + + + + + + + + + + + + The time-unit-typeType represents a time duration at a given + unit of granularity. + + The time unit type must be one of the following : + + Days + Hours + Minutes + Seconds + Milliseconds + Microseconds + Nanoseconds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The timerType specifies an enterprise bean timer. Each + timer is automatically created by the container upon + deployment. Timer callbacks occur based on the + schedule attributes. All callbacks are made to the + timeout-method associated with the timer. + + A timer can have an optional start and/or end date. If + a start date is specified, it takes precedence over the + associated timer schedule such that any matching + expirations prior to the start time will not occur. + Likewise, no matching expirations will occur after any + end date. Start/End dates are specified using the + XML Schema dateTime type, which follows the ISO-8601 + standard for date(and optional time-within-the-day) + representation. + + An optional flag can be used to control whether + this timer has persistent(true) delivery semantics or + non-persistent(false) delivery semantics. If not specified, + the value defaults to persistent(true). + + A time zone can optionally be associated with a timer. + If specified, the timer's schedule is evaluated in the context + of that time zone, regardless of the default time zone in which + the container is executing. Time zones are specified as an + ID string. The set of required time zone IDs is defined by + the Zone Name(TZ) column of the public domain zoneinfo database. + + An optional info string can be assigned to the timer and + retrieved at runtime through the Timer.getInfo() method. + + The timerType can only be specified on stateless session + beans, singleton session beans, and message-driven beans. + + + + + + + + + + + + + + + + + + + + + + + + The trans-attributeType specifies how the container must + manage the transaction boundaries when delegating a method + invocation to an enterprise bean's business method. + + The value must be one of the following: + + NotSupported + Supports + Required + RequiresNew + Mandatory + Never + + + + + + + + + + + + + + + + + + + + + + + The transaction-typeType specifies an enterprise bean's + transaction management type. + + The transaction-type must be one of the two following: + + Bean + Container + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_5.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_5.xsd new file mode 100644 index 0000000000..68b9bbe405 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_5.xsd @@ -0,0 +1,2102 @@ + + + + + @(#)javaee_5.xsds 1.65 06/02/17 + + + + + + + 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. + + + + + + + +The following definitions that appear in the common +shareable schema(s) of J2EE deployment descriptors should be +interpreted with respect to the context they are included: + +Deployment Component may indicate one of the following: + j2ee application; + application client; + web application; + enterprise bean; + resource adapter; + +Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + + + + + + + + + + + + + + + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + + + + + + + + + + + + + + + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + + + + + + + + + + + + + + + + This type defines a dewey decimal that is used + to describe versions of documents. + + + + + + + + + + + + + + + + Employee Self Service + + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + + + + + + + + + + + + + + + EmployeeRecord + + ../products/product.jar#ProductEJB + + ]]> + + + + + + + + + + + + + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + + + + + + + + + + + + + + + + + + + + + ejb/Payroll + + ]]> + + + + + + + + + + + + + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + + + + + + + + + + + + + + + + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + + + + + + + + + + + + + + + + + + + + + + This type is used to designate an empty + element when used. + + + + + + + + + + + + java.lang.Boolean + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + + + + + + + + + minAmount + + ]]> + + + + + + + + java.lang.Integer + + ]]> + + + + + + + + 100.00 + + ]]> + + + + + + + + + + + + + + + + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + + + + + + + + + + + + + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + + + + + + + + + + + + + + + + + + com.aardvark.payroll.PayrollHome + + ]]> + + + + + + + + + + + + + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + + + + + + + + employee-service-icon16x16.jpg + + ]]> + + + + + + + employee-service-icon32x32.jpg + + ]]> + + + + + + + + + + + + + + + + + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + + + + + + + + + + + + + + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + + + + + + + + + + + + + + + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + + + + + + + + + + + + + + + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + + + + + + + + + + + + + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + + + + + + + + + + + + + + + + + + + + + + + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + + + + + + + + + + + + + + + The listenerType indicates the deployment properties for a web + application listener bean. + + + + + + + + + + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + + + + + + + + + + + + + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + + + + + + + + + + + + + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + + + + + + + + + + + + + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + Consumes + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-ref-name element specifies + the name of a message destination reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context and must be + unique within an ejb-jar (for enterprise beans) or a + Deployment File (for others). + + + + + + + + + + + + + + + + + + + + + javax.jms.Queue + + + ]]> + + + + + + + + + + + + + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + + + + + + + + + + + + + + + + + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + + + + + + + + + + + + + + + + + + + + + This type is a general type that can be used to declare + parameter/value lists. + + + + + + + + + + + The param-name element contains the name of a + parameter. + + + + + + + + + + The param-value element contains the value of a + parameter. + + + + + + + + + + + + + + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment File's namespace. In general, relative names + are preferred. The exception is .war files where absolute + names are preferred for consistency with the Servlet API. + + + + + + + + + + + + + + + myPersistenceContext + + + + + myPersistenceContext + + PersistenceUnit1 + + Extended + + + ]]> + + + + + + + + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + + + + + + + + + + + + + + + + + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + + + + + + + + + + + + + + + + + myPersistenceUnit + + + + + myPersistenceUnit + + PersistenceUnit1 + + + + ]]> + + + + + + + + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + + + + + + + + + + Specifies a name/value pair. + + + + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeService + + ]]> + + + + + + + + + + + + + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + + + + + + + + + + + + + + + + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + + + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + + + ]]> + + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in + the Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + + + + + + + + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + + + + + + + + + + + + + + + + + jdbc/EmployeeAppDB + javax.sql.DataSource + Container + Shareable + + + ]]> + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. + The name is a JNDI name relative to the + java:comp/env context. + The name must be unique within a Deployment File. + + + + + + + + + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + + + + + + + + + + + + + + + + + + + + + This group collects elements that are common to all the + JNDI resource elements. + + + + + + + + + + + + + + + + + + + + + + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + + + + + + + + + + + + + + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + + + + + + + + + + + + + + + + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + + + + + + + + + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + + + + + + + + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + + + + + + + + + + + + + + + This role includes all employees who are authorized + to access the employee service application. + + employee + + + ]]> + + + + + + + + + + + + + + + + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + + + + + + + + + + + + + + + + This simple type designates a boolean with only two + permissible values + + - true + - false + + + + + + + + + + + + + + + + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:anyURI. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:boolean. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:integer. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:NMTOKEN. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:positiveInteger. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:QName. + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:string. + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_6.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_6.xsd new file mode 100644 index 0000000000..f165d1822d --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_6.xsd @@ -0,0 +1,2422 @@ + + + + + + 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. + + + + + + + + The following definitions that appear in the common + shareable schema(s) of Java EE deployment descriptors should be + interpreted with respect to the context they are included: + + Deployment Component may indicate one of the following: + java ee application; + application client; + web application; + enterprise bean; + resource adapter; + + Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + + + + + + + + + + + + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + + + + + + + + + + + + + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + + + + + + + + + + + + + + + + + + + + + + + This group collects elements that are common to most + JNDI resource elements. + + + + + + + + + + The JNDI name to be looked up to resolve a resource reference. + + + + + + + + + + + + This group collects elements that are common to all the + JNDI resource elements. It does not include the lookup-name + element, that is only applicable to some resource elements. + + + + + + + + + A product specific name that this resource should be + mapped to. The name of this resource, as defined by the + resource's name element or defaulted, is a name that is + local to the application component using the resource. + (It's a name in the JNDI java:comp/env namespace.) Many + application servers provide a way to map these local + names to names of resources known to the application + server. This mapped name is often a global JNDI name, + but may be a name of any form. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + + + + + + + + + + + + + + + Configuration of a DataSource. + + + + + + + + + Description of this DataSource. + + + + + + + + + The name element specifies the JNDI name of the + data source being defined. + + + + + + + + + DataSource, XADataSource or ConnectionPoolDataSource + implementation class. + + + + + + + + + Database server name. + + + + + + + + + Port number where a server is listening for requests. + + + + + + + + + Name of a database on a server. + + + + + + + + url property is specified + along with other standard DataSource properties + such as serverName, databaseName + and portNumber, the more specific properties will + take precedence and url will be ignored. + + ]]> + + + + + + + + User name to use for connection authentication. + + + + + + + + + Password to use for connection authentication. + + + + + + + + + JDBC DataSource property. This may be a vendor-specific + property or a less commonly used DataSource property. + + + + + + + + + Sets the maximum time in seconds that this data source + will wait while attempting to connect to a database. + + + + + + + + + Set to false if connections should not participate in + transactions. + + + + + + + + + Isolation level for connections. + + + + + + + + + Number of connections that should be created when a + connection pool is initialized. + + + + + + + + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + The number of seconds that a physical connection should + remain unused in the pool before the connection is + closed for a connection pool. + + + + + + + + + The total number of statements that a connection pool + should keep open. + + + + + + + + + + + + + + + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + + + + + + + + + + + + + + This type defines a dewey decimal that is used + to describe versions of documents. + + + + + + + + + + + + + + + + Employee Self Service + + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + + + + + + + + + + + + + + + + EmployeeRecord + + ../products/product.jar#ProductEJB + + ]]> + + + + + + + + + + + + + + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + + + + + + + + + + + + + + + + + + + + + ejb/Payroll + + ]]> + + + + + + + + + + + + + + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + + + + + + + + + + + + + + + + + + + + + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + + + + + + + + + + + + + + + + + + This type is used to designate an empty + element when used. + + + + + + + + + + + + + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + + + + + + + + minAmount + + ]]> + + + + + + + java.lang.Integer + + ]]> + + + + + + + 100.00 + + ]]> + + + + + + + + + + + + + + + java.lang.Boolean + java.lang.Class + com.example.Color + + ]]> + + + + + + + + + + + + + + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + + + + + + + + + + + + + + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + + + + + + + + + + + + + + + + + + + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + + + + + + + employee-service-icon16x16.jpg + + ]]> + + + + + + + employee-service-icon32x32.jpg + + ]]> + + + + + + + + + + + + + + + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + + + + + + + + + + + + + The following transaction isolation levels are allowed + (see documentation for the java.sql.Connection interface): + TRANSACTION_READ_UNCOMMITTED + TRANSACTION_READ_COMMITTED + TRANSACTION_REPEATABLE_READ + TRANSACTION_SERIALIZABLE + + + + + + + + + + + + + + + + + + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + + + + + + + + + + + + + + + + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + + + + + + + + + + + + + + + + : + + Example: + + jdbc:mysql://localhost:3307/testdb + + ]]> + + + + + + + + + + + + + + + + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + + + + + + + + + + + + + + com.aardvark.payroll.PayrollHome + + ]]> + + + + + + + + + + + + + + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + + + + + + + + + + + + + + + + The listenerType indicates the deployment properties for a web + application listener bean. + + + + + + + + + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + + + + + + + + + + + + + + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + + + + + + + + + + + + + + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + + + + + + + + + + + + + + + This type is a general type that can be used to declare + parameter/value lists. + + + + + + + + + + The param-name element contains the name of a + parameter. + + + + + + + + + The param-value element contains the value of a + parameter. + + + + + + + + + + + + + + + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment File's namespace. In general, relative names + are preferred. The exception is .war files where absolute + names are preferred for consistency with the Servlet API. + + + + + + + + + + + + + + + + myPersistenceContext + + + + + myPersistenceContext + + PersistenceUnit1 + + Extended + + + ]]> + + + + + + + + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + + + + + + + + + + + + + + + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + + + + + + + + + + + + + + + + + + Specifies a name/value pair. + + + + + + + + + + + + + + + + + + + + myPersistenceUnit + + + + + myPersistenceUnit + + PersistenceUnit1 + + + + ]]> + + + + + + + + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeService + + ]]> + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + + + ]]> + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in + the Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + + + + + + + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + + + + + + + + + + + + + + + + jdbc/EmployeeAppDB + javax.sql.DataSource + Container + Shareable + + + ]]> + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. + The name is a JNDI name relative to the + java:comp/env context. + The name must be unique within a Deployment File. + + + + + + + + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + + + + + + + + + + + + + + + + + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + + + + + + + + + + + + + + + + + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + + + + + + + + + + + + + + + + + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + + + + + + + + + + + + + + + + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + + + + + + + + + + + + + + + + This role includes all employees who are authorized + to access the employee service application. + + employee + + + ]]> + + + + + + + + + + + + + + + + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + + + + + + + + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + + + + + + + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:QName. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:boolean. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:NMTOKEN. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:anyURI. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:integer. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:positiveInteger. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:string. + + + + + + + + + + + + + + + + + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + + + + + + + + + + + + + + + + + This simple type designates a boolean with only two + permissible values + + - true + - false + + + + + + + + + + + + + + + + + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + + + + + + + + + + + + + + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + + + + + + + + A product specific name that this message destination + should be mapped to. Each message-destination-ref + element that references this message destination will + define a name in the namespace of the referencing + component or in one of the other predefined namespaces. + Many application servers provide a way to map these + local names to names of resources known to the + application server. This mapped name is often a global + JNDI name, but may be a name of any form. Each of the + local names should be mapped to this same global name. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + + + + + + + + The JNDI name to be looked up to resolve the message destination. + + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + Consumes + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-ref-name element specifies + the name of a message destination reference; its + value is the environment entry name used in + Deployment Component code. + + + + + + + + + + + + + + + + + + + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + + + + + + + + + + + + + + + + + + javax.jms.Queue + + + ]]> + + + + + + + + + + + + + + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_7.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_7.xsd new file mode 100644 index 0000000000..f9fdb312e2 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_7.xsd @@ -0,0 +1,3098 @@ + + + + + + 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. + + + + + + + + The following definitions that appear in the common + shareable schema(s) of Java EE deployment descriptors should be + interpreted with respect to the context they are included: + + Deployment Component may indicate one of the following: + java ee application; + application client; + web application; + enterprise bean; + resource adapter; + + Deployment File may indicate one of the following: + ear file; + war file; + jar file; + rar file; + + + + + + + + + + + + + This group keeps the usage of the contained description related + elements consistent across Java EE deployment descriptors. + + All elements may occur multiple times with different languages, + to support localization of the content. + + + + + + + + + + + + + + + This group keeps the usage of the contained JNDI environment + reference elements consistent across Java EE deployment descriptors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This group collects elements that are common to most + JNDI resource elements. + + + + + + + + + + The JNDI name to be looked up to resolve a resource reference. + + + + + + + + + + + + This group collects elements that are common to all the + JNDI resource elements. It does not include the lookup-name + element, that is only applicable to some resource elements. + + + + + + + + + A product specific name that this resource should be + mapped to. The name of this resource, as defined by the + resource's name element or defaulted, is a name that is + local to the application component using the resource. + (It's a name in the JNDI java:comp/env namespace.) Many + application servers provide a way to map these local + names to names of resources known to the application + server. This mapped name is often a global JNDI name, + but may be a name of any form. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + + + + + + + + + + + + + + + Configuration of an administered object. + + + + + + + + + Description of this administered object. + + + + + + + + + The name element specifies the JNDI name of the + administered object being defined. + + + + + + + + + The administered object's interface type. + + + + + + + + + The administered object's class name. + + + + + + + + + Resource adapter name. + + + + + + + + + Property of the administered object property. This may be a + vendor-specific property. + + + + + + + + + + + + + + + + Configuration of a Connector Connection Factory resource. + + + + + + + + + Description of this resource. + + + + + + + + + The name element specifies the JNDI name of the + resource being defined. + + + + + + + + + The fully qualified class name of the connection factory + interface. + + + + + + + + + Resource adapter name. + + + + + + + + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + The level of transaction support the connection factory + needs to support. + + + + + + + + + Resource property. This may be a vendor-specific + property. + + + + + + + + + + + + + + + + Configuration of a DataSource. + + + + + + + + + Description of this DataSource. + + + + + + + + + The name element specifies the JNDI name of the + data source being defined. + + + + + + + + + DataSource, XADataSource or ConnectionPoolDataSource + implementation class. + + + + + + + + + Database server name. + + + + + + + + + Port number where a server is listening for requests. + + + + + + + + + Name of a database on a server. + + + + + + + + url property is specified + along with other standard DataSource properties + such as serverName, databaseName + and portNumber, the more specific properties will + take precedence and url will be ignored. + + ]]> + + + + + + + + User name to use for connection authentication. + + + + + + + + + Password to use for connection authentication. + + + + + + + + + JDBC DataSource property. This may be a vendor-specific + property or a less commonly used DataSource property. + + + + + + + + + Sets the maximum time in seconds that this data source + will wait while attempting to connect to a database. + + + + + + + + + Set to false if connections should not participate in + transactions. + + + + + + + + + Isolation level for connections. + + + + + + + + + Number of connections that should be created when a + connection pool is initialized. + + + + + + + + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + The number of seconds that a physical connection should + remain unused in the pool before the connection is + closed for a connection pool. + + + + + + + + + The total number of statements that a connection pool + should keep open. + + + + + + + + + + + + + + + + The description type is used by a description element to + provide text describing the parent element. The elements + that use this type should include any information that the + Deployment Component's Deployment File file producer wants + to provide to the consumer of the Deployment Component's + Deployment File (i.e., to the Deployer). Typically, the + tools used by such a Deployment File consumer will display + the description when processing the parent element that + contains the description. + + The lang attribute defines the language that the + description is provided in. The default value is "en" (English). + + + + + + + + + + + + + + + This type defines a dewey decimal that is used + to describe versions of documents. + + + + + + + + + + + + + + + + Employee Self Service + + + The value of the xml:lang attribute is "en" (English) by default. + + ]]> + + + + + + + + + + + + + + + + EmployeeRecord + + ../products/product.jar#ProductEJB + + ]]> + + + + + + + + + + + + + + + The ejb-local-refType is used by ejb-local-ref elements for + the declaration of a reference to an enterprise bean's local + home or to the local business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of the Deployment + Component that's referencing the enterprise bean. + - the optional expected type of the referenced enterprise bean + - the optional expected local interface of the referenced + enterprise bean or the local business interface of the + referenced enterprise bean. + - the optional expected local home interface of the referenced + enterprise bean. Not applicable if this ejb-local-ref refers + to the local business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property. + + + + + + + + + + + + + + + + + + + + + + ejb/Payroll + + ]]> + + + + + + + + + + + + + + + The ejb-refType is used by ejb-ref elements for the + declaration of a reference to an enterprise bean's home or + to the remote business interface of a 3.0 bean. + The declaration consists of: + + - an optional description + - the EJB reference name used in the code of + the Deployment Component that's referencing the enterprise + bean. + - the optional expected type of the referenced enterprise bean + - the optional remote interface of the referenced enterprise bean + or the remote business interface of the referenced enterprise + bean + - the optional expected home interface of the referenced + enterprise bean. Not applicable if this ejb-ref + refers to the remote business interface of a 3.0 bean. + - optional ejb-link information, used to specify the + referenced enterprise bean + - optional elements to define injection of the named enterprise + bean into a component field or property + + + + + + + + + + + + + + + + + + + + + + + The ejb-ref-typeType contains the expected type of the + referenced enterprise bean. + + The ejb-ref-type designates a value + that must be one of the following: + + Entity + Session + + + + + + + + + + + + + + + + + + + This type is used to designate an empty + element when used. + + + + + + + + + + + + + + The env-entryType is used to declare an application's + environment entry. The declaration consists of an optional + description, the name of the environment entry, a type + (optional if the value is injected, otherwise required), and + an optional value. + + It also includes optional elements to define injection of + the named resource into fields or JavaBeans properties. + + If a value is not specified and injection is requested, + no injection will occur and no entry of the specified name + will be created. This allows an initial value to be + specified in the source code without being incorrectly + changed when no override has been specified. + + If a value is not specified and no injection is requested, + a value must be supplied during deployment. + + This type is used by env-entry elements. + + + + + + + + + minAmount + + ]]> + + + + + + + java.lang.Integer + + ]]> + + + + + + + 100.00 + + ]]> + + + + + + + + + + + + + + + java.lang.Boolean + java.lang.Class + com.example.Color + + ]]> + + + + + + + + + + + + + + + The elements that use this type designate the name of a + Java class or interface. The name is in the form of a + "binary name", as defined in the JLS. This is the form + of name used in Class.forName(). Tools that need the + canonical name (the name used in source code) will need + to convert this binary name to the canonical name. + + + + + + + + + + + + + + + + This type defines four different values which can designate + boolean values. This includes values yes and no which are + not designated by xsd:boolean + + + + + + + + + + + + + + + + + + + + + The icon type contains small-icon and large-icon elements + that specify the file names for small and large GIF, JPEG, + or PNG icon images used to represent the parent element in a + GUI tool. + + The xml:lang attribute defines the language that the + icon file names are provided in. Its value is "en" (English) + by default. + + + + + + + + employee-service-icon16x16.jpg + + ]]> + + + + + + + employee-service-icon32x32.jpg + + ]]> + + + + + + + + + + + + + + + + An injection target specifies a class and a name within + that class into which a resource should be injected. + + The injection target class specifies the fully qualified + class name that is the target of the injection. The + Java EE specifications describe which classes can be an + injection target. + + The injection target name specifies the target within + the specified class. The target is first looked for as a + JavaBeans property name. If not found, the target is + looked for as a field name. + + The specified resource will be injected into the target + during initialization of the class by either calling the + set method for the target property or by setting a value + into the named field. + + + + + + + + + + + + + + The following transaction isolation levels are allowed + (see documentation for the java.sql.Connection interface): + TRANSACTION_READ_UNCOMMITTED + TRANSACTION_READ_COMMITTED + TRANSACTION_REPEATABLE_READ + TRANSACTION_SERIALIZABLE + + + + + + + + + + + + + + + + + + + The java-identifierType defines a Java identifier. + The users of this type should further verify that + the content does not contain Java reserved keywords. + + + + + + + + + + + + + + + + + + This is a generic type that designates a Java primitive + type or a fully qualified name of a Java interface/type, + or an array of such types. + + + + + + + + + + + + + + + + + : + + Example: + + jdbc:mysql://localhost:3307/testdb + + ]]> + + + + + + + + + + + + + + + + + Configuration of a JMS Connection Factory. + + + + + + + + + Description of this JMS Connection Factory. + + + + + + + + + The name element specifies the JNDI name of the + JMS connection factory being defined. + + + + + + + + + Fully-qualified name of the JMS connection factory + interface. Permitted values are javax.jms.ConnectionFactory, + javax.jms.QueueConnectionFactory, or + javax.jms.TopicConnectionFactory. If not specified, + javax.jms.ConnectionFactory will be used. + + + + + + + + + Fully-qualified name of the JMS connection factory + implementation class. Ignored if a resource adapter + is used. + + + + + + + + + Resource adapter name. If not specified, the application + server will define the default behavior, which may or may + not involve the use of a resource adapter. + + + + + + + + + User name to use for connection authentication. + + + + + + + + + Password to use for connection authentication. + + + + + + + + + Client id to use for connection. + + + + + + + + + JMS Connection Factory property. This may be a vendor-specific + property or a less commonly used ConnectionFactory property. + + + + + + + + + Set to false if connections should not participate in + transactions. + + + + + + + + + Maximum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + Minimum number of connections that should be concurrently + allocated for a connection pool. + + + + + + + + + + + + + + + + Configuration of a JMS Destination. + + + + + + + + + Description of this JMS Destination. + + + + + + + + + The name element specifies the JNDI name of the + JMS destination being defined. + + + + + + + + + Fully-qualified name of the JMS destination interface. + Permitted values are javax.jms.Queue and javax.jms.Topic + + + + + + + + + Fully-qualified name of the JMS destination implementation + class. Ignored if a resource adapter is used unless the + resource adapter defines more than one destination implementation + class for the specified interface. + + + + + + + + + Resource adapter name. If not specified, the application + server will define the default behavior, which may or may + not involve the use of a resource adapter. + + + + + + + + + Name of the queue or topic. + + + + + + + + + JMS Destination property. This may be a vendor-specific + property or a less commonly used Destination property. + + + + + + + + + + + + + + + + The jndi-nameType type designates a JNDI name in the + Deployment Component's environment and is relative to the + java:comp/env context. A JNDI name must be unique within the + Deployment Component. + + + + + + + + + + + + + + + com.aardvark.payroll.PayrollHome + + ]]> + + + + + + + + + + + + + + + The lifecycle-callback type specifies a method on a + class to be called when a lifecycle event occurs. + Note that each class may have only one lifecycle callback + method for any given event and that the method may not + be overloaded. + + If the lifefycle-callback-class element is missing then + the class defining the callback is assumed to be the + component class in scope at the place in the descriptor + in which the callback definition appears. + + + + + + + + + + + + + + + + + The listenerType indicates the deployment properties for a web + application listener bean. + + + + + + + + + + The listener-class element declares a class in the + application must be registered as a web + application listener bean. The value is the fully + qualified classname of the listener class. + + + + + + + + + + + + + + + + The localType defines the fully-qualified name of an + enterprise bean's local interface. + + + + + + + + + + + + + + + + The local-homeType defines the fully-qualified + name of an enterprise bean's local home interface. + + + + + + + + + + + + + + + + Configuration of a Mail Session resource. + + + + + + + + + Description of this Mail Session resource. + + + + + + + + + The name element specifies the JNDI name of the + Mail Session resource being defined. + + + + + + + + + Storage protocol. + + + + + + + + + Service provider store protocol implementation class + + + + + + + + + Transport protocol. + + + + + + + + + Service provider transport protocol implementation class + + + + + + + + + Mail server host name. + + + + + + + + + Mail server user name. + + + + + + + + + Password. + + + + + + + + + Email address to indicate the message sender. + + + + + + + + + Mail server property. This may be a vendor-specific + property. + + + + + + + + + + + + + + + + This type is a general type that can be used to declare + parameter/value lists. + + + + + + + + + + The param-name element contains the name of a + parameter. + + + + + + + + + The param-value element contains the value of a + parameter. + + + + + + + + + + + + + + + + The elements that use this type designate either a relative + path or an absolute path starting with a "/". + + In elements that specify a pathname to a file within the + same Deployment File, relative filenames (i.e., those not + starting with "/") are considered relative to the root of + the Deployment File's namespace. Absolute filenames (i.e., + those starting with "/") also specify names in the root of + the Deployment File's namespace. In general, relative names + are preferred. The exception is .war files where absolute + names are preferred for consistency with the Servlet API. + + + + + + + + + + + + + + + + myPersistenceContext + + + + + myPersistenceContext + + PersistenceUnit1 + + Extended + + + ]]> + + + + + + + + + The persistence-context-ref-name element specifies + the name of a persistence context reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + + Used to specify properties for the container or persistence + provider. Vendor-specific properties may be included in + the set of properties. Properties that are not recognized + by a vendor must be ignored. Entries that make use of the + namespace javax.persistence and its subnamespaces must not + be used for vendor-specific properties. The namespace + javax.persistence is reserved for use by the specification. + + + + + + + + + + + + + + + + + The persistence-context-synchronizationType specifies + whether a container-managed persistence context is automatically + synchronized with the current transaction. + + The value of the persistence-context-synchronization element + must be one of the following: + Synchronized + Unsynchronized + + + + + + + + + + + + + + + + + + + The persistence-context-typeType specifies the transactional + nature of a persistence context reference. + + The value of the persistence-context-type element must be + one of the following: + Transaction + Extended + + + + + + + + + + + + + + + + + + + Specifies a name/value pair. + + + + + + + + + + + + + + + + + + + + myPersistenceUnit + + + + + myPersistenceUnit + + PersistenceUnit1 + + + + ]]> + + + + + + + + + The persistence-unit-ref-name element specifies + the name of a persistence unit reference; its + value is the environment entry name used in + Deployment Component code. The name is a JNDI name + relative to the java:comp/env context. + + + + + + + + + The Application Assembler(or BeanProvider) may use the + following syntax to avoid the need to rename persistence + units to have unique names within a Java EE application. + + The Application Assembler specifies the pathname of the + root of the persistence.xml file for the referenced + persistence unit and appends the name of the persistence + unit separated from the pathname by #. The pathname is + relative to the referencing application component jar file. + In this manner, multiple persistence units with the same + persistence unit name may be uniquely identified when the + Application Assembler cannot change persistence unit names. + + + + + + + + + + + + + + + + com.wombat.empl.EmployeeService + + ]]> + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + + + ]]> + + + + + + + + + The resource-env-ref-name element specifies the name + of a resource environment reference; its value is + the environment entry name used in + the Deployment Component code. The name is a JNDI + name relative to the java:comp/env context and must + be unique within a Deployment Component. + + + + + + + + + The resource-env-ref-type element specifies the type + of a resource environment reference. It is the + fully qualified name of a Java language class or + interface. + + + + + + + + + + + + + + + + + jdbc/EmployeeAppDB + javax.sql.DataSource + Container + Shareable + + + ]]> + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. + The name is a JNDI name relative to the + java:comp/env context. + The name must be unique within a Deployment File. + + + + + + + + + The res-type element specifies the type of the data + source. The type is specified by the fully qualified + Java language class or interface + expected to be implemented by the data source. + + + + + + + + + + + + + + + + + + + The res-authType specifies whether the Deployment Component + code signs on programmatically to the resource manager, or + whether the Container will sign on to the resource manager + on behalf of the Deployment Component. In the latter case, + the Container uses information that is supplied by the + Deployer. + + The value must be one of the two following: + + Application + Container + + + + + + + + + + + + + + + + + + + The res-sharing-scope type specifies whether connections + obtained through the given resource manager connection + factory reference can be shared. The value, if specified, + must be one of the two following: + + Shareable + Unshareable + + The default value is Shareable. + + + + + + + + + + + + + + + + + + + The run-asType specifies the run-as identity to be + used for the execution of a component. It contains an + optional description, and the name of a security role. + + + + + + + + + + + + + + + + + + The role-nameType designates the name of a security role. + + The name must conform to the lexical rules for a token. + + + + + + + + + + + + + + + + + This role includes all employees who are authorized + to access the employee service application. + + employee + + + ]]> + + + + + + + + + + + + + + + + + The security-role-refType contains the declaration of a + security role reference in a component's or a + Deployment Component's code. The declaration consists of an + optional description, the security role name used in the + code, and an optional link to a security role. If the + security role is not specified, the Deployer must choose an + appropriate security role. + + + + + + + + + + The value of the role-name element must be the String used + as the parameter to the + EJBContext.isCallerInRole(String roleName) method or the + HttpServletRequest.isUserInRole(String role) method. + + + + + + + + + The role-link element is a reference to a defined + security role. The role-link element must contain + the name of one of the security roles defined in the + security-role elements. + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:QName. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:boolean. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:NMTOKEN. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:anyURI. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:integer. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:positiveInteger. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:nonNegativeInteger. + + + + + + + + + + + + + + + + + + This type adds an "id" attribute to xsd:string. + + + + + + + + + + + + + + + + + + This is a special string datatype that is defined by Java EE as + a base type for defining collapsed strings. When schemas + require trailing/leading space elimination as well as + collapsing the existing whitespace, this base type may be + used. + + + + + + + + + + + + + + + + + + This simple type designates a boolean with only two + permissible values + + - true + - false + + + + + + + + + + + + + + + + + + The url-patternType contains the url pattern of the mapping. + It must follow the rules specified in Section 11.2 of the + Servlet API Specification. This pattern is assumed to be in + URL-decoded form and must not contain CR(#xD) or LF(#xA). + If it contains those characters, the container must inform + the developer with a descriptive error message. + The container must preserve all characters including whitespaces. + + + + + + + + + + + + + + + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-name element specifies a + name for a message destination. This name must be + unique among the names of message destinations + within the Deployment File. + + + + + + + + + A product specific name that this message destination + should be mapped to. Each message-destination-ref + element that references this message destination will + define a name in the namespace of the referencing + component or in one of the other predefined namespaces. + Many application servers provide a way to map these + local names to names of resources known to the + application server. This mapped name is often a global + JNDI name, but may be a name of any form. Each of the + local names should be mapped to this same global name. + + Application servers are not required to support any + particular form or type of mapped name, nor the ability + to use mapped names. The mapped name is + product-dependent and often installation-dependent. No + use of a mapped name is portable. + + + + + + + + + The JNDI name to be looked up to resolve the message destination. + + + + + + + + + + + + + + + + jms/StockQueue + + javax.jms.Queue + + Consumes + + CorporateStocks + + + + ]]> + + + + + + + + + The message-destination-ref-name element specifies + the name of a message destination reference; its + value is the environment entry name used in + Deployment Component code. + + + + + + + + + + + + + + + + + + + + The message-destination-usageType specifies the use of the + message destination indicated by the reference. The value + indicates whether messages are consumed from the message + destination, produced for the destination, or both. The + Assembler makes use of this information in linking producers + of a destination with its consumers. + + The value of the message-destination-usage element must be + one of the following: + Consumes + Produces + ConsumesProduces + + + + + + + + + + + + + + + + + + + javax.jms.Queue + + + ]]> + + + + + + + + + + + + + + + The message-destination-linkType is used to link a message + destination reference or message-driven bean to a message + destination. + + The Assembler sets the value to reflect the flow of messages + between producers and consumers in the application. + + The value must be the message-destination-name of a message + destination in the same Deployment File or in another + Deployment File in the same Java EE application unit. + + Alternatively, the value may be composed of a path name + specifying a Deployment File containing the referenced + message destination with the message-destination-name of the + destination appended and separated from the path name by + "#". The path name is relative to the Deployment File + containing Deployment Component that is referencing the + message destination. This allows multiple message + destinations with the same name to be uniquely identified. + + + + + + + + + + + + + + + + The transaction-supportType specifies the level of + transaction support provided by the resource adapter. It is + used by transaction-support elements. + + The value must be one of the following: + + NoTransaction + LocalTransaction + XATransaction + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_2.xsd new file mode 100644 index 0000000000..1544954700 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_2.xsd @@ -0,0 +1,754 @@ + + + + + @(#)javaee_web_services_1_2.xsds 1.18 02/13/06 + + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + ... + + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + + + + + + + + + + + + + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + + + + + + + + + + + + + + + + + + + + + + + + The handler-chains element defines the handlerchains associated + with this service or service endpoint. + + + + + + + + + + + + + + + + + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + + + + + + + + + + + EmployeeService + + + ]]> + + + + + + + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + + + + + + + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + + + + + + + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + + + + + + + + com.wombat.empl.EmployeeService + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + + ]]> + + + + + + + + + + To be used with JAX-RPC based runtime only. + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component + + + + + + + + + + Defines the name of the handler. The name must be unique within the + module. + + + + + + + + + Defines a fully qualified class name for the handler implementation. + + + + + + + + + + + Defines the QName of a SOAP header that will be processed by the + handler. + + + + + + + + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + + + + + + + + + + + + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + + + + + + + + + + + + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + + + + + + + + + + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + + + + + + + + + + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + + + + + + + + + + + + + + + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + + + + + + + + + + + + + + + StockQuoteService + + ]]> + + + + + + + + + + + + + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + + + + + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + + + + + + + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + + + + + + + + + + + EmployeeService + + + ]]> + + + + + + + + + + + + + The required value for the version is 1.2. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_3.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_3.xsd new file mode 100644 index 0000000000..7daf23e34a --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_3.xsd @@ -0,0 +1,572 @@ + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + ... + + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + + + + + + + + + + + + + + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + + + + + + + + + + EmployeeService + + + ]]> + + + + + + + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + + + + + + + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + + + + + + + + + When MTOM is enabled, binary data above this size in bytes + will be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + + + + + + + com.wombat.empl.EmployeeService + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + + ]]> + + + + + + + + + + To be used with JAX-RPC based runtime only. + + + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + + + + + + + + + + + + + + + + StockQuoteService + + ]]> + + + + + + + + + + + + + + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + + + + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + + + + + + + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + + + + + + + + + + + + EmployeeService + + + + + ]]> + + + + + + + + + + + + The required value for the version is 1.3. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_4.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_4.xsd new file mode 100644 index 0000000000..577b2dbb64 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_1_4.xsd @@ -0,0 +1,572 @@ + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + ... + + + The instance documents may indicate the published version of the + schema using the xsi:schemaLocation attribute for the Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_4.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The webservices element is the root element for the web services + deployment descriptor. It specifies the set of web service + descriptions that are to be deployed into the Java EE Application Server + and the dependencies they have on container resources and services. + + Used in: webservices.xml + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC mapping. The + name must be unique within the deployment descriptor. + + + + + + + + + + + + + + + + The port-component element associates a WSDL port with a web service + interface and implementation. It defines the name of the port as a + component, optional description, optional display name, optional iconic + representations, WSDL port QName, Service Endpoint Interface, Service + Implementation Bean. + + This element also associates a WSDL service with a JAX-WS Provider + implementation. + + + + + + + + + + + EmployeeService + + + ]]> + + + + + + + + Defines the name space and local name part of the WSDL + service QName. This is required to be specified for + port components that are JAX-WS Provider implementations. + + + + + + + + + Defines the name space and local name part of the WSDL + port QName. This is not required to be specified for port + components that are JAX-WS Provider implementations + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism for an + endpoint implementation. + + Not to be specified for JAX-RPC runtime + + + + + + + + + When MTOM is enabled, binary data above this size in bytes + will be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Used to specify the protocol binding used by the port-component. + If this element is not specified, then the default binding is + used (SOAP 1.1 over HTTP) + + + + + + + + com.wombat.empl.EmployeeService + + This may not be specified in case there is no Service + Enpoint Interface as is the case with directly using an + implementation class with the @WebService annotation. + + When the port component is a Provider implementation + this is not specified. + + ]]> + + + + + + + + + + To be used with JAX-RPC based runtime only. + + + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + + The service-impl-bean element defines the web service implementation. + A service implementation can be an EJB bean class or JAX-RPC web + component. Existing EJB implementations are exposed as a web service + using an ejb-link. + + Used in: port-component + + + + + + + + + + + + + + + + + StockQuoteService + + ]]> + + + + + + + + + + + + + + + The webservice-description element defines a WSDL document file + and the set of Port components associated with the WSDL ports + defined in the WSDL document. There may be multiple + webservice-descriptions defined within a module. + + All WSDL file ports must have a corresponding port-component element + defined. + + Used in: webservices + + + + + + + + + + + + The webservice-description-name identifies the collection of + port-components associated with a WSDL file and JAX-RPC + mapping. The name must be unique within the deployment descriptor. + + + + + + + + + The wsdl-file element contains the name of a WSDL file in the + module. The file name is a relative path within the module. + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + + + + + + + + + + + + EmployeeService + + + + + ]]> + + + + + + + + + + + + The required value for the version is 1.4. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_2.xsd new file mode 100644 index 0000000000..885721375d --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_2.xsd @@ -0,0 +1,585 @@ + + + + + @(#)javaee_web_services_client_1_2.xsds 1.19 02/13/06 + + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + + + + + + + + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + + + + + + + + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + + + + + + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + + + + + + + + + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + + + + + + + + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + + + + + + + + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + + + + + + + + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + + + + + + + + + + + + + + + + + + + + + + + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + + + + + + + + + + + + + + + + + Declares the handler for a port-component. Handlers can access the + init-param name/value pairs using the HandlerInfo interface. If + port-name is not specified, the handler is assumed to be associated + with all ports of the service. + + Used in: service-ref + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + Defines a fully qualified class name for the handler + implementation. + + + + + + + + + + + Defines the QName of a SOAP header that will be processed + by the handler. + + + + + + + + + + The soap-role element contains a SOAP actor definition that + the Handler will play as a role. + + + + + + + + + + The port-name element defines the WSDL port-name that a + handler should be associated with. + + + + + + + + + + + + + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + + + + + + + + + + + + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + + + + + + + + + + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + + + + + + + + + + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_3.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_3.xsd new file mode 100644 index 0000000000..5c673ae915 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_3.xsd @@ -0,0 +1,737 @@ + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + + + + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + + + + + + + + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + + + + + + + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + + + + + + + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + + + + + + + + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + + + + + + + + + When MTOM is enabled, binary data above this size in bytes + should be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + + + + + + + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + + + + + + + + + + + + + + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + + + + + + + + + + + + + + + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + + + + + + + + + + + + + + + + + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + + + + + + + + + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + + + + + + + + + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + + + + + + + + + + + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + + + + + + + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS web service. + It corresponds to javax.xml.ws.soap.Addressing annotation or its + feature javax.xml.ws.soap.AddressingFeature. + + If the "enabled" element is "true", WS-Addressing is enabled. + It means that the endpoint supports WS-Addressing but does not require + its use. The default value for "enabled" is "true". + + If the WS-Addressing is enabled and the "required" element is "true", + it means that the endpoint requires WS-Addressing. The default value + for "required" is "false". + + If WS-Addressing is enabled, the "responses" element determines + if an endpoint requires the use of only anonymous responses, + or only non-anonymous responses, or all. The value of the "responses" + element must be one of the following: + + ANONYMOUS + NON_ANONYMOUS + ALL + + The default value for the "responses" is ALL. + + + + + + + + + + + + + + + + + + If WS-Addressing is enabled, this type determines if an endpoint + requires the use of only anonymous responses, or only non-anonymous + responses, or all. + + + + + + + + + + + + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + If the "enabled" element is "true", wsdl:binding in the + associated WSDL, if any, must be respected/honored. + + + + + + + + + + + + + + + + Declares the handler for a port-component, service-ref. Handlers can + access the init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component, service-ref + + + + + + + + + + Defines the name of the handler. The name must be unique within the + module. + + + + + + + + + Defines a fully qualified class name for the handler implementation. + + + + + + + + + Not to be specified for JAX-WS runtime + + + + + + + + + Defines the QName of a SOAP header that will be processed by the + handler. + + Not to be specified for JAX-WS runtime + + + + + + + + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + + + + + + + + The port-name element defines the WSDL port-name that a + handler should be associated with. If port-name is not + specified, the handler is assumed to be associated with + all ports of the service. + + Not to be specified for JAX-WS runtime + + + + + + + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_4.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_4.xsd new file mode 100644 index 0000000000..d474a8d2fb --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_client_1_4.xsd @@ -0,0 +1,737 @@ + + + + + + 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. + + + + + + + + (C) Copyright International Business Machines Corporation 2002 + + + + + + + + + + + + The service-ref element declares a reference to a Web + service. It contains optional description, display name and + icons, a declaration of the required Service interface, + an optional WSDL document location, an optional set + of JAX-RPC mappings, an optional QName for the service element, + an optional set of Service Endpoint Interfaces to be resolved + by the container to a WSDL port, and an optional set of handlers. + + + + + + + + + + The service-ref-name element declares logical name that the + components in the module use to look up the Web service. It + is recommended that all service reference names start with + "service/". + + + + + + + + + The service-interface element declares the fully qualified class + name of the JAX-RPC Service interface the client depends on. + In most cases the value will be javax.xml.rpc.Service. A JAX-RPC + generated Service Interface class may also be specified. + + + + + + + + + The service-ref-type element declares the type of the service-ref + element that is injected or returned when a JNDI lookup is done. + This must be either a fully qualified name of Service class or + the fully qualified name of service endpoint interface class. + This is only used with JAX-WS runtime where the corresponding + @WebServiceRef annotation can be used to denote both a Service + or a Port. + + If this is not specified, then the type of service-ref element + that is injected or returned when a JNDI lookup is done is + always a Service interface/class. + + + + + + + + + The wsdl-file element contains the URI location of a WSDL + file. The location is relative to the root of the module. + + + + + + + + + The jaxrpc-mapping-file element contains the name of a file that + describes the JAX-RPC mapping between the Java interaces used by + the application and the WSDL description in the wsdl-file. The + file name is a relative path within the module file. + + This is not required when JAX-WS based runtime is used. + + + + + + + + + The service-qname element declares the specific WSDL service + element that is being refered to. It is not specified if no + wsdl-file is declared. + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + + Declares the handler for a port-component. Handlers can + access the init-param name/value pairs using the + HandlerInfo interface. If port-name is not specified, the + handler is assumed to be associated with all ports of the + service. + + To be used with JAX-RPC based runtime only. + + + + + + + + + To be used with JAX-WS based runtime only. + + + + + + + + + + + + + + + + + + The port-component-ref element declares a client dependency + on the container for resolving a Service Endpoint Interface + to a WSDL port. It optionally associates the Service Endpoint + Interface with a particular port-component. This is only used + by the container for a Service.getPort(Class) method call. + + + + + + + + + The service-endpoint-interface element defines a fully qualified + Java class that represents the Service Endpoint Interface of a + WSDL port. + + + + + + + + + Used to enable or disable SOAP MTOM/XOP mechanism on the client + side for a port-component. + + Not to be specified for JAX-RPC runtime + + + + + + + + + When MTOM is enabled, binary data above this size in bytes + should be XOP encoded or sent as attachment. Default value is 0. + + Not to be specified for JAX-RPC runtime + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS + web service. It corresponds to javax.xml.ws.soap.Addressing + annotation or its feature javax.xml.ws.soap.AddressingFeature. + + See the addressingType for more information. + + Not to be specified for JAX-RPC runtime + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + Not to be specified for JAX-RPC runtime + + + + + + + + + The port-component-link element links a port-component-ref + to a specific port-component required to be made available + by a service reference. + + The value of a port-component-link must be the + port-component-name of a port-component in the same module + or another module in the same application unit. The syntax + for specification follows the syntax defined for ejb-link + in the EJB 2.0 specification. + + + + + + + + + + + + + + + + The handler-chains element defines the handlerchains associated with this + service or service endpoint. + + + + + + + + + + + + + + + + + The handler-chain element defines the handlerchain. + Handlerchain can be defined such that the handlers in the + handlerchain operate,all ports of a service, on a specific + port or on a list of protocol-bindings. The choice of elements + service-name-pattern, port-name-pattern and protocol-bindings + are used to specify whether the handlers in handler-chain are + for a service, port or protocol binding. If none of these + choices are specified with the handler-chain element then the + handlers specified in the handler-chain will be applied on + everything. + + + + + + + + + + + + + + + + + + + Defines the type used for specifying a list of + protocol-bindingType(s). For e.g. + + ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP + + + + + + + + + + + Defines the type used for specifying the URI for the + protocol binding used by the port-component. For + portability one could use one of the following tokens that + alias the standard binding types: + + ##SOAP11_HTTP + ##SOAP11_HTTP_MTOM + ##SOAP12_HTTP + ##SOAP12_HTTP_MTOM + ##XML_HTTP + + Other specifications could define tokens that start with ## + to alias new standard binding URIs that are introduced. + + + + + + + + + + + Defines the type that is used for specifying tokens that + start with ## which are used to alias existing standard + protocol bindings and support aliases for new standard + binding URIs that are introduced in future specifications. + + The following tokens alias the standard protocol binding + URIs: + + ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" + ##SOAP11_HTTP_MTOM = + "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" + ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" + ##SOAP12_HTTP_MTOM = + "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" + ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" + + + + + + + + + + + + + This is used to specify the QName pattern in the + attribute service-name-pattern and port-name-pattern in + the handler-chain element + + For example, the various forms acceptable here for + service-name-pattern attribute in handler-chain element + are : + + Exact Name: service-name-pattern="ns1:EchoService" + + In this case, handlers specified in this + handler-chain element will apply to all ports with + this exact service name. The namespace prefix must + have been declared in a namespace declaration + attribute in either the start-tag of the element + where the prefix is used or in an an ancestor + element (i.e. an element in whose content the + prefixed markup occurs) + + + Pattern : service-name-pattern="ns1:EchoService*" + + In this case, handlers specified in this + handler-chain element will apply to all ports whose + Service names are like EchoService1, EchoServiceFoo + etc. The namespace prefix must have been declared in + a namespace declaration attribute in either the + start-tag of the element where the prefix is used or + in an an ancestor element (i.e. an element in whose + content the prefixed markup occurs) + + Wild Card : service-name-pattern="*" + + In this case, handlers specified in this handler-chain + element will apply to ports of all service names. + + The same can be applied to port-name attribute in + handler-chain element. + + + + + + + + + + + + + + + + This specifies the WS-Addressing requirements for a JAX-WS web service. + It corresponds to javax.xml.ws.soap.Addressing annotation or its + feature javax.xml.ws.soap.AddressingFeature. + + If the "enabled" element is "true", WS-Addressing is enabled. + It means that the endpoint supports WS-Addressing but does not require + its use. The default value for "enabled" is "true". + + If the WS-Addressing is enabled and the "required" element is "true", + it means that the endpoint requires WS-Addressing. The default value + for "required" is "false". + + If WS-Addressing is enabled, the "responses" element determines + if an endpoint requires the use of only anonymous responses, + or only non-anonymous responses, or all. The value of the "responses" + element must be one of the following: + + ANONYMOUS + NON_ANONYMOUS + ALL + + The default value for the "responses" is ALL. + + + + + + + + + + + + + + + + + + If WS-Addressing is enabled, this type determines if an endpoint + requires the use of only anonymous responses, or only non-anonymous + responses, or all. + + + + + + + + + + + + + + + + + + + + Corresponds to the javax.xml.ws.RespectBinding annotation + or its corresponding javax.xml.ws.RespectBindingFeature web + service feature. This is used to control whether a JAX-WS + implementation must respect/honor the contents of the + wsdl:binding in the WSDL that is associated with the service. + + If the "enabled" element is "true", wsdl:binding in the + associated WSDL, if any, must be respected/honored. + + + + + + + + + + + + + + + + Declares the handler for a port-component, service-ref. Handlers can + access the init-param name/value pairs using the HandlerInfo interface. + + Used in: port-component, service-ref + + + + + + + + + + Defines the name of the handler. The name must be unique within the + module. + + + + + + + + + Defines a fully qualified class name for the handler implementation. + + + + + + + + + Not to be specified for JAX-WS runtime + + + + + + + + + Defines the QName of a SOAP header that will be processed by the + handler. + + Not to be specified for JAX-WS runtime + + + + + + + + + The soap-role element contains a SOAP actor definition that the + Handler will play as a role. + + + + + + + + + The port-name element defines the WSDL port-name that a + handler should be associated with. If port-name is not + specified, the handler is assumed to be associated with + all ports of the service. + + Not to be specified for JAX-WS runtime + + + + + + + + + + + + + + + + Defines the name of the handler. The name must be unique + within the module. + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_metadata_handler_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_metadata_handler_2_0.xsd new file mode 100644 index 0000000000..681bfa45c3 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/javaee_web_services_metadata_handler_2_0.xsd @@ -0,0 +1,41 @@ + + + + + javaee_web_services_metadata_handler.xsd v2.0.1 11/09/2007 + + + + + + + Copyright 2004-2007 BEA Systems, Inc. + + + + + + + + + + + The handler-chains element is the root element for defining + handlerchains. + + The Web Services Metadata for the Java Platform (JSR-181), Version 2.0 + specification defines the @javax.jws.HandlerChain annotation + that refers to an XML descriptor conforming to this schema. + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/jobXML_1_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/jobXML_1_0.xsd new file mode 100644 index 0000000000..8ae3c4be3b --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/jobXML_1_0.xsd @@ -0,0 +1,359 @@ + + + + Job Specification Language (JSL) specifies a job, + its steps, and directs their execution. JSL also can be referred to + as "Job XML". + + + + This is a helper type. Though it is not otherwise + called out by this name in the specification, it captures the fact + that the xs:string value refers to a batch artifact, across numerous + other JSL type definitions. + + + + + + The type of a job definition, whether concrete or + + abstract. This is the type of the root element of any JSL document. + + + + + + The job-level properties, which are accessible + via the JobContext.getProperties() API in a batch artifact. + + + + + + Note that "listeners" sequence order in XML does + not imply order of execution by the batch runtime, per the + specification. + + + + + + + + + + + + + + + + The definition of an job, whether concrete or + abstract. This is the + + type of the root element of any JSL document. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This grouping provides allows for the reuse of the + 'end', 'fail', 'next', 'stop' element sequences which may appear at + the end of a 'step', 'flow', 'split' or 'decision'. The term + 'TransitionElements' does not formally appear in the spec, it is a + schema convenience. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note that "listeners" sequence order in XML does + not imply order of execution by the batch runtime, per the + specification. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the checkpoint policy that governs + commit behavior for this chunk. Valid values are: "item" or + "custom". The "item" policy means the chunk is checkpointed after a + specified number of items are processed. The "custom" policy means + + the chunk is checkpointed according to a checkpoint algorithm + implementation. Specifying "custom" requires that the + checkpoint-algorithm element is also specified. It is an optional + attribute. The default policy is "item". However, we chose not to + define a schema-specified default for this attribute. + + + + + + Specifies the number of items to process per + chunk when using the item checkpoint policy. It must be valid XML + integer. It is an optional attribute. The default is 10. The + item-count attribute is ignored for "custom" checkpoint policy. + However, to make it easier for implementations to support JSL + inheritance we abstain from defining a schema-specified default for + this attribute. + + + + + Specifies the amount of time in seconds before + taking a checkpoint for the item checkpoint policy. It must be + valid XML integer. It is an optional attribute. The default is 0, + which means no limit. However, to make it easier for + implementations to support JSL inheritance we abstain from defining + a schema-specified default for this attribute. + + When a value greater than zero is specified, a checkpoint is taken when + time-limit is reached or item-count items have been processed, + whichever comes first. The time-limit attribute is ignored for + "custom" checkpoint policy. + + + + + Specifies the number of exceptions a step will + skip if any configured skippable exceptions are thrown by chunk + processing. It must be a valid XML integer value. It is an optional + attribute. The default is no limit. + + + + + Specifies the number of times a step will retry + if any configured retryable exceptions are thrown by chunk + processing. It must be a valid XML integer value. It is an optional + attribute. The default is no limit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_1.xsd new file mode 100644 index 0000000000..050580ad3b --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_1.xsd @@ -0,0 +1,349 @@ + + + + + @(#)jsp_2_1.xsds 1.5 08/11/05 + + + + + + + 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. + + + + + + + + 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. + + + + + + + + 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. + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + The jsp-file element contains the full path to a JSP file + within the web application beginning with a `/'. + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + Can be used to easily disable scripting in a + group of JSP pages. By default, scripting is + enabled. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + + + + + + + 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. + + + + + + + + + + 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. + + + + + + + + + + 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. + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_2.xsd new file mode 100644 index 0000000000..fa41e4266f --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_2.xsd @@ -0,0 +1,389 @@ + + + + + + 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. + + + + + + + + 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-common_3_0.xsd + file to define JSP specific content. + + + + + + + + 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. + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + The jsp-file element contains the full path to a JSP file + within the web application beginning with a `/'. + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + Can be used to easily disable scripting in a + group of JSP pages. By default, scripting is + enabled. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_3.xsd b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_3.xsd new file mode 100644 index 0000000000..564d309dc7 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/jsp_2_3.xsd @@ -0,0 +1,389 @@ + + + + + + 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. + + + + + + + + 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. + + + + + + + + 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. + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + The jsp-file element contains the full path to a JSP file + within the web application beginning with a `/'. + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + Can be used to easily disable scripting in a + group of JSP pages. By default, scripting is + enabled. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/orm_1_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/orm_1_0.xsd new file mode 100644 index 0000000000..7b4380ac5b --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/orm_1_0.xsd @@ -0,0 +1,1561 @@ + + + + + + + @(#)orm_1_0.xsd 1.0 Feb 14 2006 + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2005-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. + + + + + + + + + + + + + + + + + + + + + + + + The entity-mappings element is the root element of an mapping + file. It contains the following four types of elements: + + 1. The persistence-unit-metadata element contains metadata + for the entire persistence unit. It is undefined if this element + occurs in multiple mapping files within the same persistence unit. + + 2. The package, schema, catalog and access elements apply to all of + the entity, mapped-superclass and embeddable elements defined in + the same file in which they occur. + + 3. The sequence-generator, table-generator, named-query, + named-native-query and sql-result-set-mapping elements are global + to the persistence unit. It is undefined to have more than one + sequence-generator or table-generator of the same name in the same + or different mapping files in a persistence unit. It is also + undefined to have more than one named-query or named-native-query + of the same name in the same or different mapping files in a + persistence unit. + + 4. The entity, mapped-superclass and embeddable elements each define + the mapping information for a managed persistent class. The mapping + information contained in these elements may be complete or it may + be partial. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metadata that applies to the persistence unit and not just to + the mapping file in which it is contained. + + If the xml-mapping-metadata-complete element is specified then + the complete set of mapping metadata for the persistence unit + is contained in the XML mapping files for the persistence unit. + + + + + + + + + + + + + + + + These defaults are applied to the persistence unit as a whole + unless they are overridden by local annotation or XML + element settings. + + schema - Used as the schema for all tables or secondary tables + that apply to the persistence unit + catalog - Used as the catalog for all tables or secondary tables + that apply to the persistence unit + access - Used as the access type for all managed classes in + the persistence unit + cascade-persist - Adds cascade-persist to the set of cascade options + in entity relationships of the persistence unit + entity-listeners - List of default entity listeners to be invoked + on each entity in the persistence unit. + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for an entity. Is allowed to be + sparsely populated and used in conjunction with the annotations. + Alternatively, the metadata-complete attribute can be used to + indicate that no annotations on the entity class (and its fields + or properties) are to be processed. If this is the case then + the defaulting rules for the entity and its subelements will + be recursively applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface Entity { + String name() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This element contains the entity field or property mappings. + It may be sparsely populated to include only a subset of the + fields or properties. If metadata-complete for the entity is true + then the remainder of the attributes will be defaulted according + to the default rules. + + + + + + + + + + + + + + + + + + + + + + + + + + This element determines how the persistence provider accesses the + state of an entity or embedded object. + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface EntityListeners { + Class[] value(); + } + + + + + + + + + + + + + + + Defines an entity listener to be invoked at lifecycle events + for the entities that list this listener. + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PrePersist {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostPersist {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreRemove {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostRemove {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreUpdate {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostUpdate {} + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostLoad {} + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface QueryHint { + String name(); + String value(); + } + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedQuery { + String name(); + String query(); + QueryHint[] hints() default {}; + } + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedNativeQuery { + String name(); + String query(); + QueryHint[] hints() default {}; + Class resultClass() default void.class; + String resultSetMapping() default ""; //named SqlResultSetMapping + } + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SqlResultSetMapping { + String name(); + EntityResult[] entities() default {}; + ColumnResult[] columns() default {}; + } + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface EntityResult { + Class entityClass(); + FieldResult[] fields() default {}; + String discriminatorColumn() default ""; + } + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface FieldResult { + String name(); + String column(); + } + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface ColumnResult { + String name(); + } + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Table { + String name() default ""; + String catalog() default ""; + String schema() default ""; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SecondaryTable { + String name(); + String catalog() default ""; + String schema() default ""; + PrimaryKeyJoinColumn[] pkJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface UniqueConstraint { + String[] columnNames(); + } + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Column { + String name() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + int length() default 255; + int precision() default 0; // decimal precision + int scale() default 0; // decimal scale + } + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinColumn { + String name() default ""; + String referencedColumnName() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + } + + + + + + + + + + + + + + + + + + + + public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO }; + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AttributeOverride { + String name(); + Column column(); + } + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AssociationOverride { + String name(); + JoinColumn[] joinColumns(); + } + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface IdClass { + Class value(); + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Id {} + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface EmbeddedId {} + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Transient {} + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Version {} + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Basic { + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + public enum FetchType { LAZY, EAGER }; + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Lob {} + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Temporal { + TemporalType value(); + } + + + + + + + + + + + + + public enum TemporalType { + DATE, // java.sql.Date + TIME, // java.sql.Time + TIMESTAMP // java.sql.Timestamp + } + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Enumerated { + EnumType value() default ORDINAL; + } + + + + + + + + + + + + + public enum EnumType { + ORDINAL, + STRING + } + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH}; + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinTable { + String name() default ""; + String catalog() default ""; + String schema() default ""; + JoinColumn[] joinColumns() default {}; + JoinColumn[] inverseJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface GeneratedValue { + GenerationType strategy() default AUTO; + String generator() default ""; + } + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKey { + String name() default ""; + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OrderBy { + String value() default ""; + } + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Inheritance { + InheritanceType strategy() default SINGLE_TABLE; + } + + + + + + + + + + + + + public enum InheritanceType + { SINGLE_TABLE, JOINED, TABLE_PER_CLASS}; + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorValue { + String value(); + } + + + + + + + + + + + + + public enum DiscriminatorType { STRING, CHAR, INTEGER }; + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface PrimaryKeyJoinColumn { + String name() default ""; + String referencedColumnName() default ""; + String columnDefinition() default ""; + } + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorColumn { + String name() default "DTYPE"; + DiscriminatorType discriminatorType() default STRING; + String columnDefinition() default ""; + int length() default 31; + } + + + + + + + + + + + + + + + + Defines the settings and mappings for embeddable objects. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + in the class. If this is the case then the defaulting rules will + be recursively applied. + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Embeddable {} + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Embedded {} + + + + + + + + + + + + + + + + Defines the settings and mappings for a mapped superclass. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + If this is the case then the defaulting rules will be recursively + applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface MappedSuperclass{} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface SequenceGenerator { + String name(); + String sequenceName() default ""; + int initialValue() default 1; + int allocationSize() default 50; + } + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface TableGenerator { + String name(); + String table() default ""; + String catalog() default ""; + String schema() default ""; + String pkColumnName() default ""; + String valueColumnName() default ""; + String pkColumnValue() default ""; + int initialValue() default 0; + int allocationSize() default 50; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/orm_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/orm_2_0.xsd new file mode 100644 index 0000000000..dd0c044eb8 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/orm_2_0.xsd @@ -0,0 +1,1938 @@ + + + + + + + @(#)orm_2_0.xsd 2.0 October 1 2009 + + + + + + + Copyright (c) 2008, 2009 Sun Microsystems. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + which accompanies this distribution. + The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + and the Eclipse Distribution License is available at + http://www.eclipse.org/org/documents/edl-v10.php. + + Contributors: + Linda DeMichiel - Java Persistence 2.0, Version 2.0 (October 1, 2009) + Specification available from http://jcp.org/en/jsr/detail?id=317 + + + + + + + ... + + + + ]]> + + + + + + + + + + + + + + + + + + The entity-mappings element is the root element of a mapping + file. It contains the following four types of elements: + + 1. The persistence-unit-metadata element contains metadata + for the entire persistence unit. It is undefined if this element + occurs in multiple mapping files within the same persistence unit. + + 2. The package, schema, catalog and access elements apply to all of + the entity, mapped-superclass and embeddable elements defined in + the same file in which they occur. + + 3. The sequence-generator, table-generator, named-query, + named-native-query and sql-result-set-mapping elements are global + to the persistence unit. It is undefined to have more than one + sequence-generator or table-generator of the same name in the same + or different mapping files in a persistence unit. It is also + undefined to have more than one named-query, named-native-query, or + result-set-mapping of the same name in the same or different mapping + files in a persistence unit. + + 4. The entity, mapped-superclass and embeddable elements each define + the mapping information for a managed persistent class. The mapping + information contained in these elements may be complete or it may + be partial. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metadata that applies to the persistence unit and not just to + the mapping file in which it is contained. + + If the xml-mapping-metadata-complete element is specified, + the complete set of mapping metadata for the persistence unit + is contained in the XML mapping files for the persistence unit. + + + + + + + + + + + + + + + + + These defaults are applied to the persistence unit as a whole + unless they are overridden by local annotation or XML + element settings. + + schema - Used as the schema for all tables, secondary tables, join + tables, collection tables, sequence generators, and table + generators that apply to the persistence unit + catalog - Used as the catalog for all tables, secondary tables, join + tables, collection tables, sequence generators, and table + generators that apply to the persistence unit + delimited-identifiers - Used to treat database identifiers as + delimited identifiers. + access - Used as the access type for all managed classes in + the persistence unit + cascade-persist - Adds cascade-persist to the set of cascade options + in all entity relationships of the persistence unit + entity-listeners - List of default entity listeners to be invoked + on each entity in the persistence unit. + + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for an entity. Is allowed to be + sparsely populated and used in conjunction with the annotations. + Alternatively, the metadata-complete attribute can be used to + indicate that no annotations on the entity class (and its fields + or properties) are to be processed. If this is the case then + the defaulting rules for the entity and its subelements will + be recursively applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface Entity { + String name() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This element determines how the persistence provider accesses the + state of an entity or embedded object. + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AssociationOverride { + String name(); + JoinColumn[] joinColumns() default{}; + JoinTable joinTable() default @JoinTable; + } + + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AttributeOverride { + String name(); + Column column(); + } + + + + + + + + + + + + + + + + + This element contains the entity field or property mappings. + It may be sparsely populated to include only a subset of the + fields or properties. If metadata-complete for the entity is true + then the remainder of the attributes will be defaulted according + to the default rules. + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Basic { + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + + public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH}; + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface CollectionTable { + String name() default ""; + String catalog() default ""; + String schema() default ""; + JoinColumn[] joinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Column { + String name() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + int length() default 255; + int precision() default 0; // decimal precision + int scale() default 0; // decimal scale + } + + + + + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface ColumnResult { + String name(); + } + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorColumn { + String name() default "DTYPE"; + DiscriminatorType discriminatorType() default STRING; + String columnDefinition() default ""; + int length() default 31; + } + + + + + + + + + + + + + + + + public enum DiscriminatorType { STRING, CHAR, INTEGER }; + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorValue { + String value(); + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ElementCollection { + Class targetClass() default void.class; + FetchType fetch() default LAZY; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for embeddable objects. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + in the class. If this is the case then the defaulting rules will + be recursively applied. + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Embeddable {} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Embedded {} + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface EmbeddedId {} + + + + + + + + + + + + + + + + + Defines an entity listener to be invoked at lifecycle events + for the entities that list this listener. + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface EntityListeners { + Class[] value(); + } + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface EntityResult { + Class entityClass(); + FieldResult[] fields() default {}; + String discriminatorColumn() default ""; + } + + + + + + + + + + + + + + + + + public enum EnumType { + ORDINAL, + STRING + } + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Enumerated { + EnumType value() default ORDINAL; + } + + + + + + + + + + + + + public enum FetchType { LAZY, EAGER }; + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface FieldResult { + String name(); + String column(); + } + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface GeneratedValue { + GenerationType strategy() default AUTO; + String generator() default ""; + } + + + + + + + + + + + + + + public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO }; + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Id {} + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface IdClass { + Class value(); + } + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Inheritance { + InheritanceType strategy() default SINGLE_TABLE; + } + + + + + + + + + + + + + public enum InheritanceType + { SINGLE_TABLE, JOINED, TABLE_PER_CLASS}; + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinColumn { + String name() default ""; + String referencedColumnName() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + } + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinTable { + String name() default ""; + String catalog() default ""; + String schema() default ""; + JoinColumn[] joinColumns() default {}; + JoinColumn[] inverseJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Lob {} + + + + + + + + + + + + public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE}; + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKey { + String name() default ""; + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyClass { + Class value(); + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyColumn { + String name() default ""; + boolean unique() default false; + boolean nullable() default false; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + int length() default 255; + int precision() default 0; // decimal precision + int scale() default 0; // decimal scale + } + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyJoinColumn { + String name() default ""; + String referencedColumnName() default ""; + boolean unique() default false; + boolean nullable() default false; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + } + + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for a mapped superclass. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + If this is the case then the defaulting rules will be recursively + applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface MappedSuperclass{} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedNativeQuery { + String name(); + String query(); + QueryHint[] hints() default {}; + Class resultClass() default void.class; + String resultSetMapping() default ""; //named SqlResultSetMapping + } + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedQuery { + String name(); + String query(); + LockModeType lockMode() default NONE; + QueryHint[] hints() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + String mappedBy() default ""; + boolean orphanRemoval() default false; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OrderBy { + String value() default ""; + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OrderColumn { + String name() default ""; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + } + + + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostLoad {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostPersist {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostRemove {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostUpdate {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PrePersist {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreRemove {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreUpdate {} + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface PrimaryKeyJoinColumn { + String name() default ""; + String referencedColumnName() default ""; + String columnDefinition() default ""; + } + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface QueryHint { + String name(); + String value(); + } + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SecondaryTable { + String name(); + String catalog() default ""; + String schema() default ""; + PrimaryKeyJoinColumn[] pkJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface SequenceGenerator { + String name(); + String sequenceName() default ""; + String catalog() default ""; + String schema() default ""; + int initialValue() default 1; + int allocationSize() default 50; + } + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SqlResultSetMapping { + String name(); + EntityResult[] entities() default {}; + ColumnResult[] columns() default {}; + } + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Table { + String name() default ""; + String catalog() default ""; + String schema() default ""; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface TableGenerator { + String name(); + String table() default ""; + String catalog() default ""; + String schema() default ""; + String pkColumnName() default ""; + String valueColumnName() default ""; + String pkColumnValue() default ""; + int initialValue() default 0; + int allocationSize() default 50; + UniqueConstraint[] uniqueConstraints() default {}; + } + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Temporal { + TemporalType value(); + } + + + + + + + + + + + + + public enum TemporalType { + DATE, // java.sql.Date + TIME, // java.sql.Time + TIMESTAMP // java.sql.Timestamp + } + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Transient {} + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface UniqueConstraint { + String name() default ""; + String[] columnNames(); + } + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Version {} + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/orm_2_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/orm_2_1.xsd new file mode 100644 index 0000000000..6aa624891d --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/orm_2_1.xsd @@ -0,0 +1,2336 @@ + + + + + + + @(#)orm_2_1.xsd 2.1 February 15 2013 + + + + + + + Copyright (c) 2008 - 2013 Oracle Corporation. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + which accompanies this distribution. + The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + and the Eclipse Distribution License is available at + http://www.eclipse.org/org/documents/edl-v10.php. + + Contributors: + Linda DeMichiel - Java Persistence 2.1, Version 2.1 (February 15, 2013) + Specification available from http://jcp.org/en/jsr/detail?id=338 + + + + + + + ... + + + + ]]> + + + + + + + + + + + + + + + + + + The entity-mappings element is the root element of a mapping + file. It contains the following four types of elements: + + 1. The persistence-unit-metadata element contains metadata + for the entire persistence unit. It is undefined if this element + occurs in multiple mapping files within the same persistence unit. + + 2. The package, schema, catalog and access elements apply to all of + the entity, mapped-superclass and embeddable elements defined in + the same file in which they occur. + + 3. The sequence-generator, table-generator, converter, named-query, + named-native-query, named-stored-procedure-query, and + sql-result-set-mapping elements are global to the persistence + unit. It is undefined to have more than one sequence-generator + or table-generator of the same name in the same or different + mapping files in a persistence unit. It is undefined to have + more than one named-query, named-native-query, sql-result-set-mapping, + or named-stored-procedure-query of the same name in the same + or different mapping files in a persistence unit. It is also + undefined to have more than one converter for the same target + type in the same or different mapping files in a persistence unit. + + 4. The entity, mapped-superclass and embeddable elements each define + the mapping information for a managed persistent class. The mapping + information contained in these elements may be complete or it may + be partial. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Metadata that applies to the persistence unit and not just to + the mapping file in which it is contained. + + If the xml-mapping-metadata-complete element is specified, + the complete set of mapping metadata for the persistence unit + is contained in the XML mapping files for the persistence unit. + + + + + + + + + + + + + + + + + These defaults are applied to the persistence unit as a whole + unless they are overridden by local annotation or XML + element settings. + + schema - Used as the schema for all tables, secondary tables, join + tables, collection tables, sequence generators, and table + generators that apply to the persistence unit + catalog - Used as the catalog for all tables, secondary tables, join + tables, collection tables, sequence generators, and table + generators that apply to the persistence unit + delimited-identifiers - Used to treat database identifiers as + delimited identifiers. + access - Used as the access type for all managed classes in + the persistence unit + cascade-persist - Adds cascade-persist to the set of cascade options + in all entity relationships of the persistence unit + entity-listeners - List of default entity listeners to be invoked + on each entity in the persistence unit. + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for an entity. Is allowed to be + sparsely populated and used in conjunction with the annotations. + Alternatively, the metadata-complete attribute can be used to + indicate that no annotations on the entity class (and its fields + or properties) are to be processed. If this is the case then + the defaulting rules for the entity and its subelements will + be recursively applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface Entity { + String name() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This element determines how the persistence provider accesses the + state of an entity or embedded object. + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AssociationOverride { + String name(); + JoinColumn[] joinColumns() default{}; + JoinTable joinTable() default @JoinTable; + } + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface AttributeOverride { + String name(); + Column column(); + } + + + + + + + + + + + + + + + + + This element contains the entity field or property mappings. + It may be sparsely populated to include only a subset of the + fields or properties. If metadata-complete for the entity is true + then the remainder of the attributes will be defaulted according + to the default rules. + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Basic { + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + + + public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH}; + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface CollectionTable { + String name() default ""; + String catalog() default ""; + String schema() default ""; + JoinColumn[] joinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + Index[] indexes() default {}; + } + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Column { + String name() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + int length() default 255; + int precision() default 0; // decimal precision + int scale() default 0; // decimal scale + } + + + + + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface ColumnResult { + String name(); + Class type() default void.class; + } + + + + + + + + + + + + + + public enum ConstraintMode {CONSTRAINT, NO_CONSTRAINT, PROVIDER_DEFAULT}; + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface ConstructorResult { + Class targetClass(); + ColumnResult[] columns(); + } + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface Convert { + Class converter() default void.class; + String attributeName() default ""; + boolean disableConversion() default false; + } + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface Converter { + boolean autoApply() default false; + } + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorColumn { + String name() default "DTYPE"; + DiscriminatorType discriminatorType() default STRING; + String columnDefinition() default ""; + int length() default 31; + } + + + + + + + + + + + + + + + + public enum DiscriminatorType { STRING, CHAR, INTEGER }; + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface DiscriminatorValue { + String value(); + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ElementCollection { + Class targetClass() default void.class; + FetchType fetch() default LAZY; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for embeddable objects. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + in the class. If this is the case then the defaulting rules will + be recursively applied. + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Embeddable {} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Embedded {} + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface EmbeddedId {} + + + + + + + + + + + + + + + + + Defines an entity listener to be invoked at lifecycle events + for the entities that list this listener. + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface EntityListeners { + Class[] value(); + } + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface EntityResult { + Class entityClass(); + FieldResult[] fields() default {}; + String discriminatorColumn() default ""; + } + + + + + + + + + + + + + + + + + public enum EnumType { + ORDINAL, + STRING + } + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Enumerated { + EnumType value() default ORDINAL; + } + + + + + + + + + + + + + public enum FetchType { LAZY, EAGER }; + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface FieldResult { + String name(); + String column(); + } + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface ForeignKey { + String name() default ""; + ConstraintMode value() default CONSTRAINT; + String foreign-key-definition() default ""; + + Note that the elements that embed the use of the annotation + default this use as @ForeignKey(PROVIDER_DEFAULT). + + } + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface GeneratedValue { + GenerationType strategy() default AUTO; + String generator() default ""; + } + + + + + + + + + + + + + + public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO }; + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Id {} + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface IdClass { + Class value(); + } + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface Index { + String name() default ""; + String columnList(); + boolean unique() default false; + } + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Inheritance { + InheritanceType strategy() default SINGLE_TABLE; + } + + + + + + + + + + + + + public enum InheritanceType + { SINGLE_TABLE, JOINED, TABLE_PER_CLASS}; + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinColumn { + String name() default ""; + String referencedColumnName() default ""; + boolean unique() default false; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + ForeignKey foreignKey() default @ForeignKey(); + } + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface JoinTable { + String name() default ""; + String catalog() default ""; + String schema() default ""; + JoinColumn[] joinColumns() default {}; + JoinColumn[] inverseJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + Index[] indexes() default {}; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Lob {} + + + + + + + + + + + + public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE}; + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface ManyToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKey { + String name() default ""; + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyClass { + Class value(); + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyColumn { + String name() default ""; + boolean unique() default false; + boolean nullable() default false; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + int length() default 255; + int precision() default 0; // decimal precision + int scale() default 0; // decimal scale + } + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface MapKeyJoinColumn { + String name() default ""; + String referencedColumnName() default ""; + boolean unique() default false; + boolean nullable() default false; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + String table() default ""; + } + + + + + + + + + + + + + + + + + + + + + Defines the settings and mappings for a mapped superclass. Is + allowed to be sparsely populated and used in conjunction with + the annotations. Alternatively, the metadata-complete attribute + can be used to indicate that no annotations are to be processed + If this is the case then the defaulting rules will be recursively + applied. + + @Target(TYPE) @Retention(RUNTIME) + public @interface MappedSuperclass{} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface NamedAttributeNode { + String value(); + String subgraph() default ""; + String keySubgraph() default ""; + } + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedEntityGraph { + String name() default ""; + NamedAttributeNode[] attributeNodes() default {}; + boolean includeAllAttributes() default false; + NamedSubgraph[] subgraphs() default {}; + NamedSubGraph[] subclassSubgraphs() default {}; + } + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedNativeQuery { + String name(); + String query(); + QueryHint[] hints() default {}; + Class resultClass() default void.class; + String resultSetMapping() default ""; //named SqlResultSetMapping + } + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedQuery { + String name(); + String query(); + LockModeType lockMode() default NONE; + QueryHint[] hints() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface NamedStoredProcedureQuery { + String name(); + String procedureName(); + StoredProcedureParameter[] parameters() default {}; + Class[] resultClasses() default {}; + String[] resultSetMappings() default{}; + QueryHint[] hints() default {}; + } + + + + + + + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface NamedSubgraph { + String name(); + Class type() default void.class; + NamedAttributeNode[] attributeNodes(); + } + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToMany { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default LAZY; + String mappedBy() default ""; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OneToOne { + Class targetEntity() default void.class; + CascadeType[] cascade() default {}; + FetchType fetch() default EAGER; + boolean optional() default true; + String mappedBy() default ""; + boolean orphanRemoval() default false; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OrderBy { + String value() default ""; + } + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface OrderColumn { + String name() default ""; + boolean nullable() default true; + boolean insertable() default true; + boolean updatable() default true; + String columnDefinition() default ""; + } + + + + + + + + + + + + + + + + + public enum ParameterMode { IN, INOUT, OUT, REF_CURSOR}; + + + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostLoad {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostPersist {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostRemove {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PostUpdate {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PrePersist {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreRemove {} + + + + + + + + + + + + + + + + @Target({METHOD}) @Retention(RUNTIME) + public @interface PreUpdate {} + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface PrimaryKeyJoinColumn { + String name() default ""; + String referencedColumnName() default ""; + String columnDefinition() default ""; + } + + + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface QueryHint { + String name(); + String value(); + } + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SecondaryTable { + String name(); + String catalog() default ""; + String schema() default ""; + PrimaryKeyJoinColumn[] pkJoinColumns() default {}; + UniqueConstraint[] uniqueConstraints() default {}; + Index[] indexes() default {}; + } + + + + + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface SequenceGenerator { + String name(); + String sequenceName() default ""; + String catalog() default ""; + String schema() default ""; + int initialValue() default 1; + int allocationSize() default 50; + } + + + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface SqlResultSetMapping { + String name(); + EntityResult[] entities() default {}; + ConstructorResult[] classes() default{}; + ColumnResult[] columns() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface StoredProcedureParameter { + String name() default ""; + ParameterMode mode() default ParameterMode.IN; + Class type(); + } + + + + + + + + + + + + + + + + + + @Target({TYPE}) @Retention(RUNTIME) + public @interface Table { + String name() default ""; + String catalog() default ""; + String schema() default ""; + UniqueConstraint[] uniqueConstraints() default {}; + Index[] indexes() default {}; + } + + + + + + + + + + + + + + + + + + + @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) + public @interface TableGenerator { + String name(); + String table() default ""; + String catalog() default ""; + String schema() default ""; + String pkColumnName() default ""; + String valueColumnName() default ""; + String pkColumnValue() default ""; + int initialValue() default 0; + int allocationSize() default 50; + UniqueConstraint[] uniqueConstraints() default {}; + Indexes[] indexes() default {}; + } + + + + + + + + + + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Temporal { + TemporalType value(); + } + + + + + + + + + + + + + public enum TemporalType { + DATE, // java.sql.Date + TIME, // java.sql.Time + TIMESTAMP // java.sql.Timestamp + } + + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Transient {} + + + + + + + + + + + + + @Target({}) @Retention(RUNTIME) + public @interface UniqueConstraint { + String name() default ""; + String[] columnNames(); + } + + + + + + + + + + + + + + + + @Target({METHOD, FIELD}) @Retention(RUNTIME) + public @interface Version {} + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/permissions_7.xsd b/rules-xml/api/src/main/resources/catalog/xsd/permissions_7.xsd new file mode 100644 index 0000000000..9eed242ae4 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/permissions_7.xsd @@ -0,0 +1,175 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The permissions element is the root element in a + declared permissions file. The declared permissions file + declares the code based permissions granted to classes and libraries + packaged in the application archive, or in a module if the module is + deployed standalone. + + + + + + + + + + + + + Each permission element declares a permission. If no permission + elements are declared, the application or module needs no special + permissions, and the Java EE product may deploy it with no + permissions beyond those necessary for the operation of the + container. + + For details on the definition of the 'name' and 'actions' + elements, refer to the Java API documentation for the class + java.security.Permission, and its derived classes. + + + + + + + + + + + + + + + + + + + + The required value for the version is 7. + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/persistence_1_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/persistence_1_0.xsd new file mode 100644 index 0000000000..a485e30ef3 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/persistence_1_0.xsd @@ -0,0 +1,305 @@ + + + + + + + @(#)persistence_1_0.xsd 1.0 Feb 9 2006 + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2005-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. + + + + + + + ... + + + ]]> + + + + + + + + + + + + + + + + + + + + + + Configuration of a persistence unit. + + + + + + + + + + + + Textual description of this persistence unit. + + + + + + + + + + + + Provider class that supplies EntityManagers for this + persistence unit. + + + + + + + + + + + + The container-specific name of the JTA datasource to use. + + + + + + + + + + + + The container-specific name of a non-JTA datasource to use. + + + + + + + + + + + + File containing mapping information. Loaded as a resource + by the persistence provider. + + + + + + + + + + + + Jar file that should be scanned for entities. + Not applicable to Java SE persistence units. + + + + + + + + + + + + Class to scan for annotations. It should be annotated + with either @Entity, @Embeddable or @MappedSuperclass. + + + + + + + + + + + + When set to true then only listed classes and jars will + be scanned for persistent classes, otherwise the enclosing + jar or directory will also be scanned. Not applicable to + Java SE persistence units. + + + + + + + + + + + + A list of vendor-specific properties. + + + + + + + + + A name-value pair. + + + + + + + + + + + + + + + + + + + + Name used in code to reference this persistence unit. + + + + + + + + + + + + Type of transactions used by EntityManagers from this + persistence unit. + + + + + + + + + + + + + + + + + + + public enum TransactionType { JTA, RESOURCE_LOCAL }; + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_0.xsd new file mode 100644 index 0000000000..5d690abe10 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_0.xsd @@ -0,0 +1,354 @@ + + + + + + + @(#)persistence_2_0.xsd 1.0 October 1 2009 + + + + + + + Copyright (c) 2008, 2009 Sun Microsystems. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + which accompanies this distribution. + The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + and the Eclipse Distribution License is available at + http://www.eclipse.org/org/documents/edl-v10.php. + + Contributors: + Linda DeMichiel - Java Persistence 2.0, Version 2.0 (October 1, 2009) + Specification available from http://jcp.org/en/jsr/detail?id=317 + + + + + + + ... + + + ]]> + + + + + + + + + + + + + + + + + + + + + + Configuration of a persistence unit. + + + + + + + + + + + + Description of this persistence unit. + + + + + + + + + + + + Provider class that supplies EntityManagers for this + persistence unit. + + + + + + + + + + + + The container-specific name of the JTA datasource to use. + + + + + + + + + + + + The container-specific name of a non-JTA datasource to use. + + + + + + + + + + + + File containing mapping information. Loaded as a resource + by the persistence provider. + + + + + + + + + + + + Jar file that is to be scanned for managed classes. + + + + + + + + + + + + Managed class to be included in the persistence unit and + to scan for annotations. It should be annotated + with either @Entity, @Embeddable or @MappedSuperclass. + + + + + + + + + + + + When set to true then only listed classes and jars will + be scanned for persistent classes, otherwise the + enclosing jar or directory will also be scanned. + Not applicable to Java SE persistence units. + + + + + + + + + + + + Defines whether caching is enabled for the + persistence unit if caching is supported by the + persistence provider. When set to ALL, all entities + will be cached. When set to NONE, no entities will + be cached. When set to ENABLE_SELECTIVE, only entities + specified as cacheable will be cached. When set to + DISABLE_SELECTIVE, entities specified as not cacheable + will not be cached. When not specified or when set to + UNSPECIFIED, provider defaults may apply. + + + + + + + + + + + + The validation mode to be used for the persistence unit. + + + + + + + + + + + + + A list of standard and vendor-specific properties + and hints. + + + + + + + + + A name-value pair. + + + + + + + + + + + + + + + + + + + + Name used in code to reference this persistence unit. + + + + + + + + + + + + Type of transactions used by EntityManagers from this + persistence unit. + + + + + + + + + + + + + + + + + + + public enum PersistenceUnitTransactionType {JTA, RESOURCE_LOCAL}; + + + + + + + + + + + + + + + + public enum SharedCacheMode { ALL, NONE, ENABLE_SELECTIVE, DISABLE_SELECTIVE, UNSPECIFIED}; + + + + + + + + + + + + + + + + + + + public enum ValidationMode { AUTO, CALLBACK, NONE}; + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_1.xsd new file mode 100644 index 0000000000..01d5149029 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/persistence_2_1.xsd @@ -0,0 +1,354 @@ + + + + + + + @(#)persistence_2_1.xsd 2.1 February 4, 2013 + + + + + + + Copyright (c) 2008 - 2013 Oracle Corporation. All rights reserved. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + which accompanies this distribution. + The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + and the Eclipse Distribution License is available at + http://www.eclipse.org/org/documents/edl-v10.php. + + Contributors: + Linda DeMichiel - Java Persistence 2.1, Version 2.1 (February 4, 2013) + Specification available from http://jcp.org/en/jsr/detail?id=338 + + + + + + + ... + + + ]]> + + + + + + + + + + + + + + + + + + + + + + Configuration of a persistence unit. + + + + + + + + + + + + Description of this persistence unit. + + + + + + + + + + + + Provider class that supplies EntityManagers for this + persistence unit. + + + + + + + + + + + + The container-specific name of the JTA datasource to use. + + + + + + + + + + + + The container-specific name of a non-JTA datasource to use. + + + + + + + + + + + + File containing mapping information. Loaded as a resource + by the persistence provider. + + + + + + + + + + + + Jar file that is to be scanned for managed classes. + + + + + + + + + + + + Managed class to be included in the persistence unit and + to scan for annotations. It should be annotated + with either @Entity, @Embeddable or @MappedSuperclass. + + + + + + + + + + + + When set to true then only listed classes and jars will + be scanned for persistent classes, otherwise the + enclosing jar or directory will also be scanned. + Not applicable to Java SE persistence units. + + + + + + + + + + + + Defines whether caching is enabled for the + persistence unit if caching is supported by the + persistence provider. When set to ALL, all entities + will be cached. When set to NONE, no entities will + be cached. When set to ENABLE_SELECTIVE, only entities + specified as cacheable will be cached. When set to + DISABLE_SELECTIVE, entities specified as not cacheable + will not be cached. When not specified or when set to + UNSPECIFIED, provider defaults may apply. + + + + + + + + + + + + The validation mode to be used for the persistence unit. + + + + + + + + + + + + + A list of standard and vendor-specific properties + and hints. + + + + + + + + + A name-value pair. + + + + + + + + + + + + + + + + + + + + Name used in code to reference this persistence unit. + + + + + + + + + + + + Type of transactions used by EntityManagers from this + persistence unit. + + + + + + + + + + + + + + + + + + + public enum PersistenceUnitTransactionType {JTA, RESOURCE_LOCAL}; + + + + + + + + + + + + + + + + public enum SharedCacheMode { ALL, NONE, ENABLE_SELECTIVE, DISABLE_SELECTIVE, UNSPECIFIED}; + + + + + + + + + + + + + + + + + + + public enum ValidationMode { AUTO, CALLBACK, NONE}; + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-app_2_5.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-app_2_5.xsd new file mode 100644 index 0000000000..e99c6206d5 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-app_2_5.xsd @@ -0,0 +1,1275 @@ + + + + + @(#)web-app_2_5.xsds 1.68 07/03/09 + + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + + The web-app element is the root of the deployment + descriptor for a web application. Note that the sub-elements + of this element can be in the arbitrary order. Because of + that, the multiplicity of the elements of distributable, + session-config, welcome-file-list, jsp-config, login-config, + and locale-encoding-mapping-list was changed from "?" to "*" + in this schema. However, the deployment descriptor instance + file must not contain multiple elements of session-config, + jsp-config, and login-config. When there are multiple elements of + welcome-file-list or locale-encoding-mapping-list, the container + must concatenate the element contents. The multiple occurence + of the element distributable is redundant and the container + treats that case exactly in the same way when there is only + one distributable. + + + + + + + + + The servlet element contains the name of a servlet. + The name must be unique within the web application. + + + + + + + + + + + + The filter element contains the name of a filter. + The name must be unique within the web application. + + + + + + + + + + + + The ejb-local-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + + The message-destination-ref-name element specifies the name of + a message destination reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within a web application. + + + + + + + + + + + + The env-entry-name element contains the name of a web + application's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name + must be unique within a web application. + + + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + The auth-constraintType indicates the user roles that + should be permitted access to this resource + collection. The role-name used here must either correspond + to the role-name of one of the security-role elements + defined for this web application, or be the specially + reserved role-name "*" that is a compact syntax for + indicating all roles in the web application. If both "*" + and rolenames appear, the container interprets this as all + roles. If no roles are defined, no user is allowed access + to the portion of the web application described by the + containing security-constraint. The container matches + role names case sensitively when determining access. + + + + + + + + + + + + + + + + + + The auth-methodType is used to configure the authentication + mechanism for the web application. As a prerequisite to + gaining access to any web resources which are protected by + an authorization constraint, a user must have authenticated + using the configured mechanism. Legal values are "BASIC", + "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific + authentication scheme. + + Used in: login-config + + + + + + + + + + + + + + + + The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE, + and ERROR. A value of FORWARD means the Filter will be applied + under RequestDispatcher.forward() calls. A value of REQUEST + means the Filter will be applied under ordinary client calls to + the path or servlet. A value of INCLUDE means the Filter will be + applied under RequestDispatcher.include() calls. A value of + ERROR means the Filter will be applied under the error page + mechanism. The absence of any dispatcher elements in a + filter-mapping indicates a default of applying filters only under + ordinary client calls to the path or servlet. + + + + + + + + + + + + + + + + + + + + + The encodingType defines IANA character sets. + + + + + + + + + + + + + + + + The error-code contains an HTTP error code, ex: 404 + + Used in: error-page + + + + + + + + + + + + + + + + + + + The error-pageType contains a mapping between an error code + or exception type to the path of a resource in the web + application. + + Used in: web-app + + + + + + + + + + + + + The exception-type contains a fully qualified class + name of a Java exception type. + + + + + + + + + + + The location element contains the location of the + resource in the web application relative to the root of + the web application. The value of the location must have + a leading `/'. + + + + + + + + + + + + + + + Declaration of the filter mappings in this web + application is done by using filter-mappingType. + The container uses the filter-mapping + declarations to decide which filters to apply to a request, + and in what order. The container matches the request URI to + a Servlet in the normal way. To determine which filters to + apply it matches filter-mapping declarations either on + servlet-name, or on url-pattern for each filter-mapping + element, depending on which style is used. The order in + which filters are invoked is the order in which + filter-mapping declarations that match a request URI for a + servlet appear in the list of filter-mapping elements.The + filter-name value must be the value of the filter-name + sub-elements of one of the filter declarations in the + deployment descriptor. + + + + + + + + + + + + + + + + + + + + + + The logical name of the filter is declare + by using filter-nameType. This name is used to map the + filter. Each filter name is unique within the web + application. + + Used in: filter, filter-mapping + + + + + + + + + + + + + + + + The filterType is used to declare a filter in the web + application. The filter is mapped to either a servlet or a + URL pattern in the filter-mapping element, using the + filter-name value to reference. Filters can access the + initialization parameters declared in the deployment + descriptor at runtime via the FilterConfig interface. + + Used in: web-app + + + + + + + + + + + + The fully qualified classname of the filter. + + + + + + + + + + The init-param element contains a name/value pair as + an initialization param of a servlet filter + + + + + + + + + + + + + + + The form-login-configType specifies the login and error + pages that should be used in form based login. If form based + authentication is not used, these elements are ignored. + + Used in: login-config + + + + + + + + + + + The form-login-page element defines the location in the web + app where the page that can be used for login can be + found. The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + + The form-error-page element defines the location in + the web app where the error page that is displayed + when login is not successful can be found. + The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + + + + + + + + + A HTTP method type as defined in HTTP 1.1 section 2.2. + + + + + + + + + + + + + + + + + + + + + + + The locale-encoding-mapping-list contains one or more + locale-encoding-mapping(s). + + + + + + + + + + + + + + + + + The locale-encoding-mapping contains locale name and + encoding name. The locale name must be either "Language-code", + such as "ja", defined by ISO-639 or "Language-code_Country-code", + such as "ja_JP". "Country code" is defined by ISO-3166. + + + + + + + + + + + + + + + + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166. + + + + + + + + + + + + + + + + The login-configType is used to configure the authentication + method that should be used, the realm name that should be + used for this application, and the attributes that are + needed by the form login mechanism. + + Used in: web-app + + + + + + + + + + + The realm name element specifies the realm name to + use in HTTP Basic authorization. + + + + + + + + + + + + + + + + The mime-mappingType defines a mapping between an extension + and a mime type. + + Used in: web-app + + + + + + + + + The extension element contains a string describing an + extension. example: "txt" + + + + + + + + + + + + + + + + + The mime-typeType is used to indicate a defined mime type. + + Example: + "text/plain" + + Used in: mime-mapping + + + + + + + + + + + + + + + + + This type defines a string which contains at least one + character. + + + + + + + + + + + + + + + + + + + + + + + + The security-constraintType is used to associate + security constraints with one or more web resource + collections + + Used in: web-app + + + + + + + + + + + + + + + + + + + + The servlet-mappingType defines a mapping between a + servlet and a url pattern. + + Used in: web-app + + + + + + + + + + + + + + + + + + The servlet-name element contains the canonical name of the + servlet. Each servlet name is unique within the web + application. + + + + + + + + + + + + + + + + The servletType is used to declare a servlet. + It contains the declarative data of a + servlet. If a jsp-file is specified and the load-on-startup + element is present, then the JSP should be precompiled and + loaded. + + Used in: web-app + + + + + + + + + + + + + The servlet-class element contains the fully + qualified class name of the servlet. + + + + + + + + + + + + + + + The load-on-startup element indicates that this + servlet should be loaded (instantiated and have + its init() called) on the startup of the web + application. The optional contents of these + element must be an integer indicating the order in + which the servlet should be loaded. If the value + is a negative integer, or the element is not + present, the container is free to load the servlet + whenever it chooses. If the value is a positive + integer or 0, the container must load and + initialize the servlet as the application is + deployed. The container must guarantee that + servlets marked with lower integers are loaded + before servlets marked with higher integers. The + container may choose the order of loading of + servlets with the same load-on-start-up value. + + + + + + + + + + + + + + + + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + + + + + + + + + The session-timeout element defines the default + session timeout interval for all sessions created + in this web application. The specified timeout + must be expressed in a whole number of minutes. + If the timeout is 0 or less, the container ensures + the default behaviour of sessions is never to time + out. If this element is not specified, the container + must set its default timeout period. + + + + + + + + + + + + + + + The transport-guaranteeType specifies that the communication + between client and server should be NONE, INTEGRAL, or + CONFIDENTIAL. NONE means that the application does not + require any transport guarantees. A value of INTEGRAL means + that the application requires that the data sent between the + client and server be sent in such a way that it can't be + changed in transit. CONFIDENTIAL means that the application + requires that the data be transmitted in a fashion that + prevents other entities from observing the contents of the + transmission. In most cases, the presence of the INTEGRAL or + CONFIDENTIAL flag will indicate that the use of SSL is + required. + + Used in: user-data-constraint + + + + + + + + + + + + + + + + + + + + The user-data-constraintType is used to indicate how + data communicated between the client and container should be + protected. + + Used in: security-constraint + + + + + + + + + + + + + + + + + + The elements that use this type designate a path starting + with a "/" and interpreted relative to the root of a WAR + file. + + + + + + + + + + + + + + + + + This type contains the recognized versions of + web-application supported. It is used to designate the + version of the web application. + + + + + + + + + + + + + + + + + + + + + The context-param element contains the declaration + of a web application's servlet context + initialization parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + The web-resource-collectionType is used to identify a subset + of the resources and HTTP methods on those resources within + a web application to which a security constraint applies. If + no HTTP methods are specified, then the security constraint + applies to all HTTP methods. + + Used in: security-constraint + + + + + + + + + + The web-resource-name contains the name of this web + resource collection. + + + + + + + + + + + + + + + + + + The welcome-file-list contains an ordered list of welcome + files elements. + + Used in: web-app + + + + + + + + + + The welcome-file element contains file name to use + as a default welcome file, such as index.html + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_0.xsd new file mode 100644 index 0000000000..bbcdf43cd3 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_0.xsd @@ -0,0 +1,272 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The web-app element is the root of the deployment + descriptor for a web application. Note that the sub-elements + of this element can be in the arbitrary order. Because of + that, the multiplicity of the elements of distributable, + session-config, welcome-file-list, jsp-config, login-config, + and locale-encoding-mapping-list was changed from "?" to "*" + in this schema. However, the deployment descriptor instance + file must not contain multiple elements of session-config, + jsp-config, and login-config. When there are multiple elements of + welcome-file-list or locale-encoding-mapping-list, the container + must concatenate the element contents. The multiple occurence + of the element distributable is redundant and the container + treats that case exactly in the same way when there is only + one distributable. + + + + + + + + The servlet element contains the name of a servlet. + The name must be unique within the web application. + + + + + + + + + + + The filter element contains the name of a filter. + The name must be unique within the web application. + + + + + + + + + + + The ejb-local-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The message-destination-ref-name element specifies the name of + a message destination reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within a web application. + + + + + + + + + + + The env-entry-name element contains the name of a web + application's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name + must be unique within a web application. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_1.xsd new file mode 100644 index 0000000000..898f1b351c --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-app_3_1.xsd @@ -0,0 +1,326 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The web-app element is the root of the deployment + descriptor for a web application. Note that the sub-elements + of this element can be in the arbitrary order. Because of + that, the multiplicity of the elements of distributable, + session-config, welcome-file-list, jsp-config, login-config, + and locale-encoding-mapping-list was changed from "?" to "*" + in this schema. However, the deployment descriptor instance + file must not contain multiple elements of session-config, + jsp-config, and login-config. When there are multiple elements of + welcome-file-list or locale-encoding-mapping-list, the container + must concatenate the element contents. The multiple occurence + of the element distributable is redundant and the container + treats that case exactly in the same way when there is only + one distributable. + + + + + + + + The servlet element contains the name of a servlet. + The name must be unique within the web application. + + + + + + + + + + + The filter element contains the name of a filter. + The name must be unique within the web application. + + + + + + + + + + + The ejb-local-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The message-destination-ref-name element specifies the name of + a message destination reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within a web application. + + + + + + + + + + + The env-entry-name element contains the name of a web + application's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name + must be unique within a web application. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + + + + + When specified, this element causes uncovered http methods + to be denied. For every url-pattern that is the target of a + security-constrant, this element causes all HTTP methods that + are NOT covered (by a security constraint) at the url-pattern + to be denied. + + + + + + + + + + + + + + + + + Please see section 8.2.2 of the specification for details. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_0.xsd new file mode 100644 index 0000000000..f994bc2c65 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_0.xsd @@ -0,0 +1,1575 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + + + + The context-param element contains the declaration + of a web application's servlet context + initialization parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The auth-constraintType indicates the user roles that + should be permitted access to this resource + collection. The role-name used here must either correspond + to the role-name of one of the security-role elements + defined for this web application, or be the specially + reserved role-name "*" that is a compact syntax for + indicating all roles in the web application. If both "*" + and rolenames appear, the container interprets this as all + roles. If no roles are defined, no user is allowed access + to the portion of the web application described by the + containing security-constraint. The container matches + role names case sensitively when determining access. + + + + + + + + + + + + + + + + + + The auth-methodType is used to configure the authentication + mechanism for the web application. As a prerequisite to + gaining access to any web resources which are protected by + an authorization constraint, a user must have authenticated + using the configured mechanism. Legal values are "BASIC", + "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific + authentication scheme. + + Used in: login-config + + + + + + + + + + + + + + + + The dispatcher has five legal values: FORWARD, REQUEST, + INCLUDE, ASYNC, and ERROR. + + A value of FORWARD means the Filter will be applied under + RequestDispatcher.forward() calls. + A value of REQUEST means the Filter will be applied under + ordinary client calls to the path or servlet. + A value of INCLUDE means the Filter will be applied under + RequestDispatcher.include() calls. + A value of ASYNC means the Filter will be applied under + calls dispatched from an AsyncContext. + A value of ERROR means the Filter will be applied under the + error page mechanism. + + The absence of any dispatcher elements in a filter-mapping + indicates a default of applying filters only under ordinary + client calls to the path or servlet. + + + + + + + + + + + + + + + + + + + + + + The error-code contains an HTTP error code, ex: 404 + + Used in: error-page + + + + + + + + + + + + + + + + + + + The error-pageType contains a mapping between an error code + or exception type to the path of a resource in the web + application. + + Error-page declarations using the exception-type element in + the deployment descriptor must be unique up to the class name of + the exception-type. Similarly, error-page declarations using the + status-code element must be unique in the deployment descriptor + up to the status code. + + Used in: web-app + + + + + + + + + + + The exception-type contains a fully qualified class + name of a Java exception type. + + + + + + + + + + The location element contains the location of the + resource in the web application relative to the root of + the web application. The value of the location must have + a leading `/'. + + + + + + + + + + + + + + + + The filterType is used to declare a filter in the web + application. The filter is mapped to either a servlet or a + URL pattern in the filter-mapping element, using the + filter-name value to reference. Filters can access the + initialization parameters declared in the deployment + descriptor at runtime via the FilterConfig interface. + + Used in: web-app + + + + + + + + + + + The fully qualified classname of the filter. + + + + + + + + + + The init-param element contains a name/value pair as + an initialization param of a servlet filter + + + + + + + + + + + + + + + + Declaration of the filter mappings in this web + application is done by using filter-mappingType. + The container uses the filter-mapping + declarations to decide which filters to apply to a request, + and in what order. The container matches the request URI to + a Servlet in the normal way. To determine which filters to + apply it matches filter-mapping declarations either on + servlet-name, or on url-pattern for each filter-mapping + element, depending on which style is used. The order in + which filters are invoked is the order in which + filter-mapping declarations that match a request URI for a + servlet appear in the list of filter-mapping elements.The + filter-name value must be the value of the filter-name + sub-elements of one of the filter declarations in the + deployment descriptor. + + + + + + + + + + + + + + + + + + + + + + This type defines a string which contains at least one + character. + + + + + + + + + + + + + + + + + + The logical name of the filter is declare + by using filter-nameType. This name is used to map the + filter. Each filter name is unique within the web + application. + + Used in: filter, filter-mapping + + + + + + + + + + + + + + + + The form-login-configType specifies the login and error + pages that should be used in form based login. If form based + authentication is not used, these elements are ignored. + + Used in: login-config + + + + + + + + + The form-login-page element defines the location in the web + app where the page that can be used for login can be + found. The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + The form-error-page element defines the location in + the web app where the error page that is displayed + when login is not successful can be found. + The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + + + + + A HTTP method type as defined in HTTP 1.1 section 2.2. + + + + + + + + + + + + + + + + + + + + + + + + + + The login-configType is used to configure the authentication + method that should be used, the realm name that should be + used for this application, and the attributes that are + needed by the form login mechanism. + + Used in: web-app + + + + + + + + + + The realm name element specifies the realm name to + use in HTTP Basic authorization. + + + + + + + + + + + + + + + + + The mime-mappingType defines a mapping between an extension + and a mime type. + + Used in: web-app + + + + + + + + The extension element contains a string describing an + extension. example: "txt" + + + + + + + + + + + + + + + + + The mime-typeType is used to indicate a defined mime type. + + Example: + "text/plain" + + Used in: mime-mapping + + + + + + + + + + + + + + + + + + The security-constraintType is used to associate + security constraints with one or more web resource + collections + + Used in: web-app + + + + + + + + + + + + + + + + + + + + The servletType is used to declare a servlet. + It contains the declarative data of a + servlet. If a jsp-file is specified and the load-on-startup + element is present, then the JSP should be precompiled and + loaded. + + Used in: web-app + + + + + + + + + + + + The servlet-class element contains the fully + qualified class name of the servlet. + + + + + + + + + + + + The load-on-startup element indicates that this + servlet should be loaded (instantiated and have + its init() called) on the startup of the web + application. The optional contents of these + element must be an integer indicating the order in + which the servlet should be loaded. If the value + is a negative integer, or the element is not + present, the container is free to load the servlet + whenever it chooses. If the value is a positive + integer or 0, the container must load and + initialize the servlet as the application is + deployed. The container must guarantee that + servlets marked with lower integers are loaded + before servlets marked with higher integers. The + container may choose the order of loading of + servlets with the same load-on-start-up value. + + + + + + + + + + + + + + + + + + + + + The servlet-mappingType defines a mapping between a + servlet and a url pattern. + + Used in: web-app + + + + + + + + + + + + + + + + + + The servlet-name element contains the canonical name of the + servlet. Each servlet name is unique within the web + application. + + + + + + + + + + + + + + + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + + + + + + + + The session-timeout element defines the default + session timeout interval for all sessions created + in this web application. The specified timeout + must be expressed in a whole number of minutes. + If the timeout is 0 or less, the container ensures + the default behaviour of sessions is never to time + out. If this element is not specified, the container + must set its default timeout period. + + + + + + + + + The cookie-config element defines the configuration of the + session tracking cookies created by this web application. + + + + + + + + + The tracking-mode element defines the tracking modes + for sessions created by this web application + + + + + + + + + + + + + + + + The cookie-configType defines the configuration for the + session tracking cookies of this web application. + + Used in: session-config + + + + + + + + + The name that will be assigned to any session tracking + cookies created by this web application. + The default is JSESSIONID + + + + + + + + + The domain name that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + The path that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + The comment that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + Specifies whether any session tracking cookies created + by this web application will be marked as HttpOnly + + + + + + + + + Specifies whether any session tracking cookies created + by this web application will be marked as secure + even if the request that initiated the corresponding session + is using plain HTTP instead of HTTPS + + + + + + + + + The lifetime (in seconds) that will be assigned to any + session tracking cookies created by this web application. + Default is -1 + + + + + + + + + + + + + + + + The name that will be assigned to any session tracking + cookies created by this web application. + The default is JSESSIONID + + Used in: cookie-config + + + + + + + + + + + + + + + + The domain name that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The path that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The comment that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The tracking modes for sessions created by this web + application + + Used in: session-config + + + + + + + + + + + + + + + + + + + + The transport-guaranteeType specifies that the communication + between client and server should be NONE, INTEGRAL, or + CONFIDENTIAL. NONE means that the application does not + require any transport guarantees. A value of INTEGRAL means + that the application requires that the data sent between the + client and server be sent in such a way that it can't be + changed in transit. CONFIDENTIAL means that the application + requires that the data be transmitted in a fashion that + prevents other entities from observing the contents of the + transmission. In most cases, the presence of the INTEGRAL or + CONFIDENTIAL flag will indicate that the use of SSL is + required. + + Used in: user-data-constraint + + + + + + + + + + + + + + + + + + + + The user-data-constraintType is used to indicate how + data communicated between the client and container should be + protected. + + Used in: security-constraint + + + + + + + + + + + + + + + + + + The elements that use this type designate a path starting + with a "/" and interpreted relative to the root of a WAR + file. + + + + + + + + + + + + + + + This type contains the recognized versions of + web-application supported. It is used to designate the + version of the web application. + + + + + + + + + + + + + + + + The web-resource-collectionType is used to identify the + resources and HTTP methods on those resources to which a + security constraint applies. If no HTTP methods are specified, + then the security constraint applies to all HTTP methods. + If HTTP methods are specified by http-method-omission + elements, the security constraint applies to all methods + except those identified in the collection. + http-method-omission and http-method elements are never + mixed in the same collection. + + Used in: security-constraint + + + + + + + + + The web-resource-name contains the name of this web + resource collection. + + + + + + + + + + + + Each http-method names an HTTP method to which the + constraint applies. + + + + + + + + + Each http-method-omission names an HTTP method to + which the constraint does not apply. + + + + + + + + + + + + + + + + + The welcome-file-list contains an ordered list of welcome + files elements. + + Used in: web-app + + + + + + + + + The welcome-file element contains file name to use + as a default welcome file, such as index.html + + + + + + + + + + + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166. + + + + + + + + + + + + + The encodingType defines IANA character sets. + + + + + + + + + + + + + + + + The locale-encoding-mapping-list contains one or more + locale-encoding-mapping(s). + + + + + + + + + + + + + + + + + The locale-encoding-mapping contains locale name and + encoding name. The locale name must be either "Language-code", + such as "ja", defined by ISO-639 or "Language-code_Country-code", + such as "ja_JP". "Country code" is defined by ISO-3166. + + + + + + + + + + + + + + + + + + This element indicates that the ordering sub-element in which + it was placed should take special action regarding the ordering + of this application resource relative to other application + configuration resources. + See section 8.2.2 of the specification for details. + + + + + + + + + + + + + + Please see section 8.2.2 of the specification for details. + + + + + + + + + + + + + + + + + Please see section 8.2.2 of the specification for details. + + + + + + + + + + + + + + + + + This element contains a sequence of "name" elements, each of + which + refers to an application configuration resource by the "name" + declared on its web.xml fragment. This element can also contain + a single "others" element which specifies that this document + comes + before or after other documents within the application. + See section 8.2.2 of the specification for details. + + + + + + + + + + + + + + + + + This element specifies configuration information related to the + handling of multipart/form-data requests. + + + + + + + + + The directory location where uploaded files will be stored + + + + + + + + + The maximum size limit of uploaded files + + + + + + + + + The maximum size limit of multipart/form-data requests + + + + + + + + + The size threshold after which an uploaded file will be + written to disk + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_1.xsd new file mode 100644 index 0000000000..01b3948417 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-common_3_1.xsd @@ -0,0 +1,1474 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/web-common_3_1.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + + + + The context-param element contains the declaration + of a web application's servlet context + initialization parameters. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The metadata-complete attribute defines whether this + deployment descriptor and other related deployment + descriptors for this module (e.g., web service + descriptors) are complete, or whether the class + files available to this module and packaged with + this application should be examined for annotations + that specify deployment information. + + If metadata-complete is set to "true", the deployment + tool must ignore any annotations that specify deployment + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the deployment tool must examine the class + files of the application for annotations, as + specified by the specifications. + + + + + + + + + + + + + + The auth-constraintType indicates the user roles that + should be permitted access to this resource + collection. The role-name used here must either correspond + to the role-name of one of the security-role elements + defined for this web application, or be the specially + reserved role-name "*" that is a compact syntax for + indicating all roles in the web application. If both "*" + and rolenames appear, the container interprets this as all + roles. If no roles are defined, no user is allowed access + to the portion of the web application described by the + containing security-constraint. The container matches + role names case sensitively when determining access. + + + + + + + + + + + + + + + + + + The auth-methodType is used to configure the authentication + mechanism for the web application. As a prerequisite to + gaining access to any web resources which are protected by + an authorization constraint, a user must have authenticated + using the configured mechanism. Legal values are "BASIC", + "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific + authentication scheme. + + Used in: login-config + + + + + + + + + + + + + + + + The dispatcher has five legal values: FORWARD, REQUEST, + INCLUDE, ASYNC, and ERROR. + + A value of FORWARD means the Filter will be applied under + RequestDispatcher.forward() calls. + A value of REQUEST means the Filter will be applied under + ordinary client calls to the path or servlet. + A value of INCLUDE means the Filter will be applied under + RequestDispatcher.include() calls. + A value of ASYNC means the Filter will be applied under + calls dispatched from an AsyncContext. + A value of ERROR means the Filter will be applied under the + error page mechanism. + + The absence of any dispatcher elements in a filter-mapping + indicates a default of applying filters only under ordinary + client calls to the path or servlet. + + + + + + + + + + + + + + + + + + + + + + The error-code contains an HTTP error code, ex: 404 + + Used in: error-page + + + + + + + + + + + + + + + + + + + The error-pageType contains a mapping between an error code + or exception type to the path of a resource in the web + application. + + Error-page declarations using the exception-type element in + the deployment descriptor must be unique up to the class name of + the exception-type. Similarly, error-page declarations using the + error-code element must be unique in the deployment descriptor + up to the status code. + + If an error-page element in the deployment descriptor does not + contain an exception-type or an error-code element, the error + page is a default error page. + + Used in: web-app + + + + + + + + + + + The exception-type contains a fully qualified class + name of a Java exception type. + + + + + + + + + + The location element contains the location of the + resource in the web application relative to the root of + the web application. The value of the location must have + a leading `/'. + + + + + + + + + + + + + + + + The filterType is used to declare a filter in the web + application. The filter is mapped to either a servlet or a + URL pattern in the filter-mapping element, using the + filter-name value to reference. Filters can access the + initialization parameters declared in the deployment + descriptor at runtime via the FilterConfig interface. + + Used in: web-app + + + + + + + + + + + The fully qualified classname of the filter. + + + + + + + + + + The init-param element contains a name/value pair as + an initialization param of a servlet filter + + + + + + + + + + + + + + + + Declaration of the filter mappings in this web + application is done by using filter-mappingType. + The container uses the filter-mapping + declarations to decide which filters to apply to a request, + and in what order. The container matches the request URI to + a Servlet in the normal way. To determine which filters to + apply it matches filter-mapping declarations either on + servlet-name, or on url-pattern for each filter-mapping + element, depending on which style is used. The order in + which filters are invoked is the order in which + filter-mapping declarations that match a request URI for a + servlet appear in the list of filter-mapping elements.The + filter-name value must be the value of the filter-name + sub-elements of one of the filter declarations in the + deployment descriptor. + + + + + + + + + + + + + + + + + + + + + + This type defines a string which contains at least one + character. + + + + + + + + + + + + + + + + + + The logical name of the filter is declare + by using filter-nameType. This name is used to map the + filter. Each filter name is unique within the web + application. + + Used in: filter, filter-mapping + + + + + + + + + + + + + + + + The form-login-configType specifies the login and error + pages that should be used in form based login. If form based + authentication is not used, these elements are ignored. + + Used in: login-config + + + + + + + + + The form-login-page element defines the location in the web + app where the page that can be used for login can be + found. The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + The form-error-page element defines the location in + the web app where the error page that is displayed + when login is not successful can be found. + The path begins with a leading / and is interpreted + relative to the root of the WAR. + + + + + + + + + + + + + A HTTP method type as defined in HTTP 1.1 section 2.2. + + + + + + + + + + + + + + + + + + + + + + + + + + The login-configType is used to configure the authentication + method that should be used, the realm name that should be + used for this application, and the attributes that are + needed by the form login mechanism. + + Used in: web-app + + + + + + + + + + The realm name element specifies the realm name to + use in HTTP Basic authorization. + + + + + + + + + + + + + + + + + The mime-mappingType defines a mapping between an extension + and a mime type. + + Used in: web-app + + + + + + + + The extension element contains a string describing an + extension. example: "txt" + + + + + + + + + + + + + + + + + The mime-typeType is used to indicate a defined mime type. + + Example: + "text/plain" + + Used in: mime-mapping + + + + + + + + + + + + + + + + + + The security-constraintType is used to associate + security constraints with one or more web resource + collections + + Used in: web-app + + + + + + + + + + + + + + + + + + + + The servletType is used to declare a servlet. + It contains the declarative data of a + servlet. If a jsp-file is specified and the load-on-startup + element is present, then the JSP should be precompiled and + loaded. + + Used in: web-app + + + + + + + + + + + + The servlet-class element contains the fully + qualified class name of the servlet. + + + + + + + + + + + + The load-on-startup element indicates that this + servlet should be loaded (instantiated and have + its init() called) on the startup of the web + application. The optional contents of these + element must be an integer indicating the order in + which the servlet should be loaded. If the value + is a negative integer, or the element is not + present, the container is free to load the servlet + whenever it chooses. If the value is a positive + integer or 0, the container must load and + initialize the servlet as the application is + deployed. The container must guarantee that + servlets marked with lower integers are loaded + before servlets marked with higher integers. The + container may choose the order of loading of + servlets with the same load-on-start-up value. + + + + + + + + + + + + + + + + + + + + + The servlet-mappingType defines a mapping between a + servlet and a url pattern. + + Used in: web-app + + + + + + + + + + + + + + + + + + The servlet-name element contains the canonical name of the + servlet. Each servlet name is unique within the web + application. + + + + + + + + + + + + + + + + The session-configType defines the session parameters + for this web application. + + Used in: web-app + + + + + + + + + The session-timeout element defines the default + session timeout interval for all sessions created + in this web application. The specified timeout + must be expressed in a whole number of minutes. + If the timeout is 0 or less, the container ensures + the default behaviour of sessions is never to time + out. If this element is not specified, the container + must set its default timeout period. + + + + + + + + + The cookie-config element defines the configuration of the + session tracking cookies created by this web application. + + + + + + + + + The tracking-mode element defines the tracking modes + for sessions created by this web application + + + + + + + + + + + + + + + + The cookie-configType defines the configuration for the + session tracking cookies of this web application. + + Used in: session-config + + + + + + + + + The name that will be assigned to any session tracking + cookies created by this web application. + The default is JSESSIONID + + + + + + + + + The domain name that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + The path that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + The comment that will be assigned to any session tracking + cookies created by this web application. + + + + + + + + + Specifies whether any session tracking cookies created + by this web application will be marked as HttpOnly + + + + + + + + + Specifies whether any session tracking cookies created + by this web application will be marked as secure. + When true, all session tracking cookies must be marked + as secure independent of the nature of the request that + initiated the corresponding session. + When false, the session cookie should only be marked secure + if the request that initiated the session was secure. + + + + + + + + + The lifetime (in seconds) that will be assigned to any + session tracking cookies created by this web application. + Default is -1 + + + + + + + + + + + + + + + + The name that will be assigned to any session tracking + cookies created by this web application. + The default is JSESSIONID + + Used in: cookie-config + + + + + + + + + + + + + + + + The domain name that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The path that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The comment that will be assigned to any session tracking + cookies created by this web application. + + Used in: cookie-config + + + + + + + + + + + + + + + + The tracking modes for sessions created by this web + application + + Used in: session-config + + + + + + + + + + + + + + + + + + + + The transport-guaranteeType specifies that the communication + between client and server should be NONE, INTEGRAL, or + CONFIDENTIAL. NONE means that the application does not + require any transport guarantees. A value of INTEGRAL means + that the application requires that the data sent between the + client and server be sent in such a way that it can't be + changed in transit. CONFIDENTIAL means that the application + requires that the data be transmitted in a fashion that + prevents other entities from observing the contents of the + transmission. In most cases, the presence of the INTEGRAL or + CONFIDENTIAL flag will indicate that the use of SSL is + required. + + Used in: user-data-constraint + + + + + + + + + + + + + + + + + + + + The user-data-constraintType is used to indicate how + data communicated between the client and container should be + protected. + + Used in: security-constraint + + + + + + + + + + + + + + + + + + The elements that use this type designate a path starting + with a "/" and interpreted relative to the root of a WAR + file. + + + + + + + + + + + + + + + This type contains the recognized versions of + web-application supported. It is used to designate the + version of the web application. + + + + + + + + + + + + + + + + The web-resource-collectionType is used to identify the + resources and HTTP methods on those resources to which a + security constraint applies. If no HTTP methods are specified, + then the security constraint applies to all HTTP methods. + If HTTP methods are specified by http-method-omission + elements, the security constraint applies to all methods + except those identified in the collection. + http-method-omission and http-method elements are never + mixed in the same collection. + + Used in: security-constraint + + + + + + + + + The web-resource-name contains the name of this web + resource collection. + + + + + + + + + + + + Each http-method names an HTTP method to which the + constraint applies. + + + + + + + + + Each http-method-omission names an HTTP method to + which the constraint does not apply. + + + + + + + + + + + + + + + + + The welcome-file-list contains an ordered list of welcome + files elements. + + Used in: web-app + + + + + + + + + The welcome-file element contains file name to use + as a default welcome file, such as index.html + + + + + + + + + + + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166. + + + + + + + + + + + + + The encodingType defines IANA character sets. + + + + + + + + + + + + + + + + The locale-encoding-mapping-list contains one or more + locale-encoding-mapping(s). + + + + + + + + + + + + + + + + + The locale-encoding-mapping contains locale name and + encoding name. The locale name must be either "Language-code", + such as "ja", defined by ISO-639 or "Language-code_Country-code", + such as "ja_JP". "Country code" is defined by ISO-3166. + + + + + + + + + + + + + + + + + + This element indicates that the ordering sub-element in which + it was placed should take special action regarding the ordering + of this application resource relative to other application + configuration resources. + See section 8.2.2 of the specification for details. + + + + + + + + + + + + + + This element specifies configuration information related to the + handling of multipart/form-data requests. + + + + + + + + + The directory location where uploaded files will be stored + + + + + + + + + The maximum size limit of uploaded files + + + + + + + + + The maximum size limit of multipart/form-data requests + + + + + + + + + The size threshold after which an uploaded file will be + written to disk + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_0.xsd new file mode 100644 index 0000000000..61d3497aff --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_0.xsd @@ -0,0 +1,598 @@ + + + + + + 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. + + + + + + + + + ... + + + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_0.xsd + + ]]> + + + + + + + + + + + + + + tag-names must be unique within a document. + + + + + + + + + + + Behavior IDs must be unique within a document. + + + + + + + + + + + Converter IDs must be unique within a document. + + + + + + + + + + + Validator IDs must be unique within a document. + + + + + + + + + + + + + + + + The top level XML element in a facelet tag library XML file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension element for facelet-taglib. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + If the tag library XML file contains individual tag + declarations rather than pointing to a library-class or a + declaring a composite-library name, the individual tags are + enclosed in tag elements. + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + type the type of the attribute + + + + + + + + + + + Defines if the nesting attribute is required or + optional. + + If not present then the default is "false", i.e + the attribute is optional. + + + + + + + + + + + + Defines the Java type of the attributes value. + If this element is omitted, the expected type is + assumed to be "java.lang.Object". + + + + + + + + + + + + + + + + + + + Extension element for tag It may contain + implementation specific content. + + + + + + + + + + + + + + + + + If the tag library XML file contains individual function + declarations rather than pointing to a library-class or a + declaring a composite-library name, the individual functions are + enclosed in function elements. + + + + + + + + + + + + + + + + + + + Within a tag element, the behavior element encapsulates + information specific to a JSF Behavior. + + + + + + + + + + + + + + + + + + + Extension element for behavior. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + Within a tag element, the component element encapsulates + information specific to a JSF UIComponent. + + + + + + + + + + + + + + + + + + + + Extension element for component It may contain + implementation specific content. + + + + + + + + + + + + + + + + + Within a tag element, the converter element encapsulates + information specific to a JSF Converter. + + + + + + + + + + + + + + + + + + + Extension element for converter It may contain + implementation specific content. + + + + + + + + + + + + + + + + + Within a tag element, the validator element encapsulates + information specific to a JSF Validator. + + + + + + + + + + + + + + + + + + + Extension element for validator It may contain + implementation specific content. + + + + + + + + + + + + + + This type contains the recognized versions of + facelet-taglib supported. + + + + + + + + + + + + + + + + Defines the canonical name of a tag or attribute being + defined. + + The name must conform to the lexical rules for an NCName + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_2.xsd new file mode 100644 index 0000000000..779e014adc --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facelettaglibrary_2_2.xsd @@ -0,0 +1,684 @@ + + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2011-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. + + + + + + + The XML Schema for the Tag Libraries in the JavaServer Faces + Standard Facelets View Declaration Language (Facelets VDL) + (Version 2.2).

+ +

JSF 2.2 Facelet Tag Libraries that wish to conform to this + schema must declare it in the following manner.

+ + <facelet-taglib xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibary_2_2.xsd" + version="2.2"> + + ... + + </facelet-taglib> + +

The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location:

+ +

http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibary_2_2.xsd

+ + ]]> +
+
+ + + + + + + + + + tag-names must be unique within a document. + +

]]>
+
+ + +
+ + + + + Behavior IDs must be unique within a document. + +

]]>
+
+ + +
+ + + + + Converter IDs must be unique within a document. + +

]]>
+
+ + +
+ + + + + Validator IDs must be unique within a document. + +

]]>
+
+ + +
+
+ + + + + + + + + The top level XML element in a facelet tag library XML file. + +

]]>
+
+ + + + + + + + + + + An advisory short name for usages of tags from this tag library. + +

]]>
+
+
+ + + + + +
+
+ +
+ + +
+ + + + + + + + + Extension element for facelet-taglib. It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + + If the tag library XML + file contains individual tag declarations rather than pointing + to a library-class or a declaring a composite-library name, the + individual tags are enclosed in tag elements.

+ + ]]>
+
+ + + + + + + + + + + + + + +
+ + + + + + + + +

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 +

+ +
type

the type of the attribute +

+ +
+ +

]]>
+
+ + + + + + Defines if the nesting attribute is required or + optional.

+ +

If not present then the default is "false", i.e + the attribute is optional.

+ + ]]>
+
+
+ + + + + + Defines the Java type of the attributes + value. If this element is omitted, the + expected type is assumed to be + "java.lang.Object".

+ + ]]>
+
+
+ + + + + Defines the method signature for a MethodExpression- + enabled attribute. The syntax of the method-signature + element is as follows (taken from the function-signature + EBNF in web-jsptaglibrary_2_1.xsd):

+ + + +

MethodSignature ::= 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 )

+ +]]>
+
+
+
+
+ +
+ + + + + + + + + Extension element for tag It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + + + + If the tag library XML file contains individual function + declarations rather than pointing to a library-class or a + declaring a composite-library name, the individual functions are + enclosed in function elements. + +

]]>
+
+ + + + + + +
+ + + + + + + + + Within a tag element, the behavior element encapsulates + information specific to a JSF Behavior. + +

]]>
+
+ + + + + + +
+ + + + + + + + + Extension element for behavior. It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + + Within a tag element, + the component element encapsulates information specific to a JSF + UIComponent.

+ +
+ +

This element must have exactly one of +<component-type>, <resource-id>, +or <handler-class> among its child elements.

+ +
+ + ]]>
+
+ + + + + + + A valid resource identifier + as specified in the spec prose document section + 2.6.1.3. For example:

+ +

<resource-id>myCC/ccName.xhtml</resource-id>

+ + ]]>
+
+
+ +
+ + +
+
+ + + + + + + + + Extension element for component It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + + + + Within a tag element, the converter element encapsulates + information specific to a JSF Converter. + +

]]>
+
+ + + + + + +
+ + + + + + + + + Extension element for converter It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + + + + Within a tag element, the validator element encapsulates + information specific to a JSF Validator. + +

]]>
+
+ + + + + + +
+ + + + + + + + + Extension element for validator It may contain + implementation specific content. + +

]]>
+
+ + + + +
+ + + + + + This type contains the recognized versions of + facelet-taglib supported. + +

]]>
+
+ + + +
+ + + + + + + + +

Defines the canonical name of a tag or attribute being + defined.

+ +

The name must conform to the lexical rules for an NCName

+ +

]]>
+
+ + + + + +
+ +
diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_1_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_1_2.xsd new file mode 100644 index 0000000000..99dd0ccd10 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_1_2.xsd @@ -0,0 +1,2108 @@ + + + + + + + + + + $Id: web-facesconfig_1_2.xsd,v 1.14.4.1 2008/03/26 17:44:49 rlubke Exp $ + + + + + + + Copyright 2005 Sun Microsystems, Inc., + 901 San Antonio Road, + Palo Alto, California 94303, U.S.A. + All rights reserved. + + Sun Microsystems, Inc. has intellectual property + rights relating to technology described in this document. In + particular, and without limitation, these intellectual + property rights may include one or more of the U.S. patents + listed at http://www.sun.com/patents and one or more + additional patents or pending patent applications in the + U.S. and other countries. + + This document and the technology which it describes are + distributed under licenses restricting their use, copying, + distribution, and decompilation. No part of this document + may be reproduced in any form by any means without prior + written authorization of Sun and its licensors, if any. + + Third-party software, including font technology, is + copyrighted and licensed from Sun suppliers. + + Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE, + JavaServer Pages, Enterprise JavaBeans and the Java Coffee + Cup logo are trademarks or registered trademarks of Sun + Microsystems, Inc. in the U.S. and other countries. + + Federal Acquisitions: Commercial Software - Government Users + Subject to Standard License Terms and Conditions. + + + + + + + + + ... + + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd + + ]]> + + + + + + + + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings. + + + + + + + + + Converter IDs must be unique within a document. + + + + + + + + + + + + + 'converter-for-class' element values must be unique + within a document. + + + + + + + + + + + + + Validator IDs must be unique within a document. + + + + + + + + + + + + + Managed bean names must be unique within a document. + + + + + + + + + + + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension element for faces-config. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The "application" element provides a mechanism to define the + various per-application-singleton implementation artifacts for + a particular web application that is utilizing + JavaServer Faces. For nested elements that are not specified, + the JSF implementation must provide a suitable default. + + + + + + + + + + The "action-listener" element contains the fully + qualified class name of the concrete + ActionListener implementation class that will be + called during the Invoke Application phase of the + request processing lifecycle. + + + + + + + + + The "default-render-kit-id" element allows the + application to define a renderkit to be used other + than the standard one. + + + + + + + + + The base name of a resource bundle representing + the message resources for this application. See + the JavaDocs for the "java.util.ResourceBundle" + class for more information on the syntax of + resource bundle names. + + + + + + + + + The "navigation-handler" element contains the + fully qualified class name of the concrete + NavigationHandler implementation class that will + be called during the Invoke Application phase + of the request processing lifecycle, if the + default ActionListener (provided by the JSF + implementation) is used. + + + + + + + + + The "view-handler" element contains the fully + qualified class name of the concrete ViewHandler + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class. + + + + + + + + + The "state-manager" element contains the fully + qualified class name of the concrete StateManager + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class. + + + + + + + + + The "el-resolver" element contains the fully + qualified class name of the concrete + javax.el.ELResolver implementation class + that will be used during the processing of + EL expressions. + + + + + + + + + The "property-resolver" element contains the fully + qualified class name of the concrete + PropertyResolver implementation class that will + be used during the processing of value binding + expressions. + + + + + + + + + The "variable-resolver" element contains the fully + qualified class name of the concrete + VariableResolver implementation class that will + be used during the processing of value binding + expressions. + + + + + + + + + + + + + + + + The resource-bundle element inside the application element + references a java.util.ResourceBundle instance by name + using the var element. ResourceBundles referenced in this + manner may be returned by a call to + Application.getResourceBundle() passing the current + FacesContext for this request and the value of the var + element below. + + + + + + + + + + + The fully qualified class name of the + java.util.ResourceBundle instance. + + + + + + + + + The name by which this ResourceBundle instance + is retrieved by a call to + Application.getResourceBundle(). + + + + + + + + + + + + + + + Extension element for application. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The "factory" element provides a mechanism to define the + various Factories that comprise parts of the implementation + of JavaServer Faces. For nested elements that are not + specified, the JSF implementation must provide a suitable + default. + + + + + + + + + + The "application-factory" element contains the + fully qualified class name of the concrete + ApplicationFactory implementation class that will + be called when + FactoryFinder.getFactory(APPLICATION_FACTORY) is + called. + + + + + + + + + The "faces-context-factory" element contains the + fully qualified class name of the concrete + FacesContextFactory implementation class that will + be called when + FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) + is called. + + + + + + + + + The "lifecycle-factory" element contains the fully + qualified class name of the concrete LifecycleFactory + implementation class that will be called when + FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called. + + + + + + + + + The "render-kit-factory" element contains the fully + qualified class name of the concrete RenderKitFactory + implementation class that will be called when + FactoryFinder.getFactory(RENDER_KIT_FACTORY) is + called. + + + + + + + + + + + + + + + + Extension element for factory. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The "attribute" element represents a named, typed, value + associated with the parent UIComponent via the generic + attributes mechanism. + + Attribute names must be unique within the scope of the parent + (or related) component. + + + + + + + + + + + The "attribute-name" element represents the name under + which the corresponding value will be stored, in the + generic attributes of the UIComponent we are related + to. + + + + + + + + + The "attribute-class" element represents the Java type + of the value associated with this attribute name. + + + + + + + + + + + + + + + + + + Extension element for attribute. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "component" element represents a concrete UIComponent + implementation class that should be registered under the + specified type identifier, along with its associated + properties and attributes. Component types must be unique + within the entire web application. + + Nested "attribute" elements identify generic attributes that + are recognized by the implementation logic of this component. + Nested "property" elements identify JavaBeans properties of + the component class that may be exposed for manipulation + via tools. + + + + + + + + + + + The "component-type" element represents the name under + which the corresponding UIComponent class should be + registered. + + + + + + + + + The "component-class" element represents the fully + qualified class name of a concrete UIComponent + implementation class. + + + + + + + + + + + + + + + + + + Extension element for component. It may contain + implementation specific content. + + + + + + + + + + + + + + + + The "default-locale" element declares the default locale + for this application instance. + + It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'. + + + + + + + + + + + + + + + + + + The "default-value" contains the value for the property or + attribute in which this element resides. This value differs + from the "suggested-value" in that the property or attribute + must take the value, whereas in "suggested-value" taking the + value is optional. + + + + + + + + + + + + + + + EL expressions present within a faces config file + must start with the character sequence of '#{' and + end with '}'. + + + + + + + + + + + + + + + Define the name and other design-time information for a facet + that is associated with a renderer or a component. + + + + + + + + + + + The "facet-name" element represents the facet name + under which a UIComponent will be added to its parent. + It must be of type "Identifier". + + + + + + + + + + + + + + + + Extension element for facet. It may contain implementation + specific content. + + + + + + + + + + + + + + + + + The value of from-view-id must contain one of the following + values: + + - The exact match for a view identifier that is recognized + by the the ViewHandler implementation being used (such as + "/index.jsp" if you are using the default ViewHandler). + + - A proper prefix of a view identifier, plus a trailing + "*" character. This pattern indicates that all view + identifiers that match the portion of the pattern up to + the asterisk will match the surrounding rule. When more + than one match exists, the match with the longest pattern + is selected. + + - An "*" character, which means that this pattern applies + to all view identifiers. + + + + + + + + + + + + + + + The "from-action" element contains an action reference + expression that must have been executed (by the default + ActionListener for handling application level events) + in order to select the navigation rule. If not specified, + this rule will be relevant no matter which action reference + was executed (or if no action reference was executed). + + + + + + + + + + + + + + + + + The "converter" element represents a concrete Converter + implementation class that should be registered under the + specified converter identifier. Converter identifiers must + be unique within the entire web application. + + Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Converter. Nested "property" + elements identify JavaBeans properties of the Converter + implementation class that may be configured to affect the + operation of the Converter. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics. + + + + + + + + + + + + The "converter-id" element represents the + identifier under which the corresponding + Converter class should be registered. + + + + + + + + + + The "converter-for-class" element represents the + fully qualified class name for which a Converter + class will be registered. + + + + + + + + + + + The "converter-class" element represents the fully + qualified class name of a concrete Converter + implementation class. + + + + + + + + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Converter. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime. + + + + + + + + + Nested "property" elements identify JavaBeans + properties of the Converter implementation class + that may be configured to affect the operation of + the Converter. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime. + + + + + + + + + + + + + + + + Extension element for converter. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + + The "lifecycle" element provides a mechanism to specify + modifications to the behaviour of the default Lifecycle + implementation for this web application. + + + + + + + + + + + The "phase-listener" element contains the fully + qualified class name of the concrete PhaseListener + implementation class that will be registered on + the Lifecycle. + + + + + + + + + + + + + + + + + + Extension element for lifecycle. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166. + + + + + + + + + + + + + + + + The "locale-config" element allows the app developer to + declare the supported locales for this application. + + + + + + + + + + + + + + + + + + + + The "managed-bean" element represents a JavaBean, of a + particular class, that will be dynamically instantiated + at runtime (by the default VariableResolver implementation) + if it is referenced as the first element of a value binding + expression, and no corresponding bean can be identified in + any scope. In addition to the creation of the managed bean, + and the optional storing of it into the specified scope, + the nested managed-property elements can be used to + initialize the contents of settable JavaBeans properties of + the created instance. + + + + + + + + + + + The "managed-bean-name" element represents the + attribute name under which a managed bean will + be searched for, as well as stored (unless the + "managed-bean-scope" value is "none"). + + + + + + + + + The "managed-bean-class" element represents the fully + qualified class name of the Java class that will be + used`to instantiate a new instance if creation of the + specified`managed bean is requested. + + The specified class must conform to standard JavaBeans + conventions. In particular, it must have a public + zero-arguments constructor, and zero or more public + property setters. + + + + + + + + + The "managed-bean-scope" element represents the scope + into which a newly created instance of the specified + managed bean will be stored (unless the value is + "none"). + + + + + + + + + + + + + + + + + + + + + Extension element for managed-bean. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + + element's body content, which includes all of the scopes + normally used in a web application, plus the "none" value + indicating that a created bean should not be stored into + any scope. + ]]> + + + + + + + + + + + + + + + + + + + + + The "managed-property" element represents an individual + property of a managed bean that will be configured to the + specified value (or value set) if the corresponding + managed bean is automatically created. + + + + + + + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value may + be stored. + + + + + + + + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified + if the configuration file is going to be the source + for generating the corresponding classes. + + + + + + + + + + + + + + + + + + + + + + The "map-entry" element reprsents a single key-entry pair + that will be added to the computed value of a managed + property of type java.util.Map. + + + + + + + + + The "key" element is the String representation of a + map key that will be stored in a managed property of + type java.util.Map. + + + + + + + + + + + + + + + + + + + The "map-entries' element represents a set of key-entry pairs + that will be added to the computed value of a managed property + of type java.util.Map. In addition, the Java class types + of the key and entry values may be optionally declared. + + + + + + + + + + The "key-class" element defines the Java type to which + each "key" element in a set of "map-entry" elements + will be converted to. If omitted, "java.lang.String" + is assumed. + + + + + + + + + + + + + + + + + The "navigation-case" element describes a particular + combination of conditions that must match for this case to + be executed, and the view id of the component tree that + should be selected next. + + + + + + + + + + + + The "from-outcome" element contains a logical outcome + string returned by the execution of an application + action method selected via an "actionRef" property + (or a literal value specified by an "action" property) + of a UICommand component. If specified, this rule + will be relevant only if the outcome value matches + this element's value. If not specified, this rule + will be relevant no matter what the outcome value was. + + + + + + + + + The "to-view-id" element contains the view identifier + of the next view that should be displayed if this + navigation rule is matched. + + + + + + + + + + + + + + + + The "navigation-rule" element represents an individual + decision rule that will be utilized by the default + NavigationHandler implementation to make decisions on + what view should be displayed next, based on the + view id being processed. + + + + + + + + + + + + + + + + + + + Extension element for navigation-rule. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The "null-value" element indicates that the managed + property in which we are nested will be explicitly + set to null if our managed bean is automatically + created. This is different from omitting the managed + property element entirely, which will cause no + property setter to be called for this property. + + The "null-value" element can only be used when the + associated "property-class" identifies a Java class, + not a Java primitive. + + + + + + + + + + + + + The "property" element represents a JavaBean property of the + Java class represented by our parent element. + + Property names must be unique within the scope of the Java + class that is represented by the parent element, and must + correspond to property names that will be recognized when + performing introspection against that class via + java.beans.Introspector. + + + + + + + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value + may be stored. + + + + + + + + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified if + the configuration file is going to be the source for + generating the corresponding classes. + + + + + + + + + + + + + + + + + + + Extension element for property. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "redirect" element indicates that navigation to the + specified "to-view-id" should be accomplished by + performing an HTTP redirect rather than the usual + ViewHandler mechanisms. + + + + + + + + + + + + + The "referenced-bean" element represents at design time the + promise that a Java object of the specified type will exist at + runtime in some scope, under the specified key. This can be + used by design time tools to construct user interface dialogs + based on the properties of the specified class. The presence + or absence of a referenced bean element has no impact on the + JavaServer Faces runtime environment inside a web application. + + + + + + + + + + The "referenced-bean-name" element represents the + attribute name under which the corresponding + referenced bean may be assumed to be stored, in one + of 'request', 'session', or 'application' scopes. + + + + + + + + + The "referenced-bean-class" element represents the + fully qualified class name of the Java class + (either abstract or concrete) or Java interface + implemented by the corresponding referenced bean. + + + + + + + + + + + + + + + The "render-kit" element represents a concrete RenderKit + implementation that should be registered under the specified + render-kit-id. If no render-kit-id is specified, the + identifier of the default RenderKit + (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed. + + + + + + + + + + + The "render-kit-id" element represents an identifier + for the RenderKit represented by the parent + "render-kit" element. + + + + + + + + + The "render-kit-class" element represents the fully + qualified class name of a concrete RenderKit + implementation class. + + + + + + + + + + + + + + + + + The "renderer" element represents a concrete Renderer + implementation class that should be registered under the + specified component family and renderer type identifiers, + in the RenderKit associated with the parent "render-kit" + element. Combinations of component family and + renderer type must be unique within the RenderKit + associated with the parent "render-kit" element. + + Nested "attribute" elements identify generic component + attributes that are recognized by this renderer. + + + + + + + + + + + The "component-family" element represents the + component family for which the Renderer represented + by the parent "renderer" element will be used. + + + + + + + + + The "renderer-type" element represents a renderer type + identifier for the Renderer represented by the parent + "renderer" element. + + + + + + + + + The "renderer-class" element represents the fully + qualified class name of a concrete Renderer + implementation class. + + + + + + + + + + + + + + + + + + Extension element for renderer. It may contain implementation + specific content. + + + + + + + + + + + + + + + + + Extension element for render-kit. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + + The "suggested-value" contains the value for the property or + attribute in which this element resides. This value is + advisory only and is intended for tools to use when + populating pallettes. + + + + + + + + + + + + + + + The "supported-locale" element allows authors to declare + which locales are supported in this application instance. + + It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'. + + + + + + + + + + + + + + + + + The "validator" element represents a concrete Validator + implementation class that should be registered under the + specified validator identifier. Validator identifiers must + be unique within the entire web application. + + Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Validator. Nested "property" + elements identify JavaBeans properties of the Validator + implementation class that may be configured to affect the + operation of the Validator. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics. + + + + + + + + + + The "validator-id" element represents the identifier + under which the corresponding Validator class should + be registered. + + + + + + + + + The "validator-class" element represents the fully + qualified class name of a concrete Validator + implementation class. + + + + + + + + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Validator. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime. + + + + + + + + + + Nested "property" elements identify JavaBeans + properties of the Validator implementation class + that may be configured to affect the operation of + the Validator. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime. + + + + + + + + + + + + + + + + Extension element for validator. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "value" element is the String representation of + a literal value to which a scalar managed property + will be set, or a value binding expression ("#{...}") + that will be used to calculate the required value. + It will be converted as specified for the actual + property type. + + + + + + + + + + + + + The "value-class" element defines the Java type to which each + "value" element's value will be converted to, prior to adding + it to the "list-entries" list for a managed property that is + a java.util.List, or a "map-entries" map for a managed + property that is a java.util.Map. + + + + + + + + + + + + + + + The "list-entries" element represents a set of initialization + elements for a managed property that is a java.util.List or an + array. In the former case, the "value-class" element can + optionally be used to declare the Java type to which each + value should be converted before adding it to the Collection. + + + + + + + + + + + + + + + + + + + + This type contains the recognized versions of + faces-config supported. + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_0.xsd new file mode 100644 index 0000000000..8c481d7214 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_0.xsd @@ -0,0 +1,2739 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd + + ]]> + + + + + + + + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings. + + + + + + + + Behavior IDs must be unique within a document. + + + + + + + + + + + Converter IDs must be unique within a document. + + + + + + + + + + + 'converter-for-class' element values must be unique + within a document. + + + + + + + + + + + Validator IDs must be unique within a document. + + + + + + + + + + + Managed bean names must be unique within a document. + + + + + + + + + + + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings. + + + + + + + + + + + + + + + + The "name" element within the top level "faces-config" + element declares the name of this application + configuration resource. Such names are used + in the document ordering scheme specified in section + JSF.11.4.6. + + + + + + + + + + + + + + + + + The metadata-complete attribute defines whether this + JavaServer Faces application is complete, or whether + the class files available to this module and packaged with + this application should be examined for annotations + that specify configuration information. + + This attribute is only inspected on the application + configuration resource file located at "WEB-INF/faces-config.xml". + The presence of this attribute on any application configuration + resource other than the one located at "WEB-INF/faces-config.xml", + including any files named using the javax.faces.CONFIG_FILES + attribute, must be ignored. + + If metadata-complete is set to "true", the JavaServer Faces + runtime must ignore any annotations that specify configuration + information, which might be present in the class files + of the application. + + If metadata-complete is not specified or is set to + "false", the JavaServer Faces runtime must examine the class + files of the application for annotations, as specified by + the specification. + + If "WEB-INF/faces-config.xml" is not present, the JavaServer + Faces runtime will assume metadata-complete to be "false". + + The value of this attribute will have no impact on + runtime annotations such as @ResourceDependency or + @ListenerFor. + + + + + + + + + + + + + + + + Extension element for faces-config. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + Please see section JSF.11.4.6 for the specification of this element. + + + + + + + + + + + + + + + + + This element contains a sequence of "id" elements, each of which + refers to an application configuration resource by the "id" + declared on its faces-config element. This element can also contain + a single "others" element which specifies that this document comes + before or after other documents within the application. + + + + + + + + + + + + + + + + + This element indicates that the ordering sub-element in which + it was placed should take special action regarding the ordering + of this application resource relative to other + application configuration resources. See section JSF.11.4.6 + for the complete specification. + + + + + + + + + + + + + + Only relevant if this is placed within the /WEB-INF/faces-config.xml. + Please see section JSF.11.4.6 for the specification for details. + + + + + + + + + + + + + + + + + The "application" element provides a mechanism to define the + various per-application-singleton implementation artifacts for + a particular web application that is utilizing + JavaServer Faces. For nested elements that are not specified, + the JSF implementation must provide a suitable default. + + + + + + + + + The "action-listener" element contains the fully + qualified class name of the concrete + ActionListener implementation class that will be + called during the Invoke Application phase of the + request processing lifecycle. + + + + + + + + + The "default-render-kit-id" element allows the + application to define a renderkit to be used other + than the standard one. + + + + + + + + + The base name of a resource bundle representing + the message resources for this application. See + the JavaDocs for the "java.util.ResourceBundle" + class for more information on the syntax of + resource bundle names. + + + + + + + + + The "navigation-handler" element contains the + fully qualified class name of the concrete + NavigationHandler implementation class that will + be called during the Invoke Application phase + of the request processing lifecycle, if the + default ActionListener (provided by the JSF + implementation) is used. + + + + + + + + + The "view-handler" element contains the fully + qualified class name of the concrete ViewHandler + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class. + + + + + + + + + The "state-manager" element contains the fully + qualified class name of the concrete StateManager + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class. + + + + + + + + + The "el-resolver" element contains the fully + qualified class name of the concrete + javax.el.ELResolver implementation class + that will be used during the processing of + EL expressions. + + + + + + + + + The "property-resolver" element contains the fully + qualified class name of the concrete + PropertyResolver implementation class that will + be used during the processing of value binding + expressions. + + + + + + + + + The "variable-resolver" element contains the fully + qualified class name of the concrete + VariableResolver implementation class that will + be used during the processing of value binding + expressions. + + + + + + + + + The "resource-handler" element contains the + fully qualified class name of the concrete + ResourceHandler implementation class that + will be used during rendering and decoding + of resource requests The standard + constructor based decorator pattern used for + other application singletons will be + honored. + + + + + + + + + + + + + + + + + + + + + + The resource-bundle element inside the application element + references a java.util.ResourceBundle instance by name + using the var element. ResourceBundles referenced in this + manner may be returned by a call to + Application.getResourceBundle() passing the current + FacesContext for this request and the value of the var + element below. + + + + + + + + + + The fully qualified class name of the + java.util.ResourceBundle instance. + + + + + + + + + The name by which this ResourceBundle instance + is retrieved by a call to + Application.getResourceBundle(). + + + + + + + + + + + + + + + + Extension element for application. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "factory" element provides a mechanism to define the + various Factories that comprise parts of the implementation + of JavaServer Faces. For nested elements that are not + specified, the JSF implementation must provide a suitable + default. + + + + + + + + + The "application-factory" element contains the + fully qualified class name of the concrete + ApplicationFactory implementation class that will + be called when + FactoryFinder.getFactory(APPLICATION_FACTORY) is + called. + + + + + + + + + The "exception-handler-factory" element contains the + fully qualified class name of the concrete + ExceptionHandlerFactory implementation class that will + be called when + FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY) + is called. + + + + + + + + + The "external-context-factory" element contains the + fully qualified class name of the concrete + ExternalContextFactory implementation class that will + be called when + FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY) + is called. + + + + + + + + + The "faces-context-factory" element contains the + fully qualified class name of the concrete + FacesContextFactory implementation class that will + be called when + FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) + is called. + + + + + + + + + The "partial-view-context-factory" element contains the + fully qualified class name of the concrete + PartialViewContextFactory implementation class that will + be called when FactoryFinder.getFactory + (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called. + + + + + + + + + The "lifecycle-factory" element contains the fully + qualified class name of the concrete LifecycleFactory + implementation class that will be called when + FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called. + + + + + + + + + The "view-declaration-language-factory" element contains + the fully qualified class name of the concrete + ViewDeclarationLanguageFactory + implementation class that will be called when + FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called. + + + + + + + + + The "tag-handler-delegate-factory" element contains + the fully qualified class name of the concrete + ViewDeclarationLanguageFactory + implementation class that will be called when + FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called. + + + + + + + + + The "render-kit-factory" element contains the fully + qualified class name of the concrete RenderKitFactory + implementation class that will be called when + FactoryFinder.getFactory(RENDER_KIT_FACTORY) is + called. + + + + + + + + + The "visit-context-factory" element contains the fully + qualified class name of the concrete VisitContextFactory + implementation class that will be called when + FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is + called. + + + + + + + + + + + + + + + + + Extension element for factory. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "attribute" element represents a named, typed, value + associated with the parent UIComponent via the generic + attributes mechanism. + + Attribute names must be unique within the scope of the parent + (or related) component. + + + + + + + + + + The "attribute-name" element represents the name under + which the corresponding value will be stored, in the + generic attributes of the UIComponent we are related + to. + + + + + + + + + The "attribute-class" element represents the Java type + of the value associated with this attribute name. + + + + + + + + + + + + + + + + + + + Extension element for attribute. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "component" element represents a concrete UIComponent + implementation class that should be registered under the + specified type identifier, along with its associated + properties and attributes. Component types must be unique + within the entire web application. + + Nested "attribute" elements identify generic attributes that + are recognized by the implementation logic of this component. + Nested "property" elements identify JavaBeans properties of + the component class that may be exposed for manipulation + via tools. + + + + + + + + + + The "component-type" element represents the name under + which the corresponding UIComponent class should be + registered. + + + + + + + + + The "component-class" element represents the fully + qualified class name of a concrete UIComponent + implementation class. + + + + + + + + + + + + + + + + + + + + Extension element for component. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "default-locale" element declares the default locale + for this application instance. + + It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'. + + + + + + + + + + + + + + + + + + The "default-value" contains the value for the property or + attribute in which this element resides. This value differs + from the "suggested-value" in that the property or attribute + must take the value, whereas in "suggested-value" taking the + value is optional. + + + + + + + + + + + + + EL expressions present within a faces config file + must start with the character sequence of '#{' and + end with '}'. + + + + + + + + + + + + + + + + Define the name and other design-time information for a facet + that is associated with a renderer or a component. + + + + + + + + + + The "facet-name" element represents the facet name + under which a UIComponent will be added to its parent. + It must be of type "Identifier". + + + + + + + + + + + + + + + + + Extension element for facet. It may contain implementation + specific content. + + + + + + + + + + + + + + + + + The value of from-view-id must contain one of the following + values: + + - The exact match for a view identifier that is recognized + by the the ViewHandler implementation being used (such as + "/index.jsp" if you are using the default ViewHandler). + + - A proper prefix of a view identifier, plus a trailing + "*" character. This pattern indicates that all view + identifiers that match the portion of the pattern up to + the asterisk will match the surrounding rule. When more + than one match exists, the match with the longest pattern + is selected. + + - An "*" character, which means that this pattern applies + to all view identifiers. + + + + + + + + + + + + + + + + The "from-action" element contains an action reference + expression that must have been executed (by the default + ActionListener for handling application level events) + in order to select the navigation rule. If not specified, + this rule will be relevant no matter which action reference + was executed (or if no action reference was executed). + + + + + + + + + + + + + + + + + + The "if" element defines a condition that must resolve + to true in order for the navigation case on which it is + defined to be matched, with the existing match criteria + (action method and outcome) as a prerequiste, if present. + The condition is defined declaratively using a value + expression in the body of this element. The expression is + evaluated at the time the navigation case is being matched. + If the "from-outcome" is omitted and this element is + present, the navigation handler will match a null outcome + and use the condition return value to determine if the + case should be considered a match. + + + + + + + + + + + + + + + + + + The "converter" element represents a concrete Converter + implementation class that should be registered under the + specified converter identifier. Converter identifiers must + be unique within the entire web application. + + Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Converter. Nested "property" + elements identify JavaBeans properties of the Converter + implementation class that may be configured to affect the + operation of the Converter. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics. + + + + + + + + + + + The "converter-id" element represents the + identifier under which the corresponding + Converter class should be registered. + + + + + + + + + The "converter-for-class" element represents the + fully qualified class name for which a Converter + class will be registered. + + + + + + + + + + The "converter-class" element represents the fully + qualified class name of a concrete Converter + implementation class. + + + + + + + + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Converter. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime. + + + + + + + + + Nested "property" elements identify JavaBeans + properties of the Converter implementation class + that may be configured to affect the operation of + the Converter. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime. + + + + + + + + + + + + + + + + + Extension element for converter. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "lifecycle" element provides a mechanism to specify + modifications to the behaviour of the default Lifecycle + implementation for this web application. + + + + + + + + + The "phase-listener" element contains the fully + qualified class name of the concrete PhaseListener + implementation class that will be registered on + the Lifecycle. + + + + + + + + + + + + + + + + + Extension element for lifecycle. It may contain + implementation specific content. + + + + + + + + + + + + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166. + + + + + + + + + + + + + + + + The "locale-config" element allows the app developer to + declare the��supported locales for this application. + + + + + + + + + + + + + + + + + + + + The "default-validators" element allows the app developer to + register a set of validators, referenced by identifier, that + are automatically assigned to any EditableValueHolder component + in the application, unless overridden or disabled locally. + + + + + + + + + The "validator-id" element represents the identifier + of a registered validator. + + + + + + + + + + + + + + + + The "managed-bean" element represents a JavaBean, of a + particular class, that will be dynamically instantiated + at runtime (by the default VariableResolver implementation) + if it is referenced as the first element of a value binding + expression, and no corresponding bean can be identified in + any scope. In addition to the creation of the managed bean, + and the optional storing of it into the specified scope, + the nested managed-property elements can be used to + initialize the contents of settable JavaBeans properties of + the created instance. + + + + + + + + + + The "managed-bean-name" element represents the + attribute name under which a managed bean will + be searched for, as well as stored (unless the + "managed-bean-scope" value is "none"). + + + + + + + + + The "managed-bean-class" element represents the fully + qualified class name of the Java class that will be + used`to instantiate a new instance if creation of the + specified`managed bean is requested. + + The specified class must conform to standard JavaBeans + conventions. In particular, it must have a public + zero-arguments constructor, and zero or more public + property setters. + + + + + + + + + The "managed-bean-scope" element represents the scope + into which a newly created instance of the specified + managed bean will be stored (unless the value is + "none"). + + + + + + + + + + + + + + + + This attribute is only considered when associated with + an application-scoped managed bean. If the value of the eager + attribute is true the runtime must instantiate this class + and store the instance within the application scope when the + application starts. + + If eager is unspecified or is false, the default "lazy" + instantiation and scoped storage of the managed bean + will occur. + + + + + + + + + + + + + + + Extension element for managed-bean. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + element's body content, which includes all of the scopes + normally used in a web application, plus the "none" value + indicating that a created bean should not be stored into + any scope. Alternatively, an EL expression may be used + as the value of this element. The result of evaluating this + expression must by of type java.util.Map. + + ]]> + + + + + + + + + + + + + + + + + The "managed-property" element represents an individual + property of a managed bean that will be configured to the + specified value (or value set) if the corresponding + managed bean is automatically created. + + + + + + + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value may + be stored. + + + + + + + + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified + if the configuration file is going to be the source + for generating the corresponding classes. + + + + + + + + + + + + + + + + + + + + + + + The "map-entry" element reprsents a single key-entry pair + that will be added to the computed value of a managed + property of type java.util.Map. + + + + + + + + + The "key" element is the String representation of a + map key that will be stored in a managed property of + type java.util.Map. + + + + + + + + + + + + + + + + + + + + The "map-entries' element represents a set of key-entry pairs + that will be added to the computed value of a managed property + of type java.util.Map. In addition, the Java class types + of the key and entry values may be optionally declared. + + + + + + + + + The "key-class" element defines the Java type to which + each "key" element in a set of "map-entry" elements + will be converted to. If omitted, "java.lang.String" + is assumed. + + + + + + + + + + + + + + + + + + The "navigation-case" element describes a particular + combination of conditions that must match for this case to + be executed, and the view id of the component tree that + should be selected next. + + + + + + + + + + + + The "from-outcome" element contains a logical outcome + string returned by the execution of an application + action method selected via an "actionRef" property + (or a literal value specified by an "action" property) + of a UICommand component. If specified, this rule + will be relevant only if the outcome value matches + this element's value. If not specified, this rule + will be relevant if the outcome value is non-null + or, if the "if" element is present, will be relevant + for any outcome value, with the assumption that the + condition specified in the "if" element ultimately + determines if this rule is a match. + + + + + + + + + Please see section JSF.7.4.2 for the specification of this element. + + + + + + + + + The "to-view-id" element contains the view identifier + of the next view that should be displayed if this + navigation rule is matched. If the contents is a + value expression, it should be resolved by the + navigation handler to obtain the view identifier. + + + + + + + + + + + + + + + + + The "navigation-rule" element represents an individual + decision rule that will be utilized by the default + NavigationHandler implementation to make decisions on + what view should be displayed next, based on the + view id being processed. + + + + + + + + + + + + + + + + + + + + Extension element for navigation-rule. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "null-value" element indicates that the managed + property in which we are nested will be explicitly + set to null if our managed bean is automatically + created. This is different from omitting the managed + property element entirely, which will cause no + property setter to be called for this property. + + The "null-value" element can only be used when the + associated "property-class" identifies a Java class, + not a Java primitive. + + + + + + + + + + + + + + The "property" element represents a JavaBean property of the + Java class represented by our parent element. + + Property names must be unique within the scope of the Java + class that is represented by the parent element, and must + correspond to property names that will be recognized when + performing introspection against that class via + java.beans.Introspector. + + + + + + + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value + may be stored. + + + + + + + + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified if + the configuration file is going to be the source for + generating the corresponding classes. + + + + + + + + + + + + + + + + + + + Extension element for property. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "redirect" element indicates that navigation to the + specified "to-view-id" should be accomplished by + performing an HTTP redirect rather than the usual + ViewHandler mechanisms. + + + + + + + + + + + + + + + + + + The "view-param" element, only valid within + a "redirect" element, contains child "name" + and "value" elements that must be included in the + redirect url when the redirect is performed. + + + + + + + + + + + + + + + + + + The "referenced-bean" element represents at design time the + promise that a Java object of the specified type will exist at + runtime in some scope, under the specified key. This can be + used by design time tools to construct user interface dialogs + based on the properties of the specified class. The presence + or absence of a referenced bean element has no impact on the + JavaServer Faces runtime environment inside a web application. + + + + + + + + + + The "referenced-bean-name" element represents the + attribute name under which the corresponding + referenced bean may be assumed to be stored, in one + of 'request', 'session', 'view', 'application' + or a custom scope. + + + + + + + + + The "referenced-bean-class" element represents the + fully qualified class name of the Java class + (either abstract or concrete) or Java interface + implemented by the corresponding referenced bean. + + + + + + + + + + + + + + + + The "render-kit" element represents a concrete RenderKit + implementation that should be registered under the specified + render-kit-id. If no render-kit-id is specified, the + identifier of the default RenderKit + (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed. + + + + + + + + + + The "render-kit-id" element represents an identifier + for the RenderKit represented by the parent + "render-kit" element. + + + + + + + + + The "render-kit-class" element represents the fully + qualified class name of a concrete RenderKit + implementation class. + + + + + + + + + + + + + + + + + + + The "client-behavior-renderer" element represents a concrete + ClientBehaviorRenderer implementation class that should be + registered under the specified behavior renderer type identifier, + in the RenderKit associated with the parent "render-kit" + element. Client Behavior renderer type must be unique within the RenderKit + associated with the parent "render-kit" element. + + Nested "attribute" elements identify generic component + attributes that are recognized by this renderer. + + + + + + + + + The "client-behavior-renderer-type" element represents a renderer type + identifier for the Client Behavior Renderer represented by the parent + "client-behavior-renderer" element. + + + + + + + + + The "client-behavior-renderer-class" element represents the fully + qualified class name of a concrete Client Behavior Renderer + implementation class. + + + + + + + + + + + + + + + The "renderer" element represents a concrete Renderer + implementation class that should be registered under the + specified component family and renderer type identifiers, + in the RenderKit associated with the parent "render-kit" + element. Combinations of component family and + renderer type must be unique within the RenderKit + associated with the parent "render-kit" element. + + Nested "attribute" elements identify generic component + attributes that are recognized by this renderer. + + + + + + + + + + The "component-family" element represents the + component family for which the Renderer represented + by the parent "renderer" element will be used. + + + + + + + + + The "renderer-type" element represents a renderer type + identifier for the Renderer represented by the parent + "renderer" element. + + + + + + + + + The "renderer-class" element represents the fully + qualified class name of a concrete Renderer + implementation class. + + + + + + + + + + + + + + + + + + + Extension element for renderer. It may contain implementation + specific content. + + + + + + + + + + + + + + + + + Extension element for render-kit. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "suggested-value" contains the value for the property or + attribute in which this element resides. This value is + advisory only and is intended for tools to use when + populating pallettes. + + + + + + + + + + + + + + + + The "supported-locale" element allows authors to declare + which locales are supported in this application instance. + + It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'. + + + + + + + + + + + + + + + + + + The "behavior" element represents a concrete Behavior + implementation class that should be registered under the + specified behavior identifier. Behavior identifiers must + be unique within the entire web application. + + Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Behavior. Nested "property" + elements identify JavaBeans properties of the Behavior + implementation class that may be configured to affect the + operation of the Behavior. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics. + + + + + + + + + + The "behavior-id" element represents the identifier + under which the corresponding Behavior class should + be registered. + + + + + + + + + The "behavior-class" element represents the fully + qualified class name of a concrete Behavior + implementation class. + + + + + + + + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Behavior. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime. + + + + + + + + + Nested "property" elements identify JavaBeans + properties of the Behavior implementation class + that may be configured to affect the operation of + the Behavior. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime. + + + + + + + + + + + + + + + + Extension element for behavior. It may contain + implementation specific content. + + + + + + + + + + + + + + + + + The "validator" element represents a concrete Validator + implementation class that should be registered under the + specified validator identifier. Validator identifiers must + be unique within the entire web application. + + Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Validator. Nested "property" + elements identify JavaBeans properties of the Validator + implementation class that may be configured to affect the + operation of the Validator. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics. + + + + + + + + + + The "validator-id" element represents the identifier + under which the corresponding Validator class should + be registered. + + + + + + + + + The "validator-class" element represents the fully + qualified class name of a concrete Validator + implementation class. + + + + + + + + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Validator. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime. + + + + + + + + + Nested "property" elements identify JavaBeans + properties of the Validator implementation class + that may be configured to affect the operation of + the Validator. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime. + + + + + + + + + + + + + + + + + Extension element for validator. It may contain + implementation specific content. + + + + + + + + + + + + + + The "value" element is the String representation of + a literal value to which a scalar managed property + will be set, or a value binding expression ("#{...}") + that will be used to calculate the required value. + It will be converted as specified for the actual + property type. + + + + + + + + + + + + + + The "value-class" element defines the Java type to which each + "value" element's value will be converted to, prior to adding + it to the "list-entries" list for a managed property that is + a java.util.List, or a "map-entries" map for a managed + property that is a java.util.Map. + + + + + + + + + + + + + + + + The "list-entries" element represents a set of initialization + elements for a managed property that is a java.util.List or an + array. In the former case, the "value-class" element can + optionally be used to declare the Java type to which each + value should be converted before adding it to the Collection. + + + + + + + + + + + + + + + + + + + + + The presence of this element within the "application" element in + an application configuration resource file indicates the + developer wants to add an SystemEventListener to this + application instance. Elements nested within this element allow + selecting the kinds of events that will be delivered to the + listener instance, and allow selecting the kinds of classes that + can be the source of events that are delivered to the listener + instance. + + + + + + + + + The "system-event-listener-class" element contains + the fully qualified class name of the concrete + SystemEventListener implementation class that will be + called when events of the type specified by the + "system-event-class" are sent by the runtime. + + + + + + + + + The "system-event-class" element contains the fully + qualified class name of the SystemEvent subclass for + which events will be delivered to the class whose fully + qualified class name is given by the + "system-event-listener-class" element. + + + + + + + + + The "source-class" element, if present, contains the + fully qualified class name of the class that will be the + source for the event to be delivered to the class whose + fully qualified class name is given by the + "system-event-listener-class" element. + + + + + + + + + + + + + This type contains the recognized versions of + faces-config supported. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_2.xsd new file mode 100644 index 0000000000..812722082a --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facesconfig_2_2.xsd @@ -0,0 +1,3703 @@ + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2011 - 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. + + + + + + + The XML Schema for the JavaServer Faces Application + Configuration File (Version 2.2).

+ +

All JavaServer Faces configuration files must indicate + the JavaServer Faces schema by indicating the JavaServer + Faces namespace:

+ +

http://xmlns.jcp.org/xml/ns/javaee

+ +

and by indicating the version of the schema by + using the version element as shown below:

+ +
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="..."
+      version="2.2">
+      ...
+      </faces-config>
+ +

The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location:

+ +

http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd

+ + ]]> +
+
+ + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings.

+ + ]]>
+
+ + + Behavior IDs must be unique within a document.

+ + ]]>
+
+ + +
+ + + Converter IDs must be unique within a document.

+ + ]]>
+
+ + +
+ + + 'converter-for-class' element values must be unique + within a document.

+ + ]]>
+
+ + +
+ + + Validator IDs must be unique within a document.

+ + ]]>
+
+ + +
+ + + Managed bean names must be unique within a document.

+ + ]]>
+
+ + +
+
+ + + + + + + The "faces-config" element is the root of the configuration + information hierarchy, and contains nested elements for all + of the other configuration settings.

+ + ]]>
+
+ + + + + + + + + + + + The "name" element + within the top level "faces-config" + element declares the name of this application + configuration resource. Such names are used + in the document ordering scheme specified in section + JSF.11.4.6.

+ +

This value is taken to be the + defining document id of any <flow-definition> elements + defined in this Application Configuration Resource file. If this + element is not specified, the runtime must take the empty string + as its value.

+ + ]]>
+
+
+ + + + + + + + +
+ + + + + + + +
+ + + + + + + Extension element for faces-config. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + Please see section JSF.11.4.6 for the specification of this element.

+ + ]]>
+
+ + + + + +
+ + + + + + + This element contains a sequence of "id" elements, each of which + refers to an application configuration resource by the "id" + declared on its faces-config element. This element can also contain + a single "others" element which specifies that this document comes + before or after other documents within the application.

+ + ]]>
+
+ + + + + +
+ + + + + + + This element indicates that the ordering sub-element in which + it was placed should take special action regarding the ordering + of this application resource relative to other + application configuration resources. See section JSF.11.4.6 + for the complete specification.

+ + ]]>
+
+ +
+ + + + + + + Only relevant if this is placed within the /WEB-INF/faces-config.xml. + Please see section JSF.11.4.6 for the specification for details.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "application" element provides a mechanism to define the + various per-application-singleton implementation artifacts for + a particular web application that is utilizing + JavaServer Faces. For nested elements that are not specified, + the JSF implementation must provide a suitable default.

+ + ]]>
+
+ + + + The "action-listener" element contains the fully + qualified class name of the concrete + ActionListener implementation class that will be + called during the Invoke Application phase of the + request processing lifecycle.

+ + ]]>
+
+
+ + + The "default-render-kit-id" element allows the + application to define a renderkit to be used other + than the standard one.

+ + ]]>
+
+
+ + + The base name of a resource bundle representing + the message resources for this application. See + the JavaDocs for the "java.util.ResourceBundle" + class for more information on the syntax of + resource bundle names.

+ + ]]>
+
+
+ + + The "navigation-handler" element contains the + fully qualified class name of the concrete + NavigationHandler implementation class that will + be called during the Invoke Application phase + of the request processing lifecycle, if the + default ActionListener (provided by the JSF + implementation) is used.

+ + ]]>
+
+
+ + + The "view-handler" element contains the fully + qualified class name of the concrete ViewHandler + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class.

+ + ]]>
+
+
+ + + The "state-manager" element contains the fully + qualified class name of the concrete StateManager + implementation class that will be called during + the Restore View and Render Response phases of the + request processing lifecycle. The faces + implementation must provide a default + implementation of this class.

+ + ]]>
+
+
+ + + The "el-resolver" element contains the fully + qualified class name of the concrete + javax.el.ELResolver implementation class + that will be used during the processing of + EL expressions.

+ + ]]>
+
+
+ + + The "property-resolver" element contains the fully + qualified class name of the concrete + PropertyResolver implementation class that will + be used during the processing of value binding + expressions.

+ + ]]>
+
+
+ + + The "variable-resolver" element contains the fully + qualified class name of the concrete + VariableResolver implementation class that will + be used during the processing of value binding + expressions.

+ + ]]>
+
+
+ + + The "resource-handler" element contains the + fully qualified class name of the concrete + ResourceHandler implementation class that + will be used during rendering and decoding + of resource requests The standard + constructor based decorator pattern used for + other application singletons will be + honored.

+ + ]]>
+
+
+ + + The "resource-library-contracts" element + specifies the mappings between views in the application and resource + library contracts that, if present in the application, must be made + available for use as templates of the specified views. +

+ + ]]>
+
+
+ + + + + +
+ +
+ + + + + + + The resource-bundle element inside the application element + references a java.util.ResourceBundle instance by name + using the var element. ResourceBundles referenced in this + manner may be returned by a call to + Application.getResourceBundle() passing the current + FacesContext for this request and the value of the var + element below.

+ + ]]>
+
+ + + + + The fully qualified class name of the + java.util.ResourceBundle instance.

+ + ]]>
+
+
+ + + The name by which this ResourceBundle instance + is retrieved by a call to + Application.getResourceBundle().

+ + ]]>
+
+
+
+ +
+ + + + The "resource-library-contracts" element + specifies the mappings between views in the application and resource + library contracts that, if present in the application, must be made + available for use as templates of the specified views. +

+ + ]]>
+
+ + + + + Declare a mapping between a collection + of views in the application and the list of contracts (if present in the application) + that may be used as a source for templates and resources for those views.

+ + ]]>
+
+
+
+ +
+ + + + The "contract-mapping" element + specifies the mappings between a collection of views in the application and resource + library contracts that, if present in the application, must be made + available for use as templates of the specified views. +

+ + ]]>
+
+ + + + + The "url-pattern" element + specifies the collection of views in this application that + are allowed to use the corresponding contracts. +

+ + ]]>
+
+
+ + + + The "contracts" element + is a comma separated list of resource library contracts that, + if available to the application, may be used by the views + matched by the corresponding "url-pattern" +

+ + ]]>
+
+
+
+ +
+ + + + + + Extension element for application. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "factory" element provides a mechanism to define the + various Factories that comprise parts of the implementation + of JavaServer Faces. For nested elements that are not + specified, the JSF implementation must provide a suitable + default.

+ + ]]>
+
+ + + + The "application-factory" element contains the + fully qualified class name of the concrete + ApplicationFactory implementation class that will + be called when + FactoryFinder.getFactory(APPLICATION_FACTORY) is + called.

+ + ]]>
+
+
+ + + The "exception-handler-factory" element contains the + fully qualified class name of the concrete + ExceptionHandlerFactory implementation class that will + be called when + FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY) + is called.

+ + ]]>
+
+
+ + + The "external-context-factory" element contains the + fully qualified class name of the concrete + ExternalContextFactory implementation class that will + be called when + FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY) + is called.

+ + ]]>
+
+
+ + + The "faces-context-factory" element contains the + fully qualified class name of the concrete + FacesContextFactory implementation class that will + be called when + FactoryFinder.getFactory(FACES_CONTEXT_FACTORY) + is called.

+ + ]]>
+
+
+ + + The "facelet-cache-factory" element contains the + fully qualified class name of the concrete + FaceletCacheFactory implementation class that will + be called when + FactoryFinder.getFactory(FACELET_CACHE_FACTORY) + is called.

+ + ]]>
+
+
+ + + The "partial-view-context-factory" element contains the + fully qualified class name of the concrete + PartialViewContextFactory implementation class that will + be called when FactoryFinder.getFactory + (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.

+ + ]]>
+
+
+ + + The "lifecycle-factory" element contains the fully + qualified class name of the concrete LifecycleFactory + implementation class that will be called when + FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.

+ + ]]>
+
+
+ + + The "view-declaration-language-factory" element contains + the fully qualified class name of the concrete + ViewDeclarationLanguageFactory + implementation class that will be called when + FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.

+ + ]]>
+
+
+ + + The "tag-handler-delegate-factory" element contains + the fully qualified class name of the concrete + ViewDeclarationLanguageFactory + implementation class that will be called when + FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.

+ + ]]>
+
+
+ + + The "render-kit-factory" element contains the fully + qualified class name of the concrete RenderKitFactory + implementation class that will be called when + FactoryFinder.getFactory(RENDER_KIT_FACTORY) is + called.

+ + ]]>
+
+
+ + + The "visit-context-factory" element contains the fully + qualified class name of the concrete VisitContextFactory + implementation class that will be called when + FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is + called.

+ + ]]>
+
+
+ + + The "flash-factory" element contains the + fully qualified class name of the concrete + FaceletFactory implementation class that will + be called when + FactoryFinder.getFactory(FLASH_FACTORY) is + called.

+ + ]]>
+
+
+ + + The "flow-handler-factory" element contains the + fully qualified class name of the concrete + FlowHandlerFactory implementation class that will + be called when + FactoryFinder.getFactory(FLOW_HANDLER_FACTORY) is + called.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for factory. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "attribute" element represents a named, typed, value + associated with the parent UIComponent via the generic + attributes mechanism.

+ +

Attribute names must be unique within the scope of the parent + (or related) component.

+ + ]]>
+
+ + + + + The "attribute-name" element represents the name under + which the corresponding value will be stored, in the + generic attributes of the UIComponent we are related + to.

+ + ]]>
+
+
+ + + The "attribute-class" element represents the Java type + of the value associated with this attribute name.

+ + ]]>
+
+
+ + + +
+ +
+ + + + + + + Extension element for attribute. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "component" element represents a concrete UIComponent + implementation class that should be registered under the + specified type identifier, along with its associated + properties and attributes. Component types must be unique + within the entire web application.

+ +

Nested "attribute" elements identify generic attributes that + are recognized by the implementation logic of this component. + Nested "property" elements identify JavaBeans properties of + the component class that may be exposed for manipulation + via tools.

+ + ]]>
+
+ + + + + The "component-type" element represents the name under + which the corresponding UIComponent class should be + registered.

+ + ]]>
+
+
+ + + The "component-class" element represents the fully + qualified class name of a concrete UIComponent + implementation class.

+ + ]]>
+
+
+ + + + +
+ +
+ + + + + + + Extension element for component. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "default-locale" element declares the default locale + for this application instance.

+ +

It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "default-value" contains the value for the property or + attribute in which this element resides. This value differs + from the "suggested-value" in that the property or attribute + must take the value, whereas in "suggested-value" taking the + value is optional.

+ + ]]>
+
+ + + + + +
+ + + + EL expressions present within a faces config file + must start with the character sequence of '#{' and + end with '}'.

+ + ]]>
+
+ + + +
+ + + + + + + Define the name and other design-time information for a facet + that is associated with a renderer or a component.

+ + ]]>
+
+ + + + + The "facet-name" element represents the facet name + under which a UIComponent will be added to its parent. + It must be of type "Identifier".

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for facet. It may contain implementation + specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The + value of from-view-id must contain one of the following + values:

+ +
    + +
  • The exact match for a view identifier that is recognized + by the the ViewHandler implementation being used (such as + "/index.jsp" if you are using the default ViewHandler).

  • + +
  • The exact match of a flow node id + in the current flow, or a flow id of another flow.

  • + +
  • A proper prefix of a view identifier, plus a trailing + "*" character. This pattern indicates that all view + identifiers that match the portion of the pattern up to the + asterisk will match the surrounding rule. When more than one + match exists, the match with the longest pattern is selected. +

  • + +
  • An "*" character, which means that this pattern applies + to all view identifiers.

  • + +
+ + ]]>
+
+ + + + + +
+ + + + + + + The "from-action" element contains an action reference + expression that must have been executed (by the default + ActionListener for handling application level events) + in order to select the navigation rule. If not specified, + this rule will be relevant no matter which action reference + was executed (or if no action reference was executed).

+ + ]]>
+
+ + + + + +
+ + + + + + + The "if" element defines a condition that must resolve + to true in order for the navigation case on which it is + defined to be matched, with the existing match criteria + (action method and outcome) as a prerequiste, if present. + The condition is defined declaratively using a value + expression in the body of this element. The expression is + evaluated at the time the navigation case is being matched. + If the "from-outcome" is omitted and this element is + present, the navigation handler will match a null outcome + and use the condition return value to determine if the + case should be considered a match.

+ +
+ +

When used in a <switch> within a flow, if the +expresion returns true, the +<from-outcome> sibling element's outcome is used as +the id of the node in the flow graph to which control must be +passed.

+ +
+ + + ]]>
+
+ + + + + +
+ + + + + +

+ +
+ + + +
+ + + ]]>
+
+ + + + + +
+ + + + + + + The "converter" element represents a concrete Converter + implementation class that should be registered under the + specified converter identifier. Converter identifiers must + be unique within the entire web application.

+ +

Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Converter. Nested "property" + elements identify JavaBeans properties of the Converter + implementation class that may be configured to affect the + operation of the Converter. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics.

+ + ]]>
+
+ + + + + + The "converter-id" element represents the + identifier under which the corresponding + Converter class should be registered.

+ + ]]>
+
+
+ + + The "converter-for-class" element represents the + fully qualified class name for which a Converter + class will be registered.

+ + ]]>
+
+
+
+ + + The "converter-class" element represents the fully + qualified class name of a concrete Converter + implementation class.

+ + ]]>
+
+
+ + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Converter. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime.

+ + ]]>
+
+
+ + + Nested "property" elements identify JavaBeans + properties of the Converter implementation class + that may be configured to affect the operation of + the Converter. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for converter. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "lifecycle" element provides a mechanism to specify + modifications to the behaviour of the default Lifecycle + implementation for this web application.

+ + ]]>
+
+ + + + The "phase-listener" element contains the fully + qualified class name of the concrete PhaseListener + implementation class that will be registered on + the Lifecycle.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for lifecycle. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + The localeType defines valid locale defined by ISO-639-1 + and ISO-3166.

+ + ]]>
+
+ + + +
+ + + + + + + The "locale-config" element allows the app developer to + declare the supported locales for this application.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "default-validators" element allows the app developer to + register a set of validators, referenced by identifier, that + are automatically assigned to any EditableValueHolder component + in the application, unless overridden or disabled locally.

+ + ]]>
+
+ + + + The "validator-id" element represents the identifier + of a registered validator.

+ + ]]>
+
+
+
+ +
+ + + + + + + The "managed-bean" element represents a JavaBean, of a + particular class, that will be dynamically instantiated + at runtime (by the default VariableResolver implementation) + if it is referenced as the first element of a value binding + expression, and no corresponding bean can be identified in + any scope. In addition to the creation of the managed bean, + and the optional storing of it into the specified scope, + the nested managed-property elements can be used to + initialize the contents of settable JavaBeans properties of + the created instance.

+ + ]]>
+
+ + + + + The "managed-bean-name" element represents the + attribute name under which a managed bean will + be searched for, as well as stored (unless the + "managed-bean-scope" value is "none").

+ + ]]>
+
+
+ + + The "managed-bean-class" element represents the fully + qualified class name of the Java class that will be + used`to instantiate a new instance if creation of the + specified`managed bean is requested.

+ +

The specified class must conform to standard JavaBeans + conventions. In particular, it must have a public + zero-arguments constructor, and zero or more public + property setters.

+ + ]]>
+
+
+ + + The "managed-bean-scope" element represents the scope + into which a newly created instance of the specified + managed bean will be stored (unless the value is + "none").

+ + ]]>
+
+
+ + + + + + +
+ + + This attribute is only considered when associated with + an application-scoped managed bean. If the value of the eager + attribute is true the runtime must instantiate this class + and store the instance within the application scope when the + application starts.

+ +

If eager is unspecified or is false, the default "lazy" + instantiation and scoped storage of the managed bean + will occur.

+ + ]]>
+
+
+ +
+ + + + + + +Top level element for a flow + definition.

+ +
+ +

If there is no <start-node> element declared, it +is assumed to be <flowName>.xhtml.

+ +
+ +]]> +
+
+ + + + + + + Declare the id of the starting node in the +flow graph. The start node may be any of the node types mentioned in +the class javadocs for FlowHandler.

+ +]]> + + +
+
+
+ + + + + + + + + + +
+ + + + + The id of this flow. The id + must be unique within the Application configuration Resource + file in which this flow is defined. The value of this attribute, + combined with the value of the <faces-config><name> element + must globally identify the flow within the application.

]]> + + + + + + + + + + + + Invoke a method, passing parameters if necessary. + The return from the method is used as the outcome for where to go next in the + flow. If the method is a void method, the default outcome is used.

]]> + + + + + + + + + + + + + A parameter to pass when calling the method + identified in the "method" element that is a sibling of this element.

+ + ]]> + + + + + + + + + + + + + + + + + + + + + A parameter to pass when calling the method + identified in the "method" element that is a sibling of this element.

+ +]]> + + + + + + + The optional "class" element within a "parameter" element + will be interpreted as the fully qualified class name for the type + of the "value" element.

+ + ]]>
+
+ + + + The "value" element within an "parameter" + must be a literal string or an EL Expression whose "get" will be called when the "method" + associated with this element is invoked.

+ + ]]>
+
+ +
+ +
+ + + + + + + Define a view node in a flow graph.

+ +

This element must contain exactly one +<vdl-document> element.

+ +]]> + +
+
+ + + + + + Define the vdl-document for the enclosing view.

+ +]]> + + + + + + + + +The id of this view. It must be + unique within the flow.

+ + ]]> +
+
+ +
+ + + + + + Define a switch node in a flow graph.

+ +
+ +

This element must contain one or more +<case> elements. When control passes to the +<switch> node, each of the cases must be considered +in order and control must past to the <from-outcome> +of the first one whose <if> expression evaluates to +true.

+ +
+ +]]> + +
+
+ + + + + + Defines a case that must be + considered in the list of cases in the + <switch>.

+ +]]> + +
+
+
+ + + + + Defines the default case that will + be taken if none of the other cases in the + <switch> are taken.

+ +]]> + +
+
+
+
+ + + +The id of this switch. It must be + unique within the flow.

+ + ]]> +
+
+
+
+ + + + Defines a case that will + be considered in the <switch>.

+ + + ]]>
+
+ + + + + If this EL expression evaluates to + true, the corresponding from-outcome will + be the outcome taken by the enclosing <switch>

+ + ]]>
+
+
+ + + The "from-outcome" element contains a logical outcome + string returned by the execution of an application + action method selected via an "actionRef" property + (or a literal value specified by an "action" property) + of a UICommand component. If specified, this rule + will be relevant only if the outcome value matches + this element's value. If not specified, this rule + will be relevant if the outcome value is non-null + or, if the "if" element is present, will be relevant + for any outcome value, with the assumption that the + condition specified in the "if" element ultimately + determines if this rule is a match.

+ +

If used in a faces flow, this element +represents the node id to which control will be passed.

+ + +]]> + +
+
+
+
+ + +
+ + + + + + Define a return node in a flow graph.

+ +
+ +

This element must contain exactly one <from-outcome> element.

+
+ +]]> + +
+
+ + + + + This element +represents the node id to which control will be passed.

+ + +]]> + +
+
+
+
+ + + + +The id of this flow-return.

+ + ]]> +
+
+
+ +
+ + + + + + Define a call node in a flow graph.

+ +
+ +

This element must contain exactly one <flow-reference> element, +which must contain exactly one <flow-id> element.

+
+ +]]> + +
+
+ + + + + + + The flow id of the called flow.

+ +]]> + + + + + + + + + A parameter to pass when calling the flow + identified in the "flow-reference" element that is a sibling of this element.

+ +]]> + + + + + + + + + +The id of this flow-return.

+ + ]]> +
+
+ + +
+ + + + + + Identifiy the called flow.

+ +
+ +
+]]> + +
+
+ + + + The document id of the called flow.

+ + ]]>
+
+
+ + + + The id of the called flow.

+ + ]]>
+
+
+ +
+
+ + + + + + A MethodExpression that will be invoked when the flow is entered.

+ +]]> + + + + + + + + + + + + + + + A MethodExpression that will be invoked when the flow is exited.

+ +]]> + + + + + + + + + + + + + + + A named parameter whose value will be populated + with a correspondingly named parameter within an "outbound-parameter" element.

+ +]]> + + + + + + + The "name" element within an "inbound-parameter" + element declares the name of this parameter + to be passed into a flow. There must be + a sibling "value" element in the same parent as this element.

+ + ]]>
+
+ + + + The "value" element within an "inbound-parameter" + must be an EL Expression whose value will be set with the correspondingly + named "outbound-parameter" when this flow is entered, if such a + parameter exists.

+ + ]]>
+
+ +
+ +
+ + + + + + A named parameter whose value will be + passed to a correspondingly named parameter within an "inbound-parameter" element + on the target flow.

+ +]]> + + + + + + + The "name" element within an "outbound-parameter" element + declares the name of this parameter to be passed out of a flow. There must be + a sibling "value" element in the same parent as this element.

+ + ]]>
+
+ + + + The "value" element within an "outbound-parameter" + must be a literal string or an EL Expression whose "get" will be called when the "flow-call" + containing this element is traversed to go to a new flow.

+ + ]]>
+
+ +
+ +
+ + + + + + Extension element for managed-bean. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + + Defines the legal values for the + element's body content, which includes all of the scopes + normally used in a web application, plus the "none" value + indicating that a created bean should not be stored into + any scope. Alternatively, an EL expression may be used + as the value of this element. The result of evaluating this + expression must by of type java.util.Map.

+ + ]]> +
+
+ + + + + +
+ + + + + + + The "managed-property" element represents an individual + property of a managed bean that will be configured to the + specified value (or value set) if the corresponding + managed bean is automatically created.

+ + ]]>
+
+ + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value may + be stored.

+ + ]]>
+
+
+ + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified + if the configuration file is going to be the source + for generating the corresponding classes.

+ + ]]>
+
+
+ + + + + + +
+ +
+ + + + + + + The "map-entry" element reprsents a single key-entry pair + that will be added to the computed value of a managed + property of type java.util.Map.

+ + ]]>
+
+ + + + The "key" element is the String representation of a + map key that will be stored in a managed property of + type java.util.Map.

+ + ]]>
+
+
+ + + + +
+ +
+ + + + + + + The "map-entries' element represents a set of key-entry pairs + that will be added to the computed value of a managed property + of type java.util.Map. In addition, the Java class types + of the key and entry values may be optionally declared.

+ + ]]>
+
+ + + + The "key-class" element defines the Java type to which + each "key" element in a set of "map-entry" elements + will be converted to. If omitted, "java.lang.String" + is assumed.

+ + ]]>
+
+
+ + +
+ +
+ + + + + + + The + "navigation-case" element describes a particular + combination of conditions that must match for this case to + be executed, and the view id of the component tree that + should be selected next.

+ + ]]>
+
+ + + + + + The "from-outcome" element contains a logical outcome + string returned by the execution of an application + action method selected via an "actionRef" property + (or a literal value specified by an "action" property) + of a UICommand component. If specified, this rule + will be relevant only if the outcome value matches + this element's value. If not specified, this rule + will be relevant if the outcome value is non-null + or, if the "if" element is present, will be relevant + for any outcome value, with the assumption that the + condition specified in the "if" element ultimately + determines if this rule is a match.

+ +]]> + +
+
+
+ + + Please see section JSF.7.4.2 for the specification of this element.

+ + ]]>
+
+
+ + + The "to-view-id" element + contains the view identifier (or + flow node id, or flow id) + of the next view (or flow node or + flow) that should be displayed if this + navigation rule is matched. If the contents is a + value expression, it should be resolved by the + navigation handler to obtain the view ( + or flow node or flow) + identifier.

+ + ]]>
+
+
+ + + The document id of the called flow. + If this element appears in a <navigation-case> nested within + a <flow-definition>, it must be ignored because navigation + cases within flows may only navigate among the view nodes of that + flow.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + The "navigation-rule" element represents an individual + decision rule that will be utilized by the default + NavigationHandler implementation to make decisions on + what view should be displayed next, based on the + view id being processed.

+ + ]]>
+
+ + + + + + + +
+ + + + + + + Extension element for navigation-rule. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "null-value" element indicates that the managed + property in which we are nested will be explicitly + set to null if our managed bean is automatically + created. This is different from omitting the managed + property element entirely, which will cause no + property setter to be called for this property.

+ +

The "null-value" element can only be used when the + associated "property-class" identifies a Java class, + not a Java primitive.

+ + ]]>
+
+ +
+ + + + + + + The "property" element represents a JavaBean property of the + Java class represented by our parent element.

+ +

Property names must be unique within the scope of the Java + class that is represented by the parent element, and must + correspond to property names that will be recognized when + performing introspection against that class via + java.beans.Introspector.

+ + ]]>
+
+ + + + + The "property-name" element represents the JavaBeans + property name under which the corresponding value + may be stored.

+ + ]]>
+
+
+ + + The "property-class" element represents the Java type + of the value associated with this property name. + If not specified, it can be inferred from existing + classes; however, this element should be specified if + the configuration file is going to be the source for + generating the corresponding classes.

+ + ]]>
+
+
+ + + +
+ +
+ + + + + + + Any view that matches any of the + url-patterns in this element may only be reached from another JSF + view in the same web application. Because the runtime is aware of + which views are protected, any navigation from an unprotected + view to a protected view is automatically subject to + protection.

+ + ]]>
+
+ + + +
+ + + + + + + Extension element for property. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "redirect" element indicates that navigation to the + specified "to-view-id" should be accomplished by + performing an HTTP redirect rather than the usual + ViewHandler mechanisms.

+ + ]]>
+
+ + + + + +
+ + + + + + + This element was introduced due to a specification + error, and is now deprecated. The correct name for + this element is "redirect-param" and its meaning is + documented therein. The "view-param" element is + maintained to preserve backwards compatibility. + Implementations must treat this element the same as + "redirect-param".

+ + ]]>
+
+ + + + + +
+ + + + + + + The "redirect-param" element, only valid within + a "redirect" element, contains child "name" + and "value" elements that must be included in the + redirect url when the redirect is performed.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "referenced-bean" element represents at design time the + promise that a Java object of the specified type will exist at + runtime in some scope, under the specified key. This can be + used by design time tools to construct user interface dialogs + based on the properties of the specified class. The presence + or absence of a referenced bean element has no impact on the + JavaServer Faces runtime environment inside a web application.

+ + ]]>
+
+ + + + + The "referenced-bean-name" element represents the + attribute name under which the corresponding + referenced bean may be assumed to be stored, in one + of 'request', 'session', 'view', 'application' + or a custom scope.

+ + ]]>
+
+
+ + + The "referenced-bean-class" element represents the + fully qualified class name of the Java class + (either abstract or concrete) or Java interface + implemented by the corresponding referenced bean.

+ + ]]>
+
+
+
+ +
+ + + + + + + The "render-kit" element represents a concrete RenderKit + implementation that should be registered under the specified + render-kit-id. If no render-kit-id is specified, the + identifier of the default RenderKit + (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.

+ + ]]>
+
+ + + + + The "render-kit-id" element represents an identifier + for the RenderKit represented by the parent + "render-kit" element.

+ + ]]>
+
+
+ + + The "render-kit-class" element represents the fully + qualified class name of a concrete RenderKit + implementation class.

+ + ]]>
+
+
+ + + +
+ +
+ + + + + + + The "client-behavior-renderer" element represents a concrete + ClientBehaviorRenderer implementation class that should be + registered under the specified behavior renderer type identifier, + in the RenderKit associated with the parent "render-kit" + element. Client Behavior renderer type must be unique within the RenderKit + associated with the parent "render-kit" element.

+ +

Nested "attribute" elements identify generic component + attributes that are recognized by this renderer.

+ + ]]>
+
+ + + + The "client-behavior-renderer-type" element represents a renderer type + identifier for the Client Behavior Renderer represented by the parent + "client-behavior-renderer" element.

+ + ]]>
+
+
+ + + The "client-behavior-renderer-class" element represents the fully + qualified class name of a concrete Client Behavior Renderer + implementation class.

+ + ]]>
+
+
+
+ +
+ + + + + + + The "renderer" element represents a concrete Renderer + implementation class that should be registered under the + specified component family and renderer type identifiers, + in the RenderKit associated with the parent "render-kit" + element. Combinations of component family and + renderer type must be unique within the RenderKit + associated with the parent "render-kit" element.

+ +

Nested "attribute" elements identify generic component + attributes that are recognized by this renderer.

+ + ]]>
+
+ + + + + The "component-family" element represents the + component family for which the Renderer represented + by the parent "renderer" element will be used.

+ + ]]>
+
+
+ + + The "renderer-type" element represents a renderer type + identifier for the Renderer represented by the parent + "renderer" element.

+ + ]]>
+
+
+ + + The "renderer-class" element represents the fully + qualified class name of a concrete Renderer + implementation class.

+ + ]]>
+
+
+ + + +
+ +
+ + + + + + + Extension element for renderer. It may contain implementation + specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + Extension element for render-kit. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "suggested-value" contains the value for the property or + attribute in which this element resides. This value is + advisory only and is intended for tools to use when + populating pallettes.

+ + ]]>
+
+ + + +
+ + + + + + + The "supported-locale" element allows authors to declare + which locales are supported in this application instance.

+ +

It must be specified as :language:[_:country:[_:variant:]] + without the colons, for example "ja_JP_SJIS". The + separators between the segments may be '-' or '_'.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "behavior" element represents a concrete Behavior + implementation class that should be registered under the + specified behavior identifier. Behavior identifiers must + be unique within the entire web application.

+ +

Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Behavior. Nested "property" + elements identify JavaBeans properties of the Behavior + implementation class that may be configured to affect the + operation of the Behavior. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics.

+ + ]]>
+
+ + + + + The "behavior-id" element represents the identifier + under which the corresponding Behavior class should + be registered.

+ + ]]>
+
+
+ + + The "behavior-class" element represents the fully + qualified class name of a concrete Behavior + implementation class.

+ + ]]>
+
+
+ + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Behavior. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime.

+ + ]]>
+
+
+ + + Nested "property" elements identify JavaBeans + properties of the Behavior implementation class + that may be configured to affect the operation of + the Behavior. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for behavior. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + + + + The "validator" element represents a concrete Validator + implementation class that should be registered under the + specified validator identifier. Validator identifiers must + be unique within the entire web application.

+ +

Nested "attribute" elements identify generic attributes that + may be configured on the corresponding UIComponent in order + to affect the operation of the Validator. Nested "property" + elements identify JavaBeans properties of the Validator + implementation class that may be configured to affect the + operation of the Validator. "attribute" and "property" + elements are intended to allow component developers to + more completely describe their components to tools and users. + These elements have no required runtime semantics.

+ + ]]>
+
+ + + + + The "validator-id" element represents the identifier + under which the corresponding Validator class should + be registered.

+ + ]]>
+
+
+ + + The "validator-class" element represents the fully + qualified class name of a concrete Validator + implementation class.

+ + ]]>
+
+
+ + + Nested "attribute" elements identify generic + attributes that may be configured on the + corresponding UIComponent in order to affect the + operation of the Validator. This attribute is + primarily for design-time tools and is not + specified to have any meaning at runtime.

+ + ]]>
+
+
+ + + Nested "property" elements identify JavaBeans + properties of the Validator implementation class + that may be configured to affect the operation of + the Validator. This attribute is primarily for + design-time tools and is not specified to have + any meaning at runtime.

+ + ]]>
+
+
+ +
+ +
+ + + + + + + Extension element for validator. It may contain + implementation specific content.

+ + ]]>
+
+ + + + +
+ + + + The "value" element is the String representation of + a literal value to which a scalar managed property + will be set, or a value binding expression ("#{...}") + that will be used to calculate the required value. + It will be converted as specified for the actual + property type.

+ + ]]>
+
+ +
+ + + + + + + The "value-class" element defines the Java type to which each + "value" element's value will be converted to, prior to adding + it to the "list-entries" list for a managed property that is + a java.util.List, or a "map-entries" map for a managed + property that is a java.util.Map.

+ + ]]>
+
+ + + + + +
+ + + + + + + The "list-entries" element represents a set of initialization + elements for a managed property that is a java.util.List or an + array. In the former case, the "value-class" element can + optionally be used to declare the Java type to which each + value should be converted before adding it to the Collection.

+ + ]]>
+
+ + + + + + + + +
+ + + + + + + The presence of this element within the "application" element in + an application configuration resource file indicates the + developer wants to add an SystemEventListener to this + application instance. Elements nested within this element allow + selecting the kinds of events that will be delivered to the + listener instance, and allow selecting the kinds of classes that + can be the source of events that are delivered to the listener + instance.

+ + ]]>
+
+ + + + The "system-event-listener-class" element contains + the fully qualified class name of the concrete + SystemEventListener implementation class that will be + called when events of the type specified by the + "system-event-class" are sent by the runtime.

+ + ]]>
+
+
+ + + The "system-event-class" element contains the fully + qualified class name of the SystemEvent subclass for + which events will be delivered to the class whose fully + qualified class name is given by the + "system-event-listener-class" element.

+ + ]]>
+
+
+ + + The "source-class" element, if present, contains the + fully qualified class name of the class that will be the + source for the event to be delivered to the class whose + fully qualified class name is given by the + "system-event-listener-class" element.

+ + ]]>
+
+
+
+ +
+ + + + This type contains the recognized versions of + faces-config supported.

+ + ]]>
+
+ + + +
+ +
diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-facesuicomponent_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-facesuicomponent_2_0.xsd new file mode 100644 index 0000000000..e7bd7c64c7 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-facesuicomponent_2_0.xsd @@ -0,0 +1,220 @@ + + + + + + + + + + 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. + + + + + + + + + + + + + + + + The elements in this schema may also be used in a facelet taglibrary + file in the same manner: + + + http://domain.com/test_schema + + testSchema + + javax.faces.Input + javax.faces.Text + com.sun.faces.facelets.tag.jsf.ComponentHandler + + + + + + + + + + The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for javaee namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-facesuicomponent_2_0.xsd + + ]]> + + + + + + + + + + + + + + + + + + The "attribute" element declares an attribute of this + ui component. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_0.xsd new file mode 100644 index 0000000000..fdd422d776 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_0.xsd @@ -0,0 +1,272 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The web-fragment element is the root of the deployment + descriptor for a web fragment. Note that the sub-elements + of this element can be in the arbitrary order. Because of + that, the multiplicity of the elements of distributable, + session-config, welcome-file-list, jsp-config, login-config, + and locale-encoding-mapping-list was changed from "?" to "*" + in this schema. However, the deployment descriptor instance + file must not contain multiple elements of session-config, + jsp-config, and login-config. When there are multiple elements of + welcome-file-list or locale-encoding-mapping-list, the container + must concatenate the element contents. The multiple occurence + of the element distributable is redundant and the container + treats that case exactly in the same way when there is only + one distributable. + + + + + + + + The servlet element contains the name of a servlet. + The name must be unique within the web application. + + + + + + + + + + + The filter element contains the name of a filter. + The name must be unique within the web application. + + + + + + + + + + + The ejb-local-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The message-destination-ref-name element specifies the name of + a message destination reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within a web application. + + + + + + + + + + + The env-entry-name element contains the name of a web + application's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name + must be unique within a web application. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_1.xsd new file mode 100644 index 0000000000..435ba584f2 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-fragment_3_1.xsd @@ -0,0 +1,340 @@ + + + + + + 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. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for Java EE + namespace with the following location: + + http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd + + ]]> + + + + + + + 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. + + + + + + + + + + + + + + The web-fragment element is the root of the deployment + descriptor for a web fragment. Note that the sub-elements + of this element can be in the arbitrary order. Because of + that, the multiplicity of the elements of distributable, + session-config, welcome-file-list, jsp-config, login-config, + and locale-encoding-mapping-list was changed from "?" to "*" + in this schema. However, the deployment descriptor instance + file must not contain multiple elements of session-config, + jsp-config, and login-config. When there are multiple elements of + welcome-file-list or locale-encoding-mapping-list, the container + must concatenate the element contents. The multiple occurence + of the element distributable is redundant and the container + treats that case exactly in the same way when there is only + one distributable. + + + + + + + + The servlet element contains the name of a servlet. + The name must be unique within the web application. + + + + + + + + + + + The filter element contains the name of a filter. + The name must be unique within the web application. + + + + + + + + + + + The ejb-local-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The ejb-ref-name element contains the name of an EJB + reference. The EJB reference is an entry in the web + application's environment and is relative to the + java:comp/env context. The name must be unique within + the web application. + + It is recommended that name is prefixed with "ejb/". + + + + + + + + + + + The resource-env-ref-name element specifies the name of + a resource environment reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The message-destination-ref-name element specifies the name of + a message destination reference; its value is the + environment entry name used in the web application code. + The name is a JNDI name relative to the java:comp/env + context and must be unique within a web application. + + + + + + + + + + + The res-ref-name element specifies the name of a + resource manager connection factory reference. The name + is a JNDI name relative to the java:comp/env context. + The name must be unique within a web application. + + + + + + + + + + + The env-entry-name element contains the name of a web + application's environment entry. The name is a JNDI + name relative to the java:comp/env context. The name + must be unique within a web application. + + + + + + + + + + + A role-name-key is specified to allow the references + from the security-role-refs. + + + + + + + + + + + The keyref indicates the references from + security-role-ref to a specified role-name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Please see section 8.2.2 of the specification for details. + + + + + + + + + + + + + + + + + This element contains a sequence of "name" elements, each of + which + refers to an application configuration resource by the "name" + declared on its web.xml fragment. This element can also contain + a single "others" element which specifies that this document + comes + before or after other documents within the application. + See section 8.2.2 of the specification for details. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-jsptaglibrary_2_1.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-jsptaglibrary_2_1.xsd new file mode 100644 index 0000000000..705a0852da --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-jsptaglibrary_2_1.xsd @@ -0,0 +1,1150 @@ + + + + + + @(#)web-jsptaglibrary_2_1.xsds 1.1 + + + + + + + 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. + + + + + + + + ... + + + 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 + + ]]> + + + + + + + + + + + + + The taglib tag is the document root. + The definition of taglib is provided + by the tldTaglibType. + + + + + + + + The taglib element contains, among other things, tag and + tag-file elements. + The name subelements of these elements must each be unique. + + + + + + + + + + + + The taglib element contains function elements. + The name subelements of these elements must each be unique. + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + 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 + + + + + + + + + + + A unique name for this function. + + + + + + + + + Provides the fully-qualified class name of the Java + class containing the static method that implements + the function. + + + + + + + + + + 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 ) + + + + + + + + + + The example element contains an informal description + of an example of the use of this function. + + + + + + + + + + Function extensions are for tool use only and must not + affect the behavior of a container. + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + The example element contains an informal description + of an example of the use of a tag. + + + + + + + + + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + Defines the subclass of javax.serlvet.jsp.tagext.JspTag + that implements the request time semantics for + this tag. (required) + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + + + + The example element contains an informal description + of an example of the use of a tag. + + + + + + + + + + Tag extensions are for tool use only and must not affect + the behavior of a container. + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + Defines if the nesting attribute is required or + optional. + + If not present then the default is "false", i.e + the attribute is optional. + + + + + + + + + + + + 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 + + + + + + + + + Defines the Java type of the attributes value. + If this element is omitted, the expected type is + assumed to be "java.lang.Object". + + + + + + + + + + + + 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. + + + + + + + + + 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. + + + + + + + + + + + + "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" + + + + + + + + + + + + + + + + + + Defines the canonical name of a tag or attribute being + defined. + + The name must conform to the lexical rules for an NMTOKEN. + + + + + + + + + + + + + + + + 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. + + + + + + + + + + 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) + + + + + + + + + + + + + + + + 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 + + + + + + + + + + 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". + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + Describes this version (number) of the taglibrary. + It is described as a dewey decimal. + + + + + + + + + + + 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. + + + + + + + + + + Defines a public URI that uniquely identifies this + version of the taglibrary. Leave it empty if it + does not apply. + + + + + + + + + + + + + + + + + Taglib extensions are for tool use only and must not + affect the behavior of a container. + + + + + + + + + + Describes the JSP version (number) this taglibrary + requires in order to function (dewey decimal) + + + + + + + + + + + + + + + A validator that can be used to validate + the conformance of a JSP page to using this tag library is + defined by a validatorType. + + + + + + + + + + + Defines the TagLibraryValidator class that can be used + to validate the conformance of a JSP page to using this + tag library. + + + + + + + + + The init-param element contains a name/value pair as an + initialization param. + + + + + + + + + + + + + + + + + This type defines scope of the scripting variable. See + TagExtraInfo for details. The allowed values are, + "NESTED", "AT_BEGIN" and "AT_END". + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + The name for the scripting variable. + + + + + + + + + + The name of an attribute whose + (translation-time) value will give the name of + the variable. + + + + + + + + + + The optional name of the class for the scripting + variable. The default is java.lang.String. + + + + + + + + + + + + Whether the scripting variable is to be defined + or not. See TagExtraInfo for details. This + element is optional and "true" is the default. + + + + + + + + + The element is optional and "NESTED" is the default. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_0.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_0.xsd new file mode 100644 index 0000000000..b9525d55f4 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_0.xsd @@ -0,0 +1,312 @@ + + + + + + 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. + + + + + + + + The XML Schema for the JavaServer Faces (Version 2.0) + Partial Response used in JSF Ajax frameworks. + + + + + + + + + + + + + + The "partial-response" element is the root of the partial + response information hierarchy, and contains nested elements for all + possible elements that can exist in the response. + + + + + + + + + + + + + The "partial-response" element is the root of thei partial + response information hierarchy, and contains nested elements for all + possible elements that can exist in the response. + + + + + + + + + + + + + + + + + + + + + + + + The "eval" element enables this element's contents to be executed as JavaScript. + + + + + + + + + + + + + + + + The "update" element enables DOM elements matching the "id" + attribute to be updated with the contents of this element. + + + + + + + + + + + + + + + + + + The "insert" element enables content to be inserted into the DOM + before or after an existing DOM element as specified by the + nested "before" or "after" elements. The elements "before" and + "after" are mutually exclusive - one of them must be specified. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The "delete" element enables DOM elements matching the "id" + attribute to be removed. + + + + + + + + + + + + + + The "attributes" element enables attributes of DOM elements matching the "id" + attribute to be updated. If this element is used, then it must contain at + least one "attribute" element. + + + + + + + + + + + + + + + + + + + + + + + + + The "redirect" element enables a redirect to the location as specified by the + "url" attribute. + + + + + + + + + + + + + + The "error" element contains error information from the server. + + + + + + + + + + + + + + + + + Extension element for partial response. It may contain + implementation specific content. + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_2.xsd b/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_2.xsd new file mode 100644 index 0000000000..df60fa59e2 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/web-partialresponse_2_2.xsd @@ -0,0 +1,426 @@ + + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright (c) 2011 - 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.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. + + + + + + + + + The XML Schema for the JavaServer Faces (Version 2.2) + Partial Response used in JSF Ajax frameworks. + +

+ + ]]> +
+
+ + + + + + + + + + The "partial-response" element is the root of the + partial response information hierarchy, and contains + nested elements for all possible elements that can exist + in the response.

+ +

This element must have an "id" attribute whose value + is the return from calling getContainerClientId() on the + UIViewRoot to which this response pertains. + +

+ + ]]> +
+
+
+ + + + + + + + + + The "partial-response" element is the root of the + partial response information hierarchy, and contains + nested elements for all possible elements that can exist + in the response. + +

+ +

+ + ]]> +
+
+ + + + + + + + + This element must have an "id" attribute whose value + is the return from calling getContainerClientId() on the + UIViewRoot to which this response pertains.

+ + ]]> + + + + + + + + + + + + + + The "changes" element contains a collection of child elements, + each of which describes a different change to be applied to the + view in the user agent. + +

+ + ]]> +
+
+ + + + + + + + + + + The "eval" element enables this element's + contents to be executed as JavaScript. + +

+ + ]]> +
+
+
+ +
+
+ + + + + + + + + + The "update" element enables DOM elements matching the "id" + attribute to be updated with the contents of this element. + +

+ + ]]> +
+
+ + + + +
+ + + + + + + + + + The "insert" element enables content to be inserted into the DOM + before or after an existing DOM element as specified by the + nested "before" or "after" elements. The elements "before" and + "after" are mutually exclusive - one of them must be specified. + +

+ + ]]> +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + The "delete" element enables DOM elements matching the "id" + attribute to be removed. + +

+ + ]]> +
+
+ +
+ + + + + + + + + + The "attributes" element enables attributes of DOM elements matching the "id" + attribute to be updated. If this element is used, then it must contain at + least one "attribute" element. + +

+ + ]]> +
+
+ + + + + + + + + + + + +
+ + + + + + + + + + The "redirect" element enables a redirect to the location as specified by the + "url" attribute. + +

+ + ]]> +
+
+ +
+ + + + + + + + + + The "error" element contains error information from the server. + +

+ + ]]> +
+
+ + + + +
+ + + + + + + + + Extension element for partial response. It may contain + implementation specific content. +

+ + ]]> +
+
+ + + + +
+ +
diff --git a/rules-xml/api/src/main/resources/catalog/xsd/xml.xsd b/rules-xml/api/src/main/resources/catalog/xsd/xml.xsd new file mode 100644 index 0000000000..aea7d0db0a --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/xml.xsd @@ -0,0 +1,287 @@ + + + + + + +
+

About the XML namespace

+ +
+

+ This schema document describes the XML namespace, in a form + suitable for import by other schema documents. +

+

+ See + http://www.w3.org/XML/1998/namespace.html and + + http://www.w3.org/TR/REC-xml for information + about this namespace. +

+

+ Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. +

+

+ See further below in this document for more information about how to refer to this schema document from your own + XSD schema documents and about the + namespace-versioning policy governing this schema document. +

+
+
+
+
+ + + + +
+ +

lang (as an attribute name)

+

+ denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.

+ +
+
+

Notes

+

+ Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. +

+

+ See BCP 47 at + http://www.rfc-editor.org/rfc/bcp/bcp47.txt + and the IANA language subtag registry at + + http://www.iana.org/assignments/language-subtag-registry + for further information. +

+

+ The union allows for the 'un-declaration' of xml:lang with + the empty string. +

+
+
+
+ + + + + + + + + +
+ + + + +
+ +

space (as an attribute name)

+

+ denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.

+ +
+
+
+ + + + + + +
+ + + +
+ +

base (as an attribute name)

+

+ denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.

+ +

+ See http://www.w3.org/TR/xmlbase/ + for information about this attribute. +

+
+
+
+
+ + + + +
+ +

id (as an attribute name)

+

+ denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.

+ +

+ See http://www.w3.org/TR/xml-id/ + for information about this attribute. +

+
+
+
+
+ + + + + + + + + + +
+ +

Father (in any context at all)

+ +
+

+ denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: +

+
+

+ In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". +

+
+
+
+
+
+ + + +
+

About this schema document

+ +
+

+ This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow xml:base, + xml:lang, xml:space or + xml:id attributes on elements they define. +

+

+ To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: +

+
+          <schema . . .>
+           . . .
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     
+

+ or +

+
+           <import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     
+

+ Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. +

+
+          <type . . .>
+           . . .
+           <attributeGroup ref="xml:specialAttrs"/>
+     
+

+ will define a type which will schema-validate an instance element + with any of those attributes. +

+
+
+
+
+ + + +
+

Versioning policy for this schema document

+
+

+ In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + + http://www.w3.org/2009/01/xml.xsd. +

+

+ At the date of issue it can also be found at + + http://www.w3.org/2001/xml.xsd. +

+

+ The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + http://www.w3.org/2001/xml.xsd + + will change accordingly; the version at + + http://www.w3.org/2009/01/xml.xsd + + will not change. +

+

+ Previous dated (and unchanging) versions of this schema + document are at: +

+ +
+
+
+
+ +
+ diff --git a/rules-xml/api/src/main/resources/catalog/xsd/xmlcatalog11.xsd b/rules-xml/api/src/main/resources/catalog/xsd/xmlcatalog11.xsd new file mode 100644 index 0000000000..1ac7956b99 --- /dev/null +++ b/rules-xml/api/src/main/resources/catalog/xsd/xmlcatalog11.xsd @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rules-xml/api/src/main/resources/core-catalog.xml b/rules-xml/api/src/main/resources/core-catalog.xml index c69f2b076c..beaa47bfed 100644 --- a/rules-xml/api/src/main/resources/core-catalog.xml +++ b/rules-xml/api/src/main/resources/core-catalog.xml @@ -23,14 +23,70 @@ - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +