@(#)javaee_5.xsds 1.65 06/02/17 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. Copyright 2003-2005 Sun Microsystems, Inc. All rights reserved. The contents of this file are subject to the terms of either the GNU General Public License Version 2 only ("GPL") or the Common Development and Distribution License("CDDL") (collectively, the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific language governing permissions and limitations under the License. When distributing the software, include this License Header Notice in each file and include the License file at glassfish/bootstrap/legal/LICENSE.txt. Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the GPL Version 2 section of the License file that accompanied this code. If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: "Portions Copyrighted [year] [name of copyright owner]" Contributor(s): If you wish your version of this file to be governed by only the CDDL or only the GPL Version 2, indicate your decision by adding "[Contributor] elects to include this software in this distribution under the [CDDL or GPL Version 2] license." If you don't indicate a single choice of license, a recipient has the option to distribute your version of this file under either the CDDL, the GPL Version 2 or to extend the choice of license to its licensees as provided above. However, if you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then the option applies only if the new code is made subject to such option by the copyright holder. 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.