Global element and attribute declarations belong to this schema's target namespace.
By default, local element declarations belong to this schema's target namespace.
By default, local attribute declarations have no namespace.
Schema Composition
This schema includes components from the following schema document(s):
javaee_7.xsd
Documentation
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2011 - 2013 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
and Distribution License("CDDL") (collectively, the "License"). You
may not use this file except in compliance with the License. You can
obtain a copy of the License at
https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
or packager/legal/LICENSE.txt. See the License for the specific
language governing permissions and limitations under the License.
When distributing the software, include this License Header Notice in each
file and include the License file at packager/legal/LICENSE.txt.
GPL Classpath Exception:
Oracle designates this particular file as subject to the "Classpath"
exception as provided by Oracle in the GPL Version 2 section of the License
file that accompanied this code.
Modifications:
If applicable, add the following below the License Header, with the fields
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyright [year] [name of copyright owner]"
Contributor(s):
If you wish your version of this file to be governed by only the CDDL or
only the GPL Version 2, indicate your decision by adding "[Contributor]
elects to include this software in this distribution under the [CDDL or GPL
Version 2] license." If you don't indicate a single choice of license, a
recipient has the option to distribute your version of this file under
either the CDDL, the GPL Version 2 or to extend the choice of license to
its licensees as provided above. However, if you add GPL Version 2 code
and therefore, elected the GPL Version 2 license, then the option applies
only if the new code is made subject to such option by the copyright
holder.
The XML Schema for the JavaServer Faces Application
Configuration File (Version 2.2).
All JavaServer Faces configuration files must indicate
the JavaServer Faces schema by indicating the JavaServer
Faces namespace:
http://xmlns.jcp.org/xml/ns/javaee
and by indicating the version of the schema by
using the version element as shown below:
The instance documents may indicate the published
version of the schema using xsi:schemaLocation attribute
for javaee namespace with the following location:
The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.
The resource-bundle element inside the application element
references a java.util.ResourceBundle instance by name
using the var element. ResourceBundles referenced in this
manner may be returned by a call to
Application.getResourceBundle() passing the current
FacesContext for this request and the value of the var
element below.
The "contract-mapping" element
specifies the mappings between a collection of views in the application and resource
library contracts that, if present in the application, must be made
available for use as templates of the specified views.
The "resource-library-contracts" element
specifies the mappings between views in the application and resource
library contracts that, if present in the application, must be made
available for use as templates of the specified views.
The "application" element provides a mechanism to define the
various per-application-singleton implementation artifacts for
a particular web application that is utilizing
JavaServer Faces. For nested elements that are not specified,
the JSF implementation must provide a suitable default.
The "behavior" element represents a concrete Behavior
implementation class that should be registered under the
specified behavior identifier. Behavior identifiers must
be unique within the entire web application.
Nested "attribute" elements identify generic attributes that
may be configured on the corresponding UIComponent in order
to affect the operation of the Behavior. Nested "property"
elements identify JavaBeans properties of the Behavior
implementation class that may be configured to affect the
operation of the Behavior. "attribute" and "property"
elements are intended to allow component developers to
more completely describe their components to tools and users.
These elements have no required runtime semantics.
The "client-behavior-renderer" element represents a concrete
ClientBehaviorRenderer implementation class that should be
registered under the specified behavior renderer type identifier,
in the RenderKit associated with the parent "render-kit"
element. Client Behavior renderer type must be unique within the RenderKit
associated with the parent "render-kit" element.
Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.
The "component" element represents a concrete UIComponent
implementation class that should be registered under the
specified type identifier, along with its associated
properties and attributes. Component types must be unique
within the entire web application.
Nested "attribute" elements identify generic attributes that
are recognized by the implementation logic of this component.
Nested "property" elements identify JavaBeans properties of
the component class that may be exposed for manipulation
via tools.
The "converter" element represents a concrete Converter
implementation class that should be registered under the
specified converter identifier. Converter identifiers must
be unique within the entire web application.
Nested "attribute" elements identify generic attributes that
may be configured on the corresponding UIComponent in order
to affect the operation of the Converter. Nested "property"
elements identify JavaBeans properties of the Converter
implementation class that may be configured to affect the
operation of the Converter. "attribute" and "property"
elements are intended to allow component developers to
more completely describe their components to tools and users.
These elements have no required runtime semantics.
The "default-locale" element declares the default locale
for this application instance.
It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.
The "default-validators" element allows the app developer to
register a set of validators, referenced by identifier, that
are automatically assigned to any EditableValueHolder component
in the application, unless overridden or disabled locally.
The "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.
The "factory" element provides a mechanism to define the
various Factories that comprise parts of the implementation
of JavaServer Faces. For nested elements that are not
specified, the JSF implementation must provide a suitable
default.
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.
This element must contain one or more
<case> elements. When control passes to the
<switch> node, each of the cases must be considered
in order and control must past to the <from-outcome>
of the first one whose <if> expression evaluates to
true.
The "from-action" element contains an action reference
expression that must have been executed (by the default
ActionListener for handling application level events)
in order to select the navigation rule. If not specified,
this rule will be relevant no matter which action reference
was executed (or if no action reference was executed).
The
value of from-view-id must contain one of the following
values:
The exact match for a view identifier that is recognized
by the the ViewHandler implementation being used (such as
"/index.jsp" if you are using the default ViewHandler).
The exact match of a flow node id
in the current flow, or a flow id of another flow.
A proper prefix of a view identifier, plus a trailing
"*" character. This pattern indicates that all view
identifiers that match the portion of the pattern up to the
asterisk will match the surrounding rule. When more than one
match exists, the match with the longest pattern is selected.
An "*" character, which means that this pattern applies
to all view identifiers.
The "if" element defines a condition that must resolve
to true in order for the navigation case on which it is
defined to be matched, with the existing match criteria
(action method and outcome) as a prerequiste, if present.
The condition is defined declaratively using a value
expression in the body of this element. The expression is
evaluated at the time the navigation case is being matched.
If the "from-outcome" is omitted and this element is
present, the navigation handler will match a null outcome
and use the condition return value to determine if the
case should be considered a match.
When used in a <switch> within a flow, if the
expresion returns true, the
<from-outcome> sibling element's outcome is used as
the id of the node in the flow graph to which control must be
passed.
The "lifecycle" element provides a mechanism to specify
modifications to the behaviour of the default Lifecycle
implementation for this web application.
The "list-entries" element represents a set of initialization
elements for a managed property that is a java.util.List or an
array. In the former case, the "value-class" element can
optionally be used to declare the Java type to which each
value should be converted before adding it to the Collection.
Defines the legal values for the
element's body content, which includes all of the scopes
normally used in a web application, plus the "none" value
indicating that a created bean should not be stored into
any scope. Alternatively, an EL expression may be used
as the value of this element. The result of evaluating this
expression must by of type java.util.Map.
The "managed-bean" element represents a JavaBean, of a
particular class, that will be dynamically instantiated
at runtime (by the default VariableResolver implementation)
if it is referenced as the first element of a value binding
expression, and no corresponding bean can be identified in
any scope. In addition to the creation of the managed bean,
and the optional storing of it into the specified scope,
the nested managed-property elements can be used to
initialize the contents of settable JavaBeans properties of
the created instance.
The "managed-property" element represents an individual
property of a managed bean that will be configured to the
specified value (or value set) if the corresponding
managed bean is automatically created.
The "map-entries' element represents a set of key-entry pairs
that will be added to the computed value of a managed property
of type java.util.Map. In addition, the Java class types
of the key and entry values may be optionally declared.
The
"navigation-case" element describes a particular
combination of conditions that must match for this case to
be executed, and the view id of the component tree that
should be selected next.
The "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.
The "null-value" element indicates that the managed
property in which we are nested will be explicitly
set to null if our managed bean is automatically
created. This is different from omitting the managed
property element entirely, which will cause no
property setter to be called for this property.
The "null-value" element can only be used when the
associated "property-class" identifies a Java class,
not a Java primitive.
This element contains a sequence of "id" elements, each of which
refers to an application configuration resource by the "id"
declared on its faces-config element. This element can also contain
a single "others" element which specifies that this document comes
before or after other documents within the application.
This element indicates that the ordering sub-element in which
it was placed should take special action regarding the ordering
of this application resource relative to other
application configuration resources. See section JSF.11.4.6
for the complete specification.
The "property" element represents a JavaBean property of the
Java class represented by our parent element.
Property names must be unique within the scope of the Java
class that is represented by the parent element, and must
correspond to property names that will be recognized when
performing introspection against that class via
java.beans.Introspector.
Any view that matches any of the
url-patterns in this element may only be reached from another JSF
view in the same web application. Because the runtime is aware of
which views are protected, any navigation from an unprotected
view to a protected view is automatically subject to
protection.
The "redirect-param" element, only valid within
a "redirect" element, contains child "name"
and "value" elements that must be included in the
redirect url when the redirect is performed.
The "redirect" element indicates that navigation to the
specified "to-view-id" should be accomplished by
performing an HTTP redirect rather than the usual
ViewHandler mechanisms.
This element was introduced due to a specification
error, and is now deprecated. The correct name for
this element is "redirect-param" and its meaning is
documented therein. The "view-param" element is
maintained to preserve backwards compatibility.
Implementations must treat this element the same as
"redirect-param".
The "referenced-bean" element represents at design time the
promise that a Java object of the specified type will exist at
runtime in some scope, under the specified key. This can be
used by design time tools to construct user interface dialogs
based on the properties of the specified class. The presence
or absence of a referenced bean element has no impact on the
JavaServer Faces runtime environment inside a web application.
The "renderer" element represents a concrete Renderer
implementation class that should be registered under the
specified component family and renderer type identifiers,
in the RenderKit associated with the parent "render-kit"
element. Combinations of component family and
renderer type must be unique within the RenderKit
associated with the parent "render-kit" element.
Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.
The "render-kit" element represents a concrete RenderKit
implementation that should be registered under the specified
render-kit-id. If no render-kit-id is specified, the
identifier of the default RenderKit
(RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
The "suggested-value" contains the value for the property or
attribute in which this element resides. This value is
advisory only and is intended for tools to use when
populating pallettes.
The "supported-locale" element allows authors to declare
which locales are supported in this application instance.
It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.
The presence of this element within the "application" element in
an application configuration resource file indicates the
developer wants to add an SystemEventListener to this
application instance. Elements nested within this element allow
selecting the kinds of events that will be delivered to the
listener instance, and allow selecting the kinds of classes that
can be the source of events that are delivered to the listener
instance.
The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.
The "validator" element represents a concrete Validator
implementation class that should be registered under the
specified validator identifier. Validator identifiers must
be unique within the entire web application.
Nested "attribute" elements identify generic attributes that
may be configured on the corresponding UIComponent in order
to affect the operation of the Validator. Nested "property"
elements identify JavaBeans properties of the Validator
implementation class that may be configured to affect the
operation of the Validator. "attribute" and "property"
elements are intended to allow component developers to
more completely describe their components to tools and users.
These elements have no required runtime semantics.
The "value-class" element defines the Java type to which each
"value" element's value will be converted to, prior to adding
it to the "list-entries" list for a managed property that is
a java.util.List, or a "map-entries" map for a managed
property that is a java.util.Map.
The "value" element is the String representation of
a literal value to which a scalar managed property
will be set, or a value binding expression ("#{...}")
that will be used to calculate the required value.
It will be converted as specified for the actual
property type.
The XML Instance Representation table above shows the schema component's content as an XML instance.
The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
Model group information are shown in gray, e.g. Start Choice ... End Choice.
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
Otherwise, the type of the element/attribute is displayed.
If the element/attribute's type is in the schema, a link is provided to it.
For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Abstract(Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
Collapse Whitespace PolicyReplace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions(Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.
Nillable(Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.
Prohibited Derivations(Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions(Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace PolicyReplace tab, line feed, and carriage return characters with space character (Unicode character 32).
Substitution GroupElements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions(Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target NamespaceThe target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.