diff --git a/impl/src/main/java/com/sun/faces/config/manager/FacesSchema.java b/impl/src/main/java/com/sun/faces/config/manager/FacesSchema.java
index fe3ff0ab59..88e518ae44 100644
--- a/impl/src/main/java/com/sun/faces/config/manager/FacesSchema.java
+++ b/impl/src/main/java/com/sun/faces/config/manager/FacesSchema.java
@@ -30,6 +30,8 @@
import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_3_0_XSD_FILE;
import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_4_0_XSD;
import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_4_0_XSD_FILE;
+import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_4_1_XSD;
+import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_4_1_XSD_FILE;
import static com.sun.faces.config.manager.FacesSchema.Schemas.FACES_CONFIG_1_X_DEFAULT_NS;
import static com.sun.faces.config.manager.FacesSchema.Schemas.JAKARTAEE_SCHEMA_DEFAULT_NS;
import static com.sun.faces.config.manager.FacesSchema.Schemas.JAVAEE_SCHEMA_DEFAULT_NS;
@@ -63,13 +65,15 @@ public enum FacesSchema {
FACES_23(FACES_2_3_XSD, FACES_2_3_XSD_FILE),
FACES_30(FACES_3_0_XSD, FACES_3_0_XSD_FILE),
FACES_40(FACES_4_0_XSD, FACES_4_0_XSD_FILE),
+ FACES_41(FACES_4_1_XSD, FACES_4_1_XSD_FILE),
// taglib.xml
FACELET_TAGLIB_20(Schemas.FACELET_TAGLIB_2_0_XSD, Schemas.FACELET_TAGLIB_2_0_XSD_FILE),
FACELET_TAGLIB_22(Schemas.FACELET_TAGLIB_2_2_XSD, Schemas.FACELET_TAGLIB_2_2_XSD_FILE),
FACELET_TAGLIB_23(Schemas.FACELET_TAGLIB_2_3_XSD, Schemas.FACELET_TAGLIB_2_3_XSD_FILE),
FACELET_TAGLIB_30(Schemas.FACELET_TAGLIB_3_0_XSD, Schemas.FACELET_TAGLIB_3_0_XSD_FILE),
- FACELET_TAGLIB_40(Schemas.FACELET_TAGLIB_4_0_XSD, Schemas.FACELET_TAGLIB_4_0_XSD_FILE);
+ FACELET_TAGLIB_40(Schemas.FACELET_TAGLIB_4_0_XSD, Schemas.FACELET_TAGLIB_4_0_XSD_FILE),
+ FACELET_TAGLIB_41(Schemas.FACELET_TAGLIB_4_1_XSD, Schemas.FACELET_TAGLIB_4_1_XSD_FILE);
/**
* Constants for individual schema files
@@ -90,6 +94,7 @@ public static class Schemas {
public static final String FACELET_TAGLIB_2_3_XSD = "/com/sun/faces/web-facelettaglibrary_2_3.xsd";
public static final String FACELET_TAGLIB_3_0_XSD = "/com/sun/faces/web-facelettaglibrary_3_0.xsd";
public static final String FACELET_TAGLIB_4_0_XSD = "/com/sun/faces/web-facelettaglibrary_4_0.xsd";
+ public static final String FACELET_TAGLIB_4_1_XSD = "/com/sun/faces/web-facelettaglibrary_4_1.xsd";
public static final String FACES_1_2_XSD = "/com/sun/faces/web-facesconfig_1_2.xsd";
public static final String FACES_1_1_XSD = "/com/sun/faces/web-facesconfig_1_1.xsd";
@@ -99,12 +104,14 @@ public static class Schemas {
public static final String FACES_2_3_XSD = "/com/sun/faces/web-facesconfig_2_3.xsd";
public static final String FACES_3_0_XSD = "/com/sun/faces/web-facesconfig_3_0.xsd";
public static final String FACES_4_0_XSD = "/com/sun/faces/web-facesconfig_4_0.xsd";
+ public static final String FACES_4_1_XSD = "/com/sun/faces/web-facesconfig_4_1.xsd";
public static final String FACELET_TAGLIB_2_0_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_2_0.xsd";
public static final String FACELET_TAGLIB_2_2_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_2_2.xsd";
public static final String FACELET_TAGLIB_2_3_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_2_3.xsd";
public static final String FACELET_TAGLIB_3_0_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_3_0.xsd";
public static final String FACELET_TAGLIB_4_0_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_4_0.xsd";
+ public static final String FACELET_TAGLIB_4_1_XSD_FILE = AS_SCHEMA_DIR + "web-facelettaglibrary_4_1.xsd";
// #### faces-config.xml XSDs within GlassFish
@@ -115,6 +122,7 @@ public static class Schemas {
public static final String FACES_2_3_XSD_FILE = AS_SCHEMA_DIR + "web-facesconfig_2_3.xsd";
public static final String FACES_3_0_XSD_FILE = AS_SCHEMA_DIR + "web-facesconfig_3_0.xsd";
public static final String FACES_4_0_XSD_FILE = AS_SCHEMA_DIR + "web-facesconfig_4_0.xsd";
+ public static final String FACES_4_1_XSD_FILE = AS_SCHEMA_DIR + "web-facesconfig_4_1.xsd";
/**
* Contains associations between grammar name and the physical resource.
@@ -160,6 +168,11 @@ public static class Schemas {
FACES_4_0_XSD,
FACES_4_0_XSD_FILE
},
+ {
+ "web-facesconfig_4_1.xsd",
+ FACES_4_1_XSD,
+ FACES_4_1_XSD_FILE
+ },
{
"facelet-taglib_1_0.dtd",
"/com/sun/faces/facelet-taglib_1_0.dtd",
@@ -190,6 +203,11 @@ public static class Schemas {
FACELET_TAGLIB_4_0_XSD,
FACELET_TAGLIB_4_0_XSD_FILE
},
+ {
+ "web-facelettaglibrary_4_1.xsd",
+ FACELET_TAGLIB_4_1_XSD,
+ FACELET_TAGLIB_4_1_XSD_FILE
+ },
{
"web-facesconfig_1_2.xsd",
FACES_1_2_XSD,
@@ -230,6 +248,11 @@ public static class Schemas {
"/com/sun/faces/jakartaee_10.xsd",
AS_SCHEMA_DIR + "jakartaee_10.xsd"
},
+ {
+ "jakartaee_11.xsd",
+ "/com/sun/faces/jakartaee_11.xsd",
+ AS_SCHEMA_DIR + "jakartaee_11.xsd"
+ },
{
"javaee_web_services_client_1_2.xsd",
"/com/sun/faces/javaee_web_services_client_1_2.xsd",
@@ -293,6 +316,12 @@ public static FacesSchema fromDocumentId(String documentNS, String version, Stri
switch (documentNS) {
case JAKARTAEE_SCHEMA_DEFAULT_NS: {
switch (version) {
+ case "4.1":
+ if ("facelet-taglib".equals(localName)) {
+ return FACELET_TAGLIB_41;
+ } else {
+ return FACES_41;
+ }
case "4.0":
if ("facelet-taglib".equals(localName)) {
return FACELET_TAGLIB_40;
diff --git a/impl/src/main/resources/com/sun/faces/jakartaee_11.xsd b/impl/src/main/resources/com/sun/faces/jakartaee_11.xsd
new file mode 100644
index 0000000000..a198bfff00
--- /dev/null
+++ b/impl/src/main/resources/com/sun/faces/jakartaee_11.xsd
@@ -0,0 +1,3073 @@
+
+
+
+
+
+ Copyright (c) 2009, 2024 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+
+
+
+
+
+
+ The following definitions that appear in the common
+ shareable schema(s) of Jakarta EE deployment descriptors should be
+ interpreted with respect to the context they are included:
+
+ Deployment Component may indicate one of the following:
+ Jakarta 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 Jakarta 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 Jakarta 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 enterprise bean's 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 enterprise bean's 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
+ Jakarta 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 Messaging Connection Factory.
+
+
+
+
+
+
+
+
+ Description of this Messaging Connection Factory.
+
+
+
+
+
+
+
+
+ The name element specifies the JNDI name of the
+ messaging connection factory being defined.
+
+
+
+
+
+
+
+
+ Fully-qualified name of the messaging connection factory
+ interface. Permitted values are jakarta.jms.ConnectionFactory,
+ jakarta.jms.QueueConnectionFactory, or
+ jakarta.jms.TopicConnectionFactory. If not specified,
+ jakarta.jms.ConnectionFactory will be used.
+
+
+
+
+
+
+
+
+ Fully-qualified name of the messaging 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.
+
+
+
+
+
+
+
+
+ Messaging 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 Messaging Destination.
+
+
+
+
+
+
+
+
+ Description of this Messaging Destination.
+
+
+
+
+
+
+
+
+ The name element specifies the JNDI name of the
+ messaging destination being defined.
+
+
+
+
+
+
+
+
+ Fully-qualified name of the messaging destination interface.
+ Permitted values are jakarta.jms.Queue and jakarta.jms.Topic
+
+
+
+
+
+
+
+
+ Fully-qualified name of the messaging 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.
+
+
+
+
+
+
+
+
+ Messaging 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 Jakarta 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 jakarta.persistence and its subnamespaces must not
+ be used for vendor-specific properties. The namespace
+ jakarta.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 Jakarta 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
+
+ jakarta.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 Jakarta 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
+
+ jakarta.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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jakarta.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 Jakarta 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/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.composite.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.composite.taglib.xml
index d29c06a9a6..d811047a54 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.composite.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.composite.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces Composite Components Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.core.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.core.taglib.xml
index fc008a3046..2459297ef5 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.core.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.core.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces Core Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.facelets.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.facelets.taglib.xml
index 0a71c260be..6430dac92a 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.facelets.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.facelets.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces Facelets Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.html.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.html.taglib.xml
index 8f884f9bf3..3f59ffd374 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.html.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.html.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces HTML Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.passthrough.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.passthrough.taglib.xml
index ce8b10ee2e..f8906bf893 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.passthrough.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.passthrough.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces Passthrough Attributes Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.taglib.xml
index f36f7849b8..38edfbb7a5 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/faces.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Faces Passthrough Elements Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.core.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.core.taglib.xml
index d4de234080..a6942cc353 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.core.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.core.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Tags Core Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.functions.taglib.xml b/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.functions.taglib.xml
index e041bc93d5..bba2172b00 100644
--- a/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.functions.taglib.xml
+++ b/impl/src/main/resources/com/sun/faces/metadata/taglib/tags.functions.taglib.xml
@@ -20,8 +20,8 @@
Jakarta Tags Functions Tag Library
diff --git a/impl/src/main/resources/com/sun/faces/web-facelettaglibrary_4_1.xsd b/impl/src/main/resources/com/sun/faces/web-facelettaglibrary_4_1.xsd
new file mode 100644
index 0000000000..8346e03dc0
--- /dev/null
+++ b/impl/src/main/resources/com/sun/faces/web-facelettaglibrary_4_1.xsd
@@ -0,0 +1,751 @@
+
+
+
+
+
+
+
+ Copyright (c) 2024 Contributors to Eclipse Foundation.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+
+
+
+
+
+ The XML Schema for the Tag Libraries in the Jakarta Faces
+ Standard Facelets View Declaration Language (Facelets VDL)
+ (Version 4.1).
+
+ Jakarta Faces 4.1 Facelet Tag Libraries that wish to conform to
+ this schema must declare it in the following manner.
+
+ <facelet-taglib xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_1.xsd"
+ version="4.1">
+
+ ...
+
+ </facelet-taglib>
+
+ The instance documents may indicate the published
+ version of the schema using xsi:schemaLocation attribute
+ for jakartaee namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_1.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 Faces Behavior.
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension element for behavior. It may contain
+ implementation specific content.
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Within a tag element, the component
+ element encapsulates information specific to a Faces UIComponent.
+
+
+
+
As of 3.0 of the specification, this requirement is no longer
+ present: 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 Jakarta Faces Specification Document section 2.6.1.3 "Resource Identifiers".
+ 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 Faces Converter.
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension element for converter It may contain
+ implementation specific content.
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Within a tag element, the validator element encapsulates
+ information specific to a Faces 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/impl/src/main/resources/com/sun/faces/web-facesconfig_4_1.xsd b/impl/src/main/resources/com/sun/faces/web-facesconfig_4_1.xsd
new file mode 100644
index 0000000000..d2e129cf3b
--- /dev/null
+++ b/impl/src/main/resources/com/sun/faces/web-facesconfig_4_1.xsd
@@ -0,0 +1,3447 @@
+
+
+
+
+
+
+
+ Copyright (c) 2024 Contributors to Eclipse Foundation.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+
+
+
+
+
+ The XML Schema for the Jakarta Faces Application
+ Configuration File (Version 4.1).
+
+ All Jakarta Faces configuration files must indicate
+ the Jakarta Faces schema by indicating the
+ Jakarta Faces namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <faces-config xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="4.1">
+ ...
+ </faces-config>
+
+ The instance documents may indicate the published
+ version of the schema using xsi:schemaLocation attribute
+ for jakartaee namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_1.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.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+ 11.3.8 "Ordering of Artifacts" of the Jakarta Faces Specification Document.
+
+ 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.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The metadata-complete attribute defines whether this
+ 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 jakarta.faces.CONFIG_FILES
+ attribute, must be ignored.
+
+ If metadata-complete is set to "true", the 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 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
+ 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
+ 11.3.8 "Ordering of Artifacts" of the Jakarta Faces Specification Document
+ 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 11.3.8 "Ordering of Artifacts" of the Jakarta Faces Specification Document
+ for the complete specification.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+ Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+ Please see
+ section 11.3.8 "Ordering of Artifacts" of the Jakarta Faces Specification Document
+ 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
+ Jakarta Faces. For nested elements that are not specified,
+ the Jakarta Faces 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 Jakarta Faces
+ 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
+ jakarta.el.ELResolver implementation class
+ that will be used during the processing of
+ EL 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 "search-expression-handler"
+ element contains the fully qualified class name of the
+ concrete jakarta.faces.component.search.SearchExpressionHandler
+ implementation class that will be used for processing of a
+ search expression.
+
+ ]]>
+
+
+
+
+
+
+ The "search-keyword-resolver"
+ element contains the fully qualified class name of the
+ concrete jakarta.faces.component.search.SearchKeywordResolver
+ implementation class that will be used during the processing
+ of a search expression keyword.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 Jakarta Faces. For nested elements that are not
+ specified, the Jakarta Faces 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.
+
+ ]]>
+
+
+
+
+
+
+ The "client-window-factory" element contains the fully
+ qualified class name of the concrete ClientWindowFactory implementation class that
+ will be called when FactoryFinder.getFactory(CLIENT_WINDOW_FACTORY) is called.
+
+ ]]>
+
+
+
+
+
+
+ The
+ "search-expression-context-factory" element contains the
+ fully qualified class name of the concrete
+ SearchExpressionContextFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(SEARCH_EXPRESSION_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.
+
+
+ To facilitate BCP 47 this element first needs to be parsed by the
+ Locale.forLanguageTag method. If it does not return a Locale with
+ a language the old specification below needs to take effect.
+
+
+ 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.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 path to 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.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 7.4.2 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification Document
+ 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 Jakarta Faces
+ 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
+ Jakarta 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.
+
+
+ To facilitate BCP 47 this element first needs to be parsed by the
+ Locale.forLanguageTag method. If it does not return a Locale with
+ a language the old specification below needs to take effect.
+
+
+ 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 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/impl/src/main/resources/com/sun/faces/web-partialresponse_4_1.xsd b/impl/src/main/resources/com/sun/faces/web-partialresponse_4_1.xsd
new file mode 100644
index 0000000000..35064f1383
--- /dev/null
+++ b/impl/src/main/resources/com/sun/faces/web-partialresponse_4_1.xsd
@@ -0,0 +1,403 @@
+
+
+
+
+
+
+
+ Copyright (c) 2024 Contributors to Eclipse Foundation.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+
+
+
+
+
+
+
+ The XML Schema for the Jakarta Faces (Version 4.1)
+ Partial Response used in Jakarta Faces 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.
+
+
+ ]]>
+
+
+
+
+
+
+
+
+