web-2/wildfly/docs/schema/web-facesconfig_4_0.xsd

3448 lines
117 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
version="4.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="jakartaee_10.xsd"/>
<xsd:annotation>
<xsd:documentation>
Copyright (c) 2009, 2021 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
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>The XML Schema for the Jakarta Faces Application
Configuration File (Version 4.0).</p>
<p>All Jakarta Faces configuration files must indicate
the Jakarta Faces schema by indicating the
Jakarta Faces namespace:</p>
<p>https://jakarta.ee/xml/ns/jakartaee</p>
<p>and by indicating the version of the schema by
using the version element as shown below:</p>
<pre>&lt;faces-config xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="..."
version="4.0"&gt;
...
&lt;/faces-config&gt;</pre>
<p>The instance documents may indicate the published
version of the schema using xsi:schemaLocation attribute
for jakartaee namespace with the following location:</p>
<p>https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_0.xsd</p>
]]>
</xsd:documentation>
</xsd:annotation>
<!-- **************************************************** -->
<xsd:element name="faces-config"
type="jakartaee:faces-configType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:unique name="faces-config-behavior-ID-uniqueness">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>Behavior IDs must be unique within a document.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:behavior"/>
<xsd:field xpath="jakartaee:behavior-id"/>
</xsd:unique>
<xsd:unique name="faces-config-converter-ID-uniqueness">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>Converter IDs must be unique within a document.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:converter"/>
<xsd:field xpath="jakartaee:converter-id"/>
</xsd:unique>
<xsd:unique name="faces-config-converter-for-class-uniqueness">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>'converter-for-class' element values must be unique
within a document.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:converter"/>
<xsd:field xpath="jakartaee:converter-for-class"/>
</xsd:unique>
<xsd:unique name="faces-config-validator-ID-uniqueness">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Validator IDs must be unique within a document.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:validator"/>
<xsd:field xpath="jakartaee:validator-id"/>
</xsd:unique>
</xsd:element>
<!-- **************************************************** -->
<xsd:complexType name="faces-configType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="application"
type="jakartaee:faces-config-applicationType"/>
<xsd:element name="ordering"
type="jakartaee:faces-config-orderingType"/>
<xsd:element name="absolute-ordering"
type="jakartaee:faces-config-absoluteOrderingType"
minOccurs="0"/>
<xsd:element name="factory"
type="jakartaee:faces-config-factoryType"/>
<xsd:element name="component"
type="jakartaee:faces-config-componentType"/>
<xsd:element name="converter"
type="jakartaee:faces-config-converterType"/>
<xsd:element name="flow-definition"
type="jakartaee:faces-config-flow-definitionType"/>
<xsd:element name="name"
type="jakartaee:java-identifierType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> <span class="changed_modified_2_2">The</span> "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.</p>
<p class="changed_added_2_2">This value is taken to be the
defining document id of any &lt;flow-definition&gt; elements
defined in this Application Configuration Resource file. If this
element is not specified, the runtime must take the empty string
as its value.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="navigation-rule"
type="jakartaee:faces-config-navigation-ruleType"/>
<xsd:element name="protected-views"
type="jakartaee:faces-config-protected-viewsType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="referenced-bean"
type="jakartaee:faces-config-referenced-beanType"/>
<xsd:element name="render-kit"
type="jakartaee:faces-config-render-kitType"/>
<xsd:element name="lifecycle"
type="jakartaee:faces-config-lifecycleType"/>
<xsd:element name="validator"
type="jakartaee:faces-config-validatorType"/>
<xsd:element name="behavior"
type="jakartaee:faces-config-behaviorType"/>
<xsd:element name="faces-config-extension"
type="jakartaee:faces-config-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:choice>
<xsd:attribute name="metadata-complete"
type="xsd:boolean"
use="optional">
<xsd:annotation>
<xsd:documentation>
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.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id"
type="xsd:ID"/>
<xsd:attribute name="version"
type="jakartaee:faces-config-versionType"
use="required"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for faces-config. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-orderingType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Please see section
11.3.8 "Ordering of Artifacts" of the Jakarta Faces Specification Document
for the specification of this element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="after"
type="jakartaee:faces-config-ordering-orderingType"
minOccurs="0"/>
<xsd:element name="before"
type="jakartaee:faces-config-ordering-orderingType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-ordering-orderingType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:java-identifierType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="others"
type="jakartaee:faces-config-ordering-othersType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-ordering-othersType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-absoluteOrderingType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="name"
type="jakartaee:java-identifierType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="others"
type="jakartaee:faces-config-ordering-othersType"
minOccurs="0"/>
</xsd:choice>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-applicationType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="action-listener"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-render-kit-id"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "default-render-kit-id" element allows the
application to define a renderkit to be used other
than the standard one.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-bundle"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="navigation-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="state-manager"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="el-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-library-contracts"
type="jakartaee:faces-config-application-resource-library-contractsType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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.
</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="search-expression-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_3">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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="search-keyword-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_3"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system-event-listener"
type="jakartaee:faces-config-system-event-listenerType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="locale-config"
type="jakartaee:faces-config-locale-configType"/>
<xsd:element name="resource-bundle"
type="jakartaee:faces-config-application-resource-bundleType"/>
<xsd:element name="application-extension"
type="jakartaee:faces-config-application-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="default-validators"
type="jakartaee:faces-config-default-validatorsType"/>
</xsd:choice>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-application-resource-bundleType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="base-name"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The fully qualified class name of the
java.util.ResourceBundle instance.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="var"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The name by which this ResourceBundle instance
is retrieved by a call to
Application.getResourceBundle().</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-application-resource-library-contractsType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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.
</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="contract-mapping"
type="jakartaee:faces-config-application-resource-library-contracts-contract-mappingType"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p classes="changed_added_2_2">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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-application-resource-library-contracts-contract-mappingType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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.
</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="url-pattern"
type="jakartaee:url-patternType"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The "url-pattern" element
specifies the collection of views in this application that
are allowed to use the corresponding contracts.
</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="contracts"
type="jakartaee:string"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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"
</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-application-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for application. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-factoryType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="application-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="exception-handler-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="external-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="faces-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facelet-cache-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="partial-view-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lifecycle-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view-declaration-language-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="tag-handler-delegate-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="render-kit-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="visit-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flash-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flow-handler-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="client-window-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_3"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="search-expression-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_3"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="factory-extension"
type="jakartaee:faces-config-factory-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:choice>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-factory-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for factory. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-attributeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "attribute" element represents a named, typed, value
associated with the parent UIComponent via the generic
attributes mechanism.</p>
<p>Attribute names must be unique within the scope of the parent
(or related) component.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="attribute-name"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "attribute-class" element represents the Java type
of the value associated with this attribute name.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-value"
type="jakartaee:faces-config-default-valueType"
minOccurs="0"/>
<xsd:element name="suggested-value"
type="jakartaee:faces-config-suggested-valueType"
minOccurs="0"/>
<xsd:element name="attribute-extension"
type="jakartaee:faces-config-attribute-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-attribute-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for attribute. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-componentType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="component-type"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "component-type" element represents the name under
which the corresponding UIComponent class should be
registered.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="component-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "component-class" element represents the fully
qualified class name of a concrete UIComponent
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet"
type="jakartaee:faces-config-facetType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="attribute"
type="jakartaee:faces-config-attributeType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="property"
type="jakartaee:faces-config-propertyType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="component-extension"
type="jakartaee:faces-config-component-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-component-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for component. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-default-localeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "default-locale" element declares the default locale
for this application instance.</p>
<p class="modified_added_2_3">
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.
</p>
<p>It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-localeType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-default-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="faces-config-el-expressionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> EL expressions present within a faces config file
must start with the character sequence of '#{' and
end with '}'.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="#\{.*\}"/>
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-facetType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Define the name and other design-time information for a facet
that is associated with a renderer or a component.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="facet-name"
type="jakartaee:java-identifierType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "facet-name" element represents the facet name
under which a UIComponent will be added to its parent.
It must be of type "Identifier".</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet-extension"
type="jakartaee:faces-config-facet-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-facet-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for facet. It may contain implementation
specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-from-view-idType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p><span class="changed_modified_2_2">The</span>
value of from-view-id must contain one of the following
values:</p>
<ul>
<li><p>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).</p></li>
<li><p class="changed_added_2_2">The exact match of a flow node id
in the current flow, or a flow id of another flow.</p></li>
<li><p> 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.
</p></li>
<li><p>An "*" character, which means that this pattern applies
to all view identifiers. </p></li>
</ul>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-from-actionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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).</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-ifType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>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.</p>
<div class="changed_added_2_2">
<p>When used in a <code>&lt;switch&gt;</code> within a flow, if the
expresion returns <code>true</code>, the
<code>&lt;from-outcome&gt;</code> sibling element's outcome is used as
the id of the node in the flow graph to which control must be
passed.</p>
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"></p>
<div class="changed_added_2_2">
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-converterType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:choice>
<xsd:element name="converter-id"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "converter-id" element represents the
identifier under which the corresponding
Converter class should be registered.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="converter-for-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "converter-for-class" element represents the
fully qualified class name for which a Converter
class will be registered.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="converter-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "converter-class" element represents the fully
qualified class name of a concrete Converter
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
type="jakartaee:faces-config-attributeType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
type="jakartaee:faces-config-propertyType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="converter-extension"
type="jakartaee:faces-config-converter-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-converter-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for converter. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-lifecycleType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "lifecycle" element provides a mechanism to specify
modifications to the behaviour of the default Lifecycle
implementation for this web application.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="phase-listener"
type="jakartaee:fully-qualified-classType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "phase-listener" element contains the fully
qualified class name of the concrete PhaseListener
implementation class that will be registered on
the Lifecycle.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lifecycle-extension"
type="jakartaee:faces-config-lifecycle-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-lifecycle-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for lifecycle. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<xsd:simpleType name="faces-config-localeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The localeType defines valid locale defined by ISO-639-1
and ISO-3166.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
</xsd:restriction>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-locale-configType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "locale-config" element allows the app developer to
declare the supported locales for this application.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="default-locale"
type="jakartaee:faces-config-default-localeType"
minOccurs="0"/>
<xsd:element name="supported-locale"
type="jakartaee:faces-config-supported-localeType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-default-validatorsType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="validator-id"
type="jakartaee:string"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "validator-id" element represents the identifier
of a registered validator.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definitionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Top level element for a flow
definition.</p>
<div class="changed_added_2_2">
<p>If there is no <code>&lt;start-node&gt;</code> element declared, it
is assumed to be <code>&lt;flowName&gt;.xhtml</code>.</p>
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="start-node"
type="jakartaee:java-identifierType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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 <code><a target="_"
href="jakarta/faces/flow/FlowHandler.html">FlowHandler</a></code>.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view"
type="jakartaee:faces-config-flow-definition-viewType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="switch"
type="jakartaee:faces-config-flow-definition-switchType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="flow-return"
type="jakartaee:faces-config-flow-definition-flow-returnType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="navigation-rule"
type="jakartaee:faces-config-navigation-ruleType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="flow-call"
type="jakartaee:faces-config-flow-definition-flow-callType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="method-call"
type="jakartaee:faces-config-flow-definition-faces-method-callType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="initializer"
type="jakartaee:faces-config-flow-definition-initializerType"
minOccurs="0"/>
<xsd:element name="finalizer"
type="jakartaee:faces-config-flow-definition-finalizerType"
minOccurs="0"/>
<xsd:element name="inbound-parameter"
type="jakartaee:faces-config-flow-definition-inbound-parameterType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"
use="required">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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 &lt;faces-config&gt;&lt;name&gt; element
must globally identify the flow within the application.<p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-faces-method-callType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="method"
type="jakartaee:faces-config-flow-definition-faces-method-call-methodType"/>
<xsd:element name="default-outcome"
type="jakartaee:string"/>
<xsd:element name="parameter"
type="jakartaee:faces-config-flow-definition-flow-call-parameterType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A parameter to pass when calling the method
identified in the "method" element that is a sibling of this element.<p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-faces-method-call-methodType">
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-flow-call-parameterType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A parameter to pass when calling the method
identified in the "method" element that is a sibling of this element.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="class"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> The optional "class" element within a "parameter" element
will be interpreted as the fully qualified class name for the type
of the "value" element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-viewType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Define a view node in a flow graph.</p>
<p>This element must contain exactly one
<code>&lt;vdl-document&gt;</code> element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="vdl-document"
type="jakartaee:pathType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2 changed_modified_2_3">
Define the path to the vdl-document for the enclosing view.
<p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"
use="required">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The id of this view. It must be
unique within the flow.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-switchType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Define a switch node in a flow graph.</p>
<div class="changed_added_2_2">
<p>This element must contain one or more
<code>&lt;case&gt;</code> elements. When control passes to the
<code>&lt;switch&gt;</code> node, each of the cases must be considered
in order and control must past to the <code>&lt;from-outcome&gt;</code>
of the first one whose <code>&lt;if&gt;</code> expression evaluates to
<code>true</code>.</p>
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="case"
type="jakartaee:faces-config-flow-definition-switch-caseType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Defines a case that must be
considered in the list of cases in the
<code>&lt;switch&gt;</code>.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-outcome"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Defines the default case that will
be taken if none of the other cases in the
<code>&lt;switch&gt;</code> are taken.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"
use="required">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The id of this switch. It must be
unique within the flow.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-switch-caseType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Defines a case that will
be considered in the <code>&lt;switch&gt;</code>.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="if"
type="jakartaee:faces-config-ifType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">If this EL expression evaluates to
<code>true</code>, the corresponding <code>from-outcome</code> will
be the outcome taken by the enclosing <code>&lt;switch&gt;</code></p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="from-outcome"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>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.</p>
<p class="changed_added_2_2">If used in a faces flow, this element
represents the node id to which control will be passed.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID">
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-flow-returnType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Define a return node in a flow graph.</p>
<div class="changed_added_2_2">
<p>This element must contain exactly one <code>&lt;from-outcome&gt;</code> element.</p>
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="from-outcome"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">This element
represents the node id to which control will be passed.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"
use="required">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The id of this flow-return.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-flow-callType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Define a call node in a flow graph.</p>
<div class="changed_added_2_2">
<p>This element must contain exactly one <code>&lt;flow-reference&gt;</code> element,
which must contain exactly one <code>&lt;flow-id&gt;</code> element.</p>
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="flow-reference"
type="jakartaee:faces-config-flow-definition-flow-call-flow-referenceType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The flow id of the called flow.<p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="outbound-parameter"
type="jakartaee:faces-config-flow-definition-flow-call-outbound-parameterType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A parameter to pass when calling the flow
identified in the "flow-reference" element that is a sibling of this element.<p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"
use="required">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The id of this flow-return.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-flow-call-flow-referenceType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">Identifiy the called flow.</p>
<div class="changed_added_2_2">
</div>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="flow-document-id"
type="jakartaee:java-identifierType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>The document id of the called flow.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flow-id"
type="jakartaee:java-identifierType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>The id of the called flow.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-initializerType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is entered.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-finalizerType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is exited.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-inbound-parameterType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A named parameter whose value will be populated
with a correspondingly named parameter within an "outbound-parameter" element.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:java-identifierType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-flow-call-outbound-parameterType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">A named parameter whose value will be
passed to a correspondingly named parameter within an "inbound-parameter" element
on the target flow.<p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:java-identifierType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2"> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-navigation-caseType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> <span class="changed_modified_2_2">The</span>
"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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="from-action"
type="jakartaee:faces-config-from-actionType"
minOccurs="0"/>
<xsd:element name="from-outcome"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="if"
type="jakartaee:faces-config-ifType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Please see section 7.4.2 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification Document
for the specification of this element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="to-view-id"
type="jakartaee:faces-config-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p><span class="changed_modified_2_2">The "to-view-id" element
contains the view identifier (<span class="changed_added_2_2">or
flow node id, or flow id</span>)
of the next view (<span class="changed_added_2_2">or flow node or
flow</span>) 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 (
<span class="changed_added_2_2">or flow node or flow</span>)
identifier.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="to-flow-document-id"
type="jakartaee:java-identifierType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">The document id of the called flow.
If this element appears in a &lt;navigation-case&gt; nested within
a &lt;flow-definition&gt;, it must be ignored because navigation
cases within flows may only navigate among the view nodes of that
flow.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="redirect"
type="jakartaee:faces-config-redirectType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-navigation-ruleType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="from-view-id"
type="jakartaee:faces-config-from-view-idType"/>
<xsd:element name="navigation-case"
type="jakartaee:faces-config-navigation-caseType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="navigation-rule-extension"
type="jakartaee:faces-config-navigation-rule-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-navigation-rule-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for navigation-rule. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-null-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>The "null-value" element can only be used when the
associated "property-class" identifies a Java class,
not a Java primitive.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-propertyType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "property" element represents a JavaBean property of the
Java class represented by our parent element.</p>
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="property-name"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "property-name" element represents the JavaBeans
property name under which the corresponding value
may be stored.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property-class"
type="jakartaee:java-typeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-value"
type="jakartaee:faces-config-default-valueType"
minOccurs="0"/>
<xsd:element name="suggested-value"
type="jakartaee:faces-config-suggested-valueType"
minOccurs="0"/>
<xsd:element name="property-extension"
type="jakartaee:faces-config-property-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-protected-viewsType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p class="changed_added_2_2">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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="url-pattern"
type="jakartaee:url-patternType"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-property-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for property. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-redirectType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="redirect-param"
type="jakartaee:faces-config-redirect-redirectParamType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
<xsd:attribute name="include-view-params"
type="xsd:boolean"
use="optional"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-redirect-viewParamType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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".</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:string"/>
<xsd:element name="value"
type="jakartaee:string"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-redirect-redirectParamType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:string"/>
<xsd:element name="value"
type="jakartaee:string"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-referenced-beanType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="referenced-bean-name"
type="jakartaee:java-identifierType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="referenced-bean-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-render-kitType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="render-kit-id"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "render-kit-id" element represents an identifier
for the RenderKit represented by the parent
"render-kit" element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="render-kit-class"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "render-kit-class" element represents the fully
qualified class name of a concrete RenderKit
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer"
type="jakartaee:faces-config-rendererType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="client-behavior-renderer"
type="jakartaee:faces-config-client-behavior-rendererType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="render-kit-extension"
type="jakartaee:faces-config-render-kit-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-client-behavior-rendererType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="client-behavior-renderer-type"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "client-behavior-renderer-type" element represents a renderer type
identifier for the Client Behavior Renderer represented by the parent
"client-behavior-renderer" element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="client-behavior-renderer-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "client-behavior-renderer-class" element represents the fully
qualified class name of a concrete Client Behavior Renderer
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-rendererType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="component-family"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "component-family" element represents the
component family for which the Renderer represented
by the parent "renderer" element will be used.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer-type"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "renderer-type" element represents a renderer type
identifier for the Renderer represented by the parent
"renderer" element.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "renderer-class" element represents the fully
qualified class name of a concrete Renderer
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet"
type="jakartaee:faces-config-facetType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="attribute"
type="jakartaee:faces-config-attributeType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="renderer-extension"
type="jakartaee:faces-config-renderer-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-renderer-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for renderer. It may contain implementation
specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-render-kit-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for render-kit. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-suggested-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-supported-localeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "supported-locale" element allows authors to declare
which locales are supported in this application instance.</p>
<p class="modified_added_2_3">
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.
</p>
<p>It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-localeType">
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-behaviorType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="behavior-id"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "behavior-id" element represents the identifier
under which the corresponding Behavior class should
be registered.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="behavior-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "behavior-class" element represents the fully
qualified class name of a concrete Behavior
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
type="jakartaee:faces-config-attributeType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
type="jakartaee:faces-config-propertyType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="behavior-extension"
type="jakartaee:faces-config-behavior-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-behavior-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for behavior. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-validatorType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
<p>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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="validator-id"
type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "validator-id" element represents the identifier
under which the corresponding Validator class should
be registered.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="validator-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> The "validator-class" element represents the fully
qualified class name of a concrete Validator
implementation class.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
type="jakartaee:faces-config-attributeType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
type="jakartaee:faces-config-propertyType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="validator-extension"
type="jakartaee:faces-config-validator-extensionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-validator-extensionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> Extension element for validator. It may contain
implementation specific content.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
maxOccurs="unbounded"
namespace="##any"
processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<xsd:simpleType name="faces-config-valueType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:union memberTypes="jakartaee:faces-config-el-expressionType xsd:string"/>
</xsd:simpleType>
<!-- **************************************************** -->
<xsd:complexType name="faces-config-system-event-listenerType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="system-event-listener-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system-event-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="source-class"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> 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.</p>
]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
<xsd:simpleType name="faces-config-versionType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
<p> This type contains the recognized versions of
faces-config supported.</p>
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="4.0"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>