[jboss-cvs] JBossAS SVN: r61901 - in branches/Branch_4_2/server/src/resources: schema and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 30 13:44:59 EDT 2007


Author: stan.silvert at jboss.com
Date: 2007-03-30 13:44:59 -0400 (Fri, 30 Mar 2007)
New Revision: 61901

Added:
   branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_0.dtd
   branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_1.dtd
   branches/Branch_4_2/server/src/resources/schema/web-facesconfig_1_2.xsd
Log:
JBAS-4268


Added: branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_0.dtd
===================================================================
--- branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_0.dtd	                        (rev 0)
+++ branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_0.dtd	2007-03-30 17:44:59 UTC (rev 61901)
@@ -0,0 +1,874 @@
+<!--
+    DTD for the JavaServer Faces Application Configuration File (Version 1.0)
+
+    To support validation of your configuration file(s), include the following
+    DOCTYPE element at the beginning (after the "xml" declaration):
+
+    <!DOCTYPE faces-config PUBLIC
+     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+     "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+
+    $Id: web-facesconfig_1_0.dtd,v 1.33 2006/03/27 17:36:05 rogerk Exp $
+
+-->
+
+
+<!-- ==================== Defined Types =================================== -->
+
+
+<!--
+    An "Action" is a String that represents a method binding
+    expression that points at a method with no arguments that returns a
+    String.  It must be bracketed with "#{}", for example,
+    "#{cardemo.buyCar}".
+-->
+<!ENTITY % Action "CDATA">
+
+
+<!--
+    A "ClassName" is the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element.
+-->
+<!ENTITY % ClassName "CDATA">
+
+
+<!--
+    An "Identifier" is a string of characters that conforms to the variable
+    naming conventions of the Java programming language (JLS Section ?.?.?).
+-->
+<!ENTITY % Identifier "CDATA">
+
+
+<!--
+    A "JavaType" is either the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element, or
+    the name of a Java primitive type (such as int or char).  The class name
+    or primitive type may optionally be followed by "[]" to indicate that
+    the underlying data must be an array, rather than a scalar variable.
+-->
+<!ENTITY % JavaType "CDATA">
+
+
+<!--
+    A "Language" is a lower case two-letter code for a language as defined
+    by ISL-639.
+-->
+<!ENTITY % Language "CDATA">
+
+
+<!--
+    A "ResourcePath" is the relative or absolute path to a resource file
+    (such as a logo image).
+-->
+<!ENTITY % ResourcePath "CDATA">
+
+
+<!--
+    A "Scope" is the well-known name of a scope in which managed beans may
+    optionally be defined to be created in.
+-->
+<!ENTITY % Scope "(request|session|application)">
+
+
+
+<!--
+    A "ScopeOrNone" element defines the legal values for the
+    <managed-bean-scope> element's body content, which includes
+    all of the scopes respresented by the "Scope" type, plus the
+    "none" value indicating that a created bean should not be
+    stored into any scope.
+-->
+<!ENTITY % ScopeOrNone "(request|session|application|none)">
+
+
+<!--
+    A "ViewIdPattern" is a pattern for matching view identifiers in
+    order to determine whether a particular navigation rule should be
+    fired.  It must contain one of the following values:
+
+    - The exact match for a view identifier that is recognized
+      by the the ViewHandler implementation being used (such as
+      "/index.jsp" if you are using the default ViewHandler).
+
+    - A proper prefix of a view identifier, plus a trailing "*"
+      character.  This pattern indicates that all view identifiers that
+      match the portion of the pattern up to the asterisk will match the
+      surrounding rule.  When more than one match exists, the match with
+      the longest pattern is selected.
+
+    - An "*" character, which means that this pattern applies to all
+      view identifiers.
+-->
+<!ENTITY % ViewIdPattern "CDATA">
+
+
+<!-- ==================== Top Level Elements ============================== -->
+
+
+<!--
+    The "faces-config" element is the root of the configuration information
+    hierarchy, and contains nested elements for all of the other configuration
+    settings.
+-->
+<!ELEMENT faces-config    ((application|factory|component|converter|managed-bean|navigation-rule|referenced-bean|render-kit|lifecycle|validator)*)>
+<!ATTLIST faces-config
+       xmlns CDATA #FIXED "http://java.sun.com/JSF/Configuration">
+
+
+
+<!-- ==================== Definition Elements ============================= -->
+
+
+<!--
+    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.
+-->
+<!ELEMENT application     ((action-listener|default-render-kit-id|message-bundle|navigation-handler|view-handler|state-manager|property-resolver|variable-resolver|locale-config)*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT factory     ((application-factory|faces-context-factory|lifecycle-factory|render-kit-factory)*)>
+
+
+<!--
+    The "attribute" element represents a named, typed, value associated with
+    the parent UIComponent via the generic attributes mechanism.
+
+    Attribute names must be unique within the scope of the parent (or related)
+    component.
+-->
+<!ELEMENT attribute       (description*, display-name*, icon*, attribute-name, attribute-class, default-value?, suggested-value?, attribute-extension*)>
+
+<!-- 
+    Extension element for attribute.  May contain implementation
+    specific content.
+-->
+<!ELEMENT attribute-extension ANY>
+
+
+<!--
+    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.
+-->
+<!ELEMENT component       (description*, display-name*, icon*, component-type, component-class, attribute*, property*, component-extension*)>
+
+<!-- 
+    Extension element for component.  May contain implementation
+    specific content.
+-->
+<!ELEMENT component-extension ANY>
+
+
+
+<!--
+    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.
+-->
+<!ELEMENT converter       (description*, display-name*, icon*, (converter-id | converter-for-class), converter-class, attribute*, property*)>
+
+
+<!--
+    The "icon" element contains "small-icon" and "large-icon" elements that
+    specify the resoruce paths for small and large GIF or JPG icon images
+    used to represent the parent element in a GUI tool.
+-->
+<!ELEMENT icon            (small-icon?, large-icon?)>
+<!ATTLIST icon            xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "lifecycle" element provides a mechanism to specify
+    modifications to the behaviour of the default Lifecycle
+    implementation for this web application.
+-->
+<!ELEMENT lifecycle       (phase-listener*)>
+
+<!--
+     The "locale-config" element allows the app developer to declare the
+     supported locales for this application.  
+-->
+<!ELEMENT locale-config (default-locale?, supported-locale*)>
+
+<!--
+    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.
+-->
+<!ELEMENT managed-bean (description*, display-name*, icon*, managed-bean-name, managed-bean-class, managed-bean-scope, (managed-property* | map-entries | list-entries))>
+
+
+<!--
+    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.
+-->
+<!ELEMENT managed-property (description*, display-name*, icon*, property-name, property-class?, (map-entries|null-value|value|list-entries))>
+
+
+<!--
+    The "map-entry" element reprsents a single key-entry pair that
+    will be added to the computed value of a managed property of type
+    java.util.Map.
+-->
+<!ELEMENT map-entry (key, (null-value|value))>
+
+
+<!--
+    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.
+-->
+<!ELEMENT map-entries (key-class?, value-class?, map-entry*)>
+
+
+<!--
+    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.
+-->
+
+<!ELEMENT message-bundle (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT navigation-case (description*, display-name*, icon*, from-action?, from-outcome?, to-view-id, redirect?)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT navigation-rule (description*, display-name*, icon*, from-view-id?, navigation-case*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT property        (description*, display-name*, icon*, property-name, property-class, default-value?, suggested-value?, property-extension*)>
+
+<!-- 
+    Extension element for property.  May contain implementation
+    specific content.
+-->
+<!ELEMENT property-extension ANY>
+
+<!--
+    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.
+-->
+<!ELEMENT referenced-bean (description*, display-name*, icon*, referenced-bean-name, referenced-bean-class)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT render-kit      (description*, display-name*, icon*, render-kit-id?, render-kit-class?, renderer*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT renderer        (description*, display-name*, icon*, component-family, renderer-type, renderer-class, attribute*, renderer-extension*)>
+
+<!-- 
+    Extension element for renderer.  May contain implementation
+    specific content.
+-->
+<!ELEMENT renderer-extension ANY>
+
+<!--
+    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.
+-->
+<!ELEMENT validator       (description*, display-name*, icon*, validator-id, validator-class, attribute*, property*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT list-entries    (value-class?, (null-value|value)*)>
+
+
+<!-- ==================== Subordinate Elements ============================ -->
+
+
+<!--
+    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.
+    It must be of type "ClassName".
+-->
+<!ELEMENT action-listener (#PCDATA)>
+
+<!--
+    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. It must be of type "ClassName".
+-->
+<!ELEMENT application-factory (#PCDATA)>
+
+<!--
+    The "attribute-class" element represents the Java type of the value
+    associated with this attribute name.  It must be of type "ClassName".
+-->
+<!ELEMENT attribute-class (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT attribute-name  (#PCDATA)>
+
+
+<!--
+    The "component-class" element represents the fully qualified class name
+    of a concrete UIComponent implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT component-class (#PCDATA)>
+
+
+<!--
+    The "component-family" element represents the component family for
+    which the Renderer represented by the parent "renderer" element will be
+    used.
+-->
+<!ELEMENT component-family (#PCDATA)>
+
+<!--
+    The "component-type" element represents the name under which the
+    corresponding UIComponent class should be registered.
+-->
+<!ELEMENT component-type  (#PCDATA)>
+
+
+<!--
+    The "converter-class" element represents the fully qualified class name
+    of a concrete Converter implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-class (#PCDATA)>
+
+
+<!--
+    The "converter-for-class" element represents the fully qualified class name
+    for which a Converter class will be registered.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-for-class (#PCDATA)>
+
+
+<!--
+    The "converter-id" element represents the identifier under which the
+    corresponding Converter class should be registered.
+-->
+<!ELEMENT converter-id    (#PCDATA)>
+
+<!--
+    The "default-render-kit-id" element allows the application to define
+    a renderkit to be used other than the standard one. 
+-->
+<!ELEMENT default-render-kit-id   (#PCDATA)>
+
+<!--
+     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
+     '_'.
+-->
+<!ELEMENT default-locale (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT default-value (#PCDATA)>
+
+<!--
+    The "description" element contains a textual description of the element
+    it is nested in, optionally flagged with a language code using the
+    "xml:lang" attribute.
+-->
+<!ELEMENT description     ANY>
+<!ATTLIST description     xml:lang        %Language;      #IMPLIED>
+
+
+<!--
+    The "display-name" element is a short descriptive name describing the
+    entity associated with the element it is nested in, intended to be
+    displayed by tools, and optionally flagged with a language code using
+    the "xml:lang" attribute.
+-->
+<!ELEMENT display-name    (#PCDATA)>
+<!ATTLIST display-name    xml:lang        %Language;      #IMPLIED>
+
+<!--
+    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. It must
+    be of type "ClassName".
+-->
+<!ELEMENT faces-context-factory (#PCDATA)>
+
+<!--
+    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 this navigation rule.  If
+    not specified, this rule will be relevant no matter which action reference
+    was executed (or if no action reference was executed).
+
+    This value must be of type "Action".
+-->
+<!ELEMENT from-action (#PCDATA)>
+
+
+<!--
+    The "from-outcome" element contains a logical outcome string returned
+    by the execution of an application action method selected via an
+    "actionRef" property (or a literal value specified by an "action"
+    property) of a UICommand component.  If specified, this rule will be
+    relevant only if the outcome value matches this element's value.  If
+    not specified, this rule will be relevant no matter what the outcome
+    value was.
+-->
+<!ELEMENT from-outcome    (#PCDATA)>
+
+
+<!--
+    The "from-view-id" element contains the view identifier of the view
+    for which the containing navigation rule is relevant.  If no
+    "from-view" element is specified, this rule applies to navigation
+    decisions on all views.  If this element is not specified, a value
+    of "*" is assumed, meaning that this navigation rule applies to all
+    views.
+
+    This value must be of type "ViewIdPattern".
+-->
+<!ELEMENT from-view-id    (#PCDATA)>
+
+
+<!--
+    The "key" element is the String representation of a map key that
+    will be stored in a managed property of type java.util.Map.  
+-->
+<!ELEMENT key             (#PCDATA)>
+
+
+<!--
+    The "key-class" element defines the Java type to which each "key"
+    element in a set of "map-entry" elements will be converted to.  It
+    must be of type "ClassName".  If omitted, "java.lang.String"
+    is assumed.
+-->
+<!ELEMENT key-class       (#PCDATA)>
+
+
+<!--
+    The "large-icon" element contains the resource path to a large (32x32)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT large-icon      (#PCDATA)>
+
+<!--
+    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. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT lifecycle-factory (#PCDATA)>
+
+<!--
+    The "managed-bean-class" element represents the fully qualified class
+    name of the Java class that will be used to instantiate a new instance
+    if creation of the specified managed bean is requested.  It must be of
+    type "ClassName".
+
+    The specified class must conform to standard JavaBeans conventions.
+    In particular, it must have a public zero-arguments constructor, and
+    zero or more public property setters.
+-->
+<!ELEMENT managed-bean-class  (#PCDATA)>
+
+
+<!--
+    The "managed-bean-name" element represents the attribute name under
+    which a managed bean will be searched for, as well as stored (unless
+    the "managed-bean-scope" value is "none").  It must be of type
+    "Identifier".
+-->
+<!ELEMENT managed-bean-name (#PCDATA)>
+
+
+<!--
+    The "managed-bean-scope" element represents the scope into which a newly
+    created instance of the specified managed bean will be stored (unless
+    the value is "none").  It must be of type "ScopeOrNone".
+-->
+<!ELEMENT managed-bean-scope (#PCDATA)>
+
+<!--
+    The "navigation-handler" element contains the fully qualified class name
+    of the concrete NavigationHandler implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle,
+    if the default ActionListener (provided by the JSF implementation) is used.
+    It must be of type "ClassName".
+-->
+<!ELEMENT navigation-handler (#PCDATA)>
+
+<!--
+The "phase-listener" element contains the fully qualified class
+name of the concrete PhaseListener implementation class that will be
+registered on the Lifecycle. It must be of type "ClassName".
+-->
+<!ELEMENT phase-listener (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT redirect EMPTY>
+
+<!--
+    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.
+-->
+<!ELEMENT suggested-value (#PCDATA)>
+
+
+<!--
+
+    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
+-->
+<!ELEMENT view-handler (#PCDATA)>
+
+<!--
+
+    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
+-->
+<!ELEMENT state-manager (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT null-value EMPTY>
+
+
+<!--
+    The "property-class" element represents the Java type of the value
+    associated with this property name.  It must be of type "JavaType".
+    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.
+-->
+<!ELEMENT property-class  (#PCDATA)>
+
+
+<!--
+    The "property-name" element represents the JavaBeans property name
+    under which the corresponding value may be stored.
+-->
+<!ELEMENT property-name   (#PCDATA)>
+
+
+<!--
+    The "property-resolver" element contains the fully qualified class name
+    of the concrete PropertyResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT property-resolver (#PCDATA)>
+
+
+<!--
+    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.  It must be of type
+    "ClassName".
+-->
+<!ELEMENT referenced-bean-class  (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-name" element represents the attribute name under
+    which the corresponding referenced bean may be assumed to be stored,
+    in one of the scopes defined by the "Scope" type.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT referenced-bean-name (#PCDATA)>
+
+
+<!--
+    The "render-kit-id" element represents an identifier for the
+    RenderKit represented by the parent "render-kit" element.
+-->
+<!ELEMENT render-kit-id   (#PCDATA)>
+
+
+<!--
+    The "render-kit-class" element represents the fully qualified class name
+    of a concrete RenderKit implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT render-kit-class (#PCDATA)>
+
+
+<!--
+    The "renderer-class" element represents the fully qualified class name
+    of a concrete Renderer implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT renderer-class  (#PCDATA)>
+
+<!--
+    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. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT render-kit-factory (#PCDATA)>
+
+<!--
+    The "renderer-type" element represents a renderer type identifier for the
+    Renderer represented by the parent "renderer" element.
+-->
+<!ELEMENT renderer-type   (#PCDATA)>
+
+<!--
+    The "small-icon" element contains the resource path to a large (16x16)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT small-icon      (#PCDATA)>
+
+<!--
+     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 '_'.
+-->
+<!ELEMENT supported-locale (#PCDATA)>
+
+<!--
+    The "to-view" element contains the view identifier of the next view
+    that should be displayed if this navigation rule is matched.  It
+    must be of type "ViewId".
+-->
+<!ELEMENT to-view-id      (#PCDATA)>
+
+
+<!--
+    The "validator-class" element represents the fully qualified class name
+    of a concrete Validator implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT validator-class (#PCDATA)>
+
+
+<!--
+    The "validator-id" element represents the identifier under which the
+    corresponding Validator class should be registered.
+-->
+<!ELEMENT validator-id    (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT value (#PCDATA)>
+
+
+<!--
+    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.  It must be of type "ClassName".  If omitted,
+    "java.lang.String" is assumed.
+-->
+<!ELEMENT value-class (#PCDATA)>
+
+<!--
+    The "variable-resolver" element contains the fully qualified class name
+    of the concrete VariableResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT variable-resolver (#PCDATA)>
+
+
+<!-- ============================ Identifier Attributes ==================== -->
+
+
+<!ATTLIST action-listener                   id ID #IMPLIED>
+<!ATTLIST application                       id ID #IMPLIED>
+<!ATTLIST application-factory               id ID #IMPLIED>
+<!ATTLIST attribute                         id ID #IMPLIED>
+<!ATTLIST attribute-class                   id ID #IMPLIED>
+<!ATTLIST attribute-extension               id ID #IMPLIED>
+<!ATTLIST attribute-name                    id ID #IMPLIED>
+<!ATTLIST component                         id ID #IMPLIED>
+<!ATTLIST component-class                   id ID #IMPLIED>
+<!ATTLIST component-extension               id ID #IMPLIED>
+<!ATTLIST component-family                  id ID #IMPLIED>
+<!ATTLIST component-type                    id ID #IMPLIED>
+<!ATTLIST converter                         id ID #IMPLIED>
+<!ATTLIST converter-class                   id ID #IMPLIED>
+<!ATTLIST converter-for-class               id ID #IMPLIED>
+<!ATTLIST converter-id                      id ID #IMPLIED>
+<!ATTLIST default-locale                    id ID #IMPLIED>
+<!ATTLIST default-render-kit-id             id ID #IMPLIED>
+<!ATTLIST default-value                     id ID #IMPLIED>
+<!ATTLIST description                       id ID #IMPLIED>
+<!ATTLIST display-name                      id ID #IMPLIED>
+<!ATTLIST faces-config                      id ID #IMPLIED>
+<!ATTLIST faces-context-factory             id ID #IMPLIED>
+<!ATTLIST factory                           id ID #IMPLIED>
+<!ATTLIST from-action                       id ID #IMPLIED>
+<!ATTLIST from-outcome                      id ID #IMPLIED>
+<!ATTLIST from-view-id                      id ID #IMPLIED>
+<!ATTLIST icon                              id ID #IMPLIED>
+<!ATTLIST key                               id ID #IMPLIED>
+<!ATTLIST key-class                         id ID #IMPLIED>
+<!ATTLIST large-icon                        id ID #IMPLIED>
+<!ATTLIST lifecycle                         id ID #IMPLIED>
+<!ATTLIST lifecycle-factory                 id ID #IMPLIED>
+<!ATTLIST list-entries                      id ID #IMPLIED>
+<!ATTLIST locale-config                     id ID #IMPLIED>
+<!ATTLIST managed-bean                      id ID #IMPLIED>
+<!ATTLIST managed-bean-class                id ID #IMPLIED>
+<!ATTLIST managed-bean-name                 id ID #IMPLIED>
+<!ATTLIST managed-bean-scope                id ID #IMPLIED>
+<!ATTLIST managed-property                  id ID #IMPLIED>
+<!ATTLIST map-entries                       id ID #IMPLIED>
+<!ATTLIST map-entry                         id ID #IMPLIED>
+<!ATTLIST message-bundle                    id ID #IMPLIED>
+<!ATTLIST navigation-case                   id ID #IMPLIED>
+<!ATTLIST navigation-handler                id ID #IMPLIED>
+<!ATTLIST navigation-rule                   id ID #IMPLIED>
+<!ATTLIST null-value                        id ID #IMPLIED>
+<!ATTLIST phase-listener                    id ID #IMPLIED>
+<!ATTLIST property                          id ID #IMPLIED>
+<!ATTLIST property-class                    id ID #IMPLIED>
+<!ATTLIST property-extension                id ID #IMPLIED>
+<!ATTLIST property-name                     id ID #IMPLIED>
+<!ATTLIST property-resolver                 id ID #IMPLIED>
+<!ATTLIST redirect                          id ID #IMPLIED>
+<!ATTLIST referenced-bean                   id ID #IMPLIED>
+<!ATTLIST referenced-bean-class             id ID #IMPLIED>
+<!ATTLIST referenced-bean-name              id ID #IMPLIED>
+<!ATTLIST render-kit                        id ID #IMPLIED>
+<!ATTLIST render-kit-class                  id ID #IMPLIED>
+<!ATTLIST render-kit-factory                id ID #IMPLIED>
+<!ATTLIST render-kit-id                     id ID #IMPLIED>
+<!ATTLIST renderer                          id ID #IMPLIED>
+<!ATTLIST renderer-class                    id ID #IMPLIED>
+<!ATTLIST renderer-extension                id ID #IMPLIED>
+<!ATTLIST renderer-type                     id ID #IMPLIED>
+<!ATTLIST small-icon                        id ID #IMPLIED>
+<!ATTLIST state-manager                     id ID #IMPLIED>
+<!ATTLIST suggested-value                   id ID #IMPLIED>
+<!ATTLIST supported-locale                  id ID #IMPLIED>
+<!ATTLIST to-view-id                        id ID #IMPLIED>
+<!ATTLIST validator                         id ID #IMPLIED>
+<!ATTLIST validator-class                   id ID #IMPLIED>
+<!ATTLIST validator-id                      id ID #IMPLIED>
+<!ATTLIST value                             id ID #IMPLIED>
+<!ATTLIST value-class                       id ID #IMPLIED>
+<!ATTLIST variable-resolver                 id ID #IMPLIED>
+<!ATTLIST view-handler                      id ID #IMPLIED>
+

Added: branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_1.dtd
===================================================================
--- branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_1.dtd	                        (rev 0)
+++ branches/Branch_4_2/server/src/resources/dtd/web-facesconfig_1_1.dtd	2007-03-30 17:44:59 UTC (rev 61901)
@@ -0,0 +1,895 @@
+<!--
+    DTD for the JavaServer Faces Application Configuration File (Version 1.1)
+
+    To support validation of your configuration file(s), include the following
+    DOCTYPE element at the beginning (after the "xml" declaration):
+
+    <!DOCTYPE faces-config PUBLIC
+     "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+     "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+
+    $Id: web-facesconfig_1_1.dtd,v 1.5 2006/03/27 17:36:06 rogerk Exp $
+
+-->
+
+
+<!-- ==================== Defined Types =================================== -->
+
+
+<!--
+    An "Action" is a String that represents a method binding
+    expression that points at a method with no arguments that returns a
+    String.  It must be bracketed with "#{}", for example,
+    "#{cardemo.buyCar}".
+-->
+<!ENTITY % Action "CDATA">
+
+
+<!--
+    A "ClassName" is the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element.
+-->
+<!ENTITY % ClassName "CDATA">
+
+
+<!--
+    An "Identifier" is a string of characters that conforms to the variable
+    naming conventions of the Java programming language (JLS Section ?.?.?).
+-->
+<!ENTITY % Identifier "CDATA">
+
+
+<!--
+    A "JavaType" is either the fully qualified name of a Java class that is
+    instantiated to provide the functionality of the enclosing element, or
+    the name of a Java primitive type (such as int or char).  The class name
+    or primitive type may optionally be followed by "[]" to indicate that
+    the underlying data must be an array, rather than a scalar variable.
+-->
+<!ENTITY % JavaType "CDATA">
+
+
+<!--
+    A "Language" is a lower case two-letter code for a language as defined
+    by ISL-639.
+-->
+<!ENTITY % Language "CDATA">
+
+
+<!--
+    A "ResourcePath" is the relative or absolute path to a resource file
+    (such as a logo image).
+-->
+<!ENTITY % ResourcePath "CDATA">
+
+
+<!--
+    A "Scope" is the well-known name of a scope in which managed beans may
+    optionally be defined to be created in.
+-->
+<!ENTITY % Scope "(request|session|application)">
+
+
+
+<!--
+    A "ScopeOrNone" element defines the legal values for the
+    <managed-bean-scope> element's body content, which includes
+    all of the scopes respresented by the "Scope" type, plus the
+    "none" value indicating that a created bean should not be
+    stored into any scope.
+-->
+<!ENTITY % ScopeOrNone "(request|session|application|none)">
+
+
+<!--
+    A "ViewIdPattern" is a pattern for matching view identifiers in
+    order to determine whether a particular navigation rule should be
+    fired.  It must contain one of the following values:
+
+    - The exact match for a view identifier that is recognized
+      by the the ViewHandler implementation being used (such as
+      "/index.jsp" if you are using the default ViewHandler).
+
+    - A proper prefix of a view identifier, plus a trailing "*"
+      character.  This pattern indicates that all view identifiers that
+      match the portion of the pattern up to the asterisk will match the
+      surrounding rule.  When more than one match exists, the match with
+      the longest pattern is selected.
+
+    - An "*" character, which means that this pattern applies to all
+      view identifiers.
+-->
+<!ENTITY % ViewIdPattern "CDATA">
+
+
+<!-- ==================== Top Level Elements ============================== -->
+
+
+<!--
+    The "faces-config" element is the root of the configuration information
+    hierarchy, and contains nested elements for all of the other configuration
+    settings.
+-->
+<!ELEMENT faces-config    ((application|factory|component|converter|managed-bean|navigation-rule|referenced-bean|render-kit|lifecycle|validator)*)>
+<!ATTLIST faces-config
+       xmlns CDATA #FIXED "http://java.sun.com/JSF/Configuration">
+
+
+
+<!-- ==================== Definition Elements ============================= -->
+
+
+<!--
+    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.
+-->
+<!ELEMENT application     ((action-listener|default-render-kit-id|message-bundle|navigation-handler|view-handler|state-manager|property-resolver|variable-resolver|locale-config)*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT factory     ((application-factory|faces-context-factory|lifecycle-factory|render-kit-factory)*)>
+
+
+<!--
+    The "attribute" element represents a named, typed, value associated with
+    the parent UIComponent via the generic attributes mechanism.
+
+    Attribute names must be unique within the scope of the parent (or related)
+    component.
+-->
+<!ELEMENT attribute       (description*, display-name*, icon*, attribute-name, attribute-class, default-value?, suggested-value?, attribute-extension*)>
+
+<!-- 
+    Extension element for attribute.  May contain implementation
+    specific content.
+-->
+<!ELEMENT attribute-extension ANY>
+
+
+<!--
+    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.
+-->
+<!ELEMENT component       (description*, display-name*, icon*, component-type, component-class, facet*, attribute*, property*, component-extension*)>
+
+<!-- 
+    Extension element for component.  May contain implementation
+    specific content.
+-->
+<!ELEMENT component-extension ANY>
+
+<!--
+   Define the name and other design-time information for a facet that is
+   associated with a renderer or a component.
+-->
+
+<!ELEMENT facet       (description*, display-name*, icon*, facet-name, facet-extension*)>
+
+<!-- 
+    Extension element for facet.  May contain implementation
+    specific content.
+-->
+<!ELEMENT facet-extension ANY>
+
+<!--
+    The "facet-name" element represents the facet name under which a
+    UIComponent will be added to its parent.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT facet-name (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT converter       (description*, display-name*, icon*, (converter-id | converter-for-class), converter-class, attribute*, property*)>
+
+
+<!--
+    The "icon" element contains "small-icon" and "large-icon" elements that
+    specify the resoruce paths for small and large GIF or JPG icon images
+    used to represent the parent element in a GUI tool.
+-->
+<!ELEMENT icon            (small-icon?, large-icon?)>
+<!ATTLIST icon            xml:lang        %Language;      #IMPLIED>
+
+<!--
+    The "lifecycle" element provides a mechanism to specify
+    modifications to the behaviour of the default Lifecycle
+    implementation for this web application.
+-->
+<!ELEMENT lifecycle       (phase-listener*)>
+
+<!--
+     The "locale-config" element allows the app developer to declare the
+     supported locales for this application.  
+-->
+<!ELEMENT locale-config (default-locale?, supported-locale*)>
+
+<!--
+    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.
+-->
+<!ELEMENT managed-bean (description*, display-name*, icon*, managed-bean-name, managed-bean-class, managed-bean-scope, (managed-property* | map-entries | list-entries))>
+
+
+<!--
+    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.
+-->
+<!ELEMENT managed-property (description*, display-name*, icon*, property-name, property-class?, (map-entries|null-value|value|list-entries))>
+
+
+<!--
+    The "map-entry" element reprsents a single key-entry pair that
+    will be added to the computed value of a managed property of type
+    java.util.Map.
+-->
+<!ELEMENT map-entry (key, (null-value|value))>
+
+
+<!--
+    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.
+-->
+<!ELEMENT map-entries (key-class?, value-class?, map-entry*)>
+
+
+<!--
+    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.
+-->
+
+<!ELEMENT message-bundle (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT navigation-case (description*, display-name*, icon*, from-action?, from-outcome?, to-view-id, redirect?)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT navigation-rule (description*, display-name*, icon*, from-view-id?, navigation-case*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT property        (description*, display-name*, icon*, property-name, property-class, default-value?, suggested-value?, property-extension*)>
+
+<!-- 
+    Extension element for property.  May contain implementation
+    specific content.
+-->
+<!ELEMENT property-extension ANY>
+
+<!--
+    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.
+-->
+<!ELEMENT referenced-bean (description*, display-name*, icon*, referenced-bean-name, referenced-bean-class)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT render-kit      (description*, display-name*, icon*, render-kit-id?, render-kit-class?, renderer*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT renderer        (description*, display-name*, icon*, component-family, renderer-type, renderer-class, facet*, attribute*, renderer-extension*)>
+
+<!-- 
+    Extension element for renderer.  May contain implementation
+    specific content.
+-->
+<!ELEMENT renderer-extension ANY>
+
+<!--
+    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.
+-->
+<!ELEMENT validator       (description*, display-name*, icon*, validator-id, validator-class, attribute*, property*)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT list-entries    (value-class?, (null-value|value)*)>
+
+
+<!-- ==================== Subordinate Elements ============================ -->
+
+
+<!--
+    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.
+    It must be of type "ClassName".
+-->
+<!ELEMENT action-listener (#PCDATA)>
+
+<!--
+    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. It must be of type "ClassName".
+-->
+<!ELEMENT application-factory (#PCDATA)>
+
+<!--
+    The "attribute-class" element represents the Java type of the value
+    associated with this attribute name.  It must be of type "ClassName".
+-->
+<!ELEMENT attribute-class (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT attribute-name  (#PCDATA)>
+
+
+<!--
+    The "component-class" element represents the fully qualified class name
+    of a concrete UIComponent implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT component-class (#PCDATA)>
+
+
+<!--
+    The "component-family" element represents the component family for
+    which the Renderer represented by the parent "renderer" element will be
+    used.
+-->
+<!ELEMENT component-family (#PCDATA)>
+
+<!--
+    The "component-type" element represents the name under which the
+    corresponding UIComponent class should be registered.
+-->
+<!ELEMENT component-type  (#PCDATA)>
+
+
+<!--
+    The "converter-class" element represents the fully qualified class name
+    of a concrete Converter implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-class (#PCDATA)>
+
+
+<!--
+    The "converter-for-class" element represents the fully qualified class name
+    for which a Converter class will be registered.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT converter-for-class (#PCDATA)>
+
+
+<!--
+    The "converter-id" element represents the identifier under which the
+    corresponding Converter class should be registered.
+-->
+<!ELEMENT converter-id    (#PCDATA)>
+
+<!--
+    The "default-render-kit-id" element allows the application to define
+    a renderkit to be used other than the standard one. 
+-->
+<!ELEMENT default-render-kit-id   (#PCDATA)>
+
+<!--
+     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
+     '_'.
+-->
+<!ELEMENT default-locale (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT default-value (#PCDATA)>
+
+<!--
+    The "description" element contains a textual description of the element
+    it is nested in, optionally flagged with a language code using the
+    "xml:lang" attribute.
+-->
+<!ELEMENT description     ANY>
+<!ATTLIST description     xml:lang        %Language;      #IMPLIED>
+
+
+<!--
+    The "display-name" element is a short descriptive name describing the
+    entity associated with the element it is nested in, intended to be
+    displayed by tools, and optionally flagged with a language code using
+    the "xml:lang" attribute.
+-->
+<!ELEMENT display-name    (#PCDATA)>
+<!ATTLIST display-name    xml:lang        %Language;      #IMPLIED>
+
+<!--
+    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. It must
+    be of type "ClassName".
+-->
+<!ELEMENT faces-context-factory (#PCDATA)>
+
+<!--
+    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 this navigation rule.  If
+    not specified, this rule will be relevant no matter which action reference
+    was executed (or if no action reference was executed).
+
+    This value must be of type "Action".
+-->
+<!ELEMENT from-action (#PCDATA)>
+
+
+<!--
+    The "from-outcome" element contains a logical outcome string returned
+    by the execution of an application action method selected via an
+    "actionRef" property (or a literal value specified by an "action"
+    property) of a UICommand component.  If specified, this rule will be
+    relevant only if the outcome value matches this element's value.  If
+    not specified, this rule will be relevant no matter what the outcome
+    value was.
+-->
+<!ELEMENT from-outcome    (#PCDATA)>
+
+
+<!--
+    The "from-view-id" element contains the view identifier of the view
+    for which the containing navigation rule is relevant.  If no
+    "from-view" element is specified, this rule applies to navigation
+    decisions on all views.  If this element is not specified, a value
+    of "*" is assumed, meaning that this navigation rule applies to all
+    views.
+
+    This value must be of type "ViewIdPattern".
+-->
+<!ELEMENT from-view-id    (#PCDATA)>
+
+
+<!--
+    The "key" element is the String representation of a map key that
+    will be stored in a managed property of type java.util.Map.  
+-->
+<!ELEMENT key             (#PCDATA)>
+
+
+<!--
+    The "key-class" element defines the Java type to which each "key"
+    element in a set of "map-entry" elements will be converted to.  It
+    must be of type "ClassName".  If omitted, "java.lang.String"
+    is assumed.
+-->
+<!ELEMENT key-class       (#PCDATA)>
+
+
+<!--
+    The "large-icon" element contains the resource path to a large (32x32)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT large-icon      (#PCDATA)>
+
+<!--
+    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. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT lifecycle-factory (#PCDATA)>
+
+<!--
+    The "managed-bean-class" element represents the fully qualified class
+    name of the Java class that will be used to instantiate a new instance
+    if creation of the specified managed bean is requested.  It must be of
+    type "ClassName".
+
+    The specified class must conform to standard JavaBeans conventions.
+    In particular, it must have a public zero-arguments constructor, and
+    zero or more public property setters.
+-->
+<!ELEMENT managed-bean-class  (#PCDATA)>
+
+
+<!--
+    The "managed-bean-name" element represents the attribute name under
+    which a managed bean will be searched for, as well as stored (unless
+    the "managed-bean-scope" value is "none").  It must be of type
+    "Identifier".
+-->
+<!ELEMENT managed-bean-name (#PCDATA)>
+
+
+<!--
+    The "managed-bean-scope" element represents the scope into which a newly
+    created instance of the specified managed bean will be stored (unless
+    the value is "none").  It must be of type "ScopeOrNone".
+-->
+<!ELEMENT managed-bean-scope (#PCDATA)>
+
+<!--
+    The "navigation-handler" element contains the fully qualified class name
+    of the concrete NavigationHandler implementation class that will be called
+    during the Invoke Application phase of the request processing lifecycle,
+    if the default ActionListener (provided by the JSF implementation) is used.
+    It must be of type "ClassName".
+-->
+<!ELEMENT navigation-handler (#PCDATA)>
+
+<!--
+The "phase-listener" element contains the fully qualified class
+name of the concrete PhaseListener implementation class that will be
+registered on the Lifecycle. It must be of type "ClassName".
+-->
+<!ELEMENT phase-listener (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT redirect EMPTY>
+
+<!--
+    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.
+-->
+<!ELEMENT suggested-value (#PCDATA)>
+
+
+<!--
+
+    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
+-->
+<!ELEMENT view-handler (#PCDATA)>
+
+<!--
+
+    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
+-->
+<!ELEMENT state-manager (#PCDATA)>
+
+<!--
+    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.
+-->
+<!ELEMENT null-value EMPTY>
+
+
+<!--
+    The "property-class" element represents the Java type of the value
+    associated with this property name.  It must be of type "JavaType".
+    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.
+-->
+<!ELEMENT property-class  (#PCDATA)>
+
+
+<!--
+    The "property-name" element represents the JavaBeans property name
+    under which the corresponding value may be stored.
+-->
+<!ELEMENT property-name   (#PCDATA)>
+
+
+<!--
+    The "property-resolver" element contains the fully qualified class name
+    of the concrete PropertyResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT property-resolver (#PCDATA)>
+
+
+<!--
+    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.  It must be of type
+    "ClassName".
+-->
+<!ELEMENT referenced-bean-class  (#PCDATA)>
+
+
+<!--
+    The "referenced-bean-name" element represents the attribute name under
+    which the corresponding referenced bean may be assumed to be stored,
+    in one of the scopes defined by the "Scope" type.  It must be of type
+    "Identifier".
+-->
+<!ELEMENT referenced-bean-name (#PCDATA)>
+
+
+<!--
+    The "render-kit-id" element represents an identifier for the
+    RenderKit represented by the parent "render-kit" element.
+-->
+<!ELEMENT render-kit-id   (#PCDATA)>
+
+
+<!--
+    The "render-kit-class" element represents the fully qualified class name
+    of a concrete RenderKit implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT render-kit-class (#PCDATA)>
+
+
+<!--
+    The "renderer-class" element represents the fully qualified class name
+    of a concrete Renderer implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT renderer-class  (#PCDATA)>
+
+<!--
+    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. It must be 
+    of type "ClassName".
+-->
+<!ELEMENT render-kit-factory (#PCDATA)>
+
+<!--
+    The "renderer-type" element represents a renderer type identifier for the
+    Renderer represented by the parent "renderer" element.
+-->
+<!ELEMENT renderer-type   (#PCDATA)>
+
+<!--
+    The "small-icon" element contains the resource path to a large (16x16)
+    icon image.  The image may be in either GIF or JPG format.
+-->
+<!ELEMENT small-icon      (#PCDATA)>
+
+<!--
+     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 '_'.
+-->
+<!ELEMENT supported-locale (#PCDATA)>
+
+<!--
+    The "to-view" element contains the view identifier of the next view
+    that should be displayed if this navigation rule is matched.  It
+    must be of type "ViewId".
+-->
+<!ELEMENT to-view-id      (#PCDATA)>
+
+
+<!--
+    The "validator-class" element represents the fully qualified class name
+    of a concrete Validator implementation class.  It must be of
+    type "ClassName".
+-->
+<!ELEMENT validator-class (#PCDATA)>
+
+
+<!--
+    The "validator-id" element represents the identifier under which the
+    corresponding Validator class should be registered.
+-->
+<!ELEMENT validator-id    (#PCDATA)>
+
+
+<!--
+    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.
+-->
+<!ELEMENT value (#PCDATA)>
+
+
+<!--
+    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.  It must be of type "ClassName".  If omitted,
+    "java.lang.String" is assumed.
+-->
+<!ELEMENT value-class (#PCDATA)>
+
+<!--
+    The "variable-resolver" element contains the fully qualified class name
+    of the concrete VariableResolver implementation class that will be used
+    during the processing of value binding expressions.
+    It must be of type "ClassName".
+-->
+<!ELEMENT variable-resolver (#PCDATA)>
+
+
+<!-- ============================ Identifier Attributes ==================== -->
+
+
+<!ATTLIST action-listener                   id ID #IMPLIED>
+<!ATTLIST application                       id ID #IMPLIED>
+<!ATTLIST application-factory               id ID #IMPLIED>
+<!ATTLIST attribute                         id ID #IMPLIED>
+<!ATTLIST attribute-class                   id ID #IMPLIED>
+<!ATTLIST attribute-extension               id ID #IMPLIED>
+<!ATTLIST attribute-name                    id ID #IMPLIED>
+<!ATTLIST component                         id ID #IMPLIED>
+<!ATTLIST component-class                   id ID #IMPLIED>
+<!ATTLIST component-extension               id ID #IMPLIED>
+<!ATTLIST component-family                  id ID #IMPLIED>
+<!ATTLIST component-type                    id ID #IMPLIED>
+<!ATTLIST converter                         id ID #IMPLIED>
+<!ATTLIST converter-class                   id ID #IMPLIED>
+<!ATTLIST converter-for-class               id ID #IMPLIED>
+<!ATTLIST converter-id                      id ID #IMPLIED>
+<!ATTLIST default-locale                    id ID #IMPLIED>
+<!ATTLIST default-render-kit-id             id ID #IMPLIED>
+<!ATTLIST default-value                     id ID #IMPLIED>
+<!ATTLIST description                       id ID #IMPLIED>
+<!ATTLIST display-name                      id ID #IMPLIED>
+<!ATTLIST faces-config                      id ID #IMPLIED>
+<!ATTLIST faces-context-factory             id ID #IMPLIED>
+<!ATTLIST facet                             id ID #IMPLIED>
+<!ATTLIST facet-extension                   id ID #IMPLIED>
+<!ATTLIST facet-name                        id ID #IMPLIED>
+<!ATTLIST factory                           id ID #IMPLIED>
+<!ATTLIST from-action                       id ID #IMPLIED>
+<!ATTLIST from-outcome                      id ID #IMPLIED>
+<!ATTLIST from-view-id                      id ID #IMPLIED>
+<!ATTLIST icon                              id ID #IMPLIED>
+<!ATTLIST key                               id ID #IMPLIED>
+<!ATTLIST key-class                         id ID #IMPLIED>
+<!ATTLIST large-icon                        id ID #IMPLIED>
+<!ATTLIST lifecycle                         id ID #IMPLIED>
+<!ATTLIST lifecycle-factory                 id ID #IMPLIED>
+<!ATTLIST list-entries                      id ID #IMPLIED>
+<!ATTLIST locale-config                     id ID #IMPLIED>
+<!ATTLIST managed-bean                      id ID #IMPLIED>
+<!ATTLIST managed-bean-class                id ID #IMPLIED>
+<!ATTLIST managed-bean-name                 id ID #IMPLIED>
+<!ATTLIST managed-bean-scope                id ID #IMPLIED>
+<!ATTLIST managed-property                  id ID #IMPLIED>
+<!ATTLIST map-entries                       id ID #IMPLIED>
+<!ATTLIST map-entry                         id ID #IMPLIED>
+<!ATTLIST message-bundle                    id ID #IMPLIED>
+<!ATTLIST navigation-case                   id ID #IMPLIED>
+<!ATTLIST navigation-handler                id ID #IMPLIED>
+<!ATTLIST navigation-rule                   id ID #IMPLIED>
+<!ATTLIST null-value                        id ID #IMPLIED>
+<!ATTLIST phase-listener                    id ID #IMPLIED>
+<!ATTLIST property                          id ID #IMPLIED>
+<!ATTLIST property-class                    id ID #IMPLIED>
+<!ATTLIST property-extension                id ID #IMPLIED>
+<!ATTLIST property-name                     id ID #IMPLIED>
+<!ATTLIST property-resolver                 id ID #IMPLIED>
+<!ATTLIST redirect                          id ID #IMPLIED>
+<!ATTLIST referenced-bean                   id ID #IMPLIED>
+<!ATTLIST referenced-bean-class             id ID #IMPLIED>
+<!ATTLIST referenced-bean-name              id ID #IMPLIED>
+<!ATTLIST render-kit                        id ID #IMPLIED>
+<!ATTLIST render-kit-class                  id ID #IMPLIED>
+<!ATTLIST render-kit-factory                id ID #IMPLIED>
+<!ATTLIST render-kit-id                     id ID #IMPLIED>
+<!ATTLIST renderer                          id ID #IMPLIED>
+<!ATTLIST renderer-class                    id ID #IMPLIED>
+<!ATTLIST renderer-extension                id ID #IMPLIED>
+<!ATTLIST renderer-type                     id ID #IMPLIED>
+<!ATTLIST small-icon                        id ID #IMPLIED>
+<!ATTLIST state-manager                     id ID #IMPLIED>
+<!ATTLIST suggested-value                   id ID #IMPLIED>
+<!ATTLIST supported-locale                  id ID #IMPLIED>
+<!ATTLIST to-view-id                        id ID #IMPLIED>
+<!ATTLIST validator                         id ID #IMPLIED>
+<!ATTLIST validator-class                   id ID #IMPLIED>
+<!ATTLIST validator-id                      id ID #IMPLIED>
+<!ATTLIST value                             id ID #IMPLIED>
+<!ATTLIST value-class                       id ID #IMPLIED>
+<!ATTLIST variable-resolver                 id ID #IMPLIED>
+<!ATTLIST view-handler                      id ID #IMPLIED>
+

Added: branches/Branch_4_2/server/src/resources/schema/web-facesconfig_1_2.xsd
===================================================================
--- branches/Branch_4_2/server/src/resources/schema/web-facesconfig_1_2.xsd	                        (rev 0)
+++ branches/Branch_4_2/server/src/resources/schema/web-facesconfig_1_2.xsd	2007-03-30 17:44:59 UTC (rev 61901)
@@ -0,0 +1,2071 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+<xsd:schema
+     targetNamespace="http://java.sun.com/xml/ns/javaee"
+     xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+     xmlns:xml="http://www.w3.org/XML/1998/namespace"
+     elementFormDefault="qualified"
+     attributeFormDefault="unqualified"
+     version="1.2">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            $Id: web-facesconfig_1_2.xsd,v 1.11 2006/03/27 00:12:24 rogerk Exp $
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            Copyright 2005 Sun Microsystems, Inc., 
+            901 San Antonio Road, 
+            Palo Alto, California 94303, U.S.A. 
+            All rights reserved.
+
+            Sun Microsystems, Inc. has intellectual property 
+            rights relating to technology described in this document. In
+            particular, and without limitation, these intellectual
+            property rights may include one or more of the U.S. patents
+            listed at http://www.sun.com/patents and one or more
+            additional patents or pending patent applications in the
+            U.S. and other countries.
+
+            This document and the technology which it describes are
+            distributed under licenses restricting their use, copying,
+            distribution, and decompilation. No part of this document
+            may be reproduced in any form by any means without prior
+            written authorization of Sun and its licensors, if any.
+
+            Third-party software, including font technology, is
+            copyrighted and licensed from Sun suppliers.
+
+            Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE,
+            JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+            Cup logo are trademarks or registered trademarks of Sun
+            Microsystems, Inc. in the U.S. and other countries.
+
+            Federal Acquisitions: Commercial Software - Government Users
+            Subject to Standard License Terms and Conditions.
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:annotation>
+        <xsd:documentation>
+
+            <![CDATA[
+
+            The XML Schema for the JavaServer Faces Application
+            Configuration File (Version 1.2).
+
+            All JavaServer Faces configuration files must indicate
+            the JavaServer Faces schema by indicating the JavaServer
+            Faces namespace:
+
+            http://java.sun.com/xml/ns/javaee
+
+            and by indicating the version of the schema by
+            using the version element as shown below:
+
+            <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="..."
+                    version="1.2">
+                ...
+            </faces-config>
+
+            The instance documents may indicate the published
+            version of the schema using xsi:schemaLocation attribute
+            for javaee namespace with the following location:
+
+            http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd
+
+            ]]>
+
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:include schemaLocation="javaee_5.xsd"/>
+
+    <!-- **************************************************** -->
+
+    <xsd:element name = "faces-config" type="javaee:faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:unique name="faces-config-converter-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Converter IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-converter-for-class-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    'converter-for-class' element values must be unique
+                    within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:converter"/>
+            <xsd:field    xpath="javaee:converter-for-class"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-validator-ID-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Validator IDs must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:validator"/>
+            <xsd:field    xpath="javaee:validator-id"/>
+        </xsd:unique>
+
+        <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+            <xsd:annotation>
+                <xsd:documentation>
+
+                    Managed bean names must be unique within a document.
+
+                </xsd:documentation>
+            </xsd:annotation>
+
+            <xsd:selector xpath="javaee:managed-bean"/>
+            <xsd:field    xpath="javaee:managed-bean-name"/>
+        </xsd:unique>
+    </xsd:element>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "faces-config" element is the root of the configuration
+                information hierarchy, and contains nested elements for all
+                of the other configuration settings.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application"
+                         type="javaee:faces-config-applicationType"/>
+            <xsd:element name="factory"
+                         type="javaee:faces-config-factoryType"/>
+            <xsd:element name="component"
+                         type="javaee:faces-config-componentType"/>
+            <xsd:element name="converter"
+                         type="javaee:faces-config-converterType"/>
+            <xsd:element name="managed-bean"
+                         type="javaee:faces-config-managed-beanType"/>
+            <xsd:element name="navigation-rule"
+                         type="javaee:faces-config-navigation-ruleType"/>
+            <xsd:element name="referenced-bean"
+                         type="javaee:faces-config-referenced-beanType"/>
+            <xsd:element name="render-kit"
+                         type="javaee:faces-config-render-kitType"/>
+            <xsd:element name="lifecycle"
+                         type="javaee:faces-config-lifecycleType"/>
+            <xsd:element name="validator"
+                         type="javaee:faces-config-validatorType"/>
+            <xsd:element name="faces-config-extension"
+                         type="javaee:faces-config-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:choice>
+            <xsd:attribute name = "id" type = "xsd:ID"/>
+            <xsd:attribute name="version"
+                type="javaee:faces-config-versionType"
+                use="required"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for faces-config.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-applicationType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="action-listener"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-render-kit-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "default-render-kit-id" element allows the 
+                            application to define a renderkit to be used other 
+                            than the standard one. 
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="message-bundle"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="navigation-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "navigation-handler" element contains the 
+                            fully qualified class name of the concrete 
+                            NavigationHandler implementation class that will 
+                            be called during the Invoke Application phase 
+                            of the request processing lifecycle, if the 
+                            default ActionListener (provided by the JSF 
+                            implementation) is used.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="view-handler"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="state-manager"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="el-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "el-resolver" element contains the fully
+                            qualified class name of the concrete
+                            javax.el.ELResolver implementation class
+                            that will be used during the processing of
+                            EL expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                            The "property-resolver" element contains the fully 
+                            qualified class name of the concrete 
+                            PropertyResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="variable-resolver"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                            The "variable-resolver" element contains the fully
+                            qualified class name of the concrete 
+                            VariableResolver implementation class that will 
+                            be used during the processing of value binding 
+                            expressions.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="locale-config"
+                type="javaee:faces-config-locale-configType"/>
+            <xsd:element 
+                name="resource-bundle"
+                type="javaee:faces-config-application-resource-bundleType"/>
+            <xsd:element name="application-extension"
+                         type="javaee:faces-config-application-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            </xsd:choice>
+        <xsd:attribute name = "id" type = "xsd:ID"/>
+    </xsd:complexType>
+
+    <xsd:complexType name="faces-config-application-resource-bundleType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+              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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="base-name"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The fully qualified class name of the
+                        java.util.ResourceBundle instance.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="var"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The name by which this ResourceBundle instance
+                        is retrieved by a call to
+                        Application.getResourceBundle().
+                        
+                    </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>
+
+                Extension element for application.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-factoryType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:choice minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="application-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="faces-context-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="lifecycle-factory"
+                        type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                            
+                        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.
+                            
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-factory"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        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.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="factory-extension"
+                         type="javaee: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>
+
+                Extension element for factory.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-attributeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "attribute" element represents a named, typed, value
+                associated with the parent UIComponent via the generic
+                attributes mechanism.
+
+                Attribute names must be unique within the scope of the parent
+                (or related) component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="attribute-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        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.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "attribute-class" element represents the Java type
+                        of the value associated with this attribute name.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="attribute-extension"
+                         type="javaee: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>
+
+                Extension element for attribute.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-componentType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-type" element represents the name under 
+                        which the corresponding UIComponent class should be 
+                        registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="component-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-class" element represents the fully 
+                        qualified class name of a concrete UIComponent 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="component-extension"
+                         type="javaee: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>
+                Extension element for component.  It may contain 
+                implementation specific content.
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-default-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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 '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee: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>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-el-expressionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                EL expressions present within a faces config file
+                must start with the character sequence of '#{' and
+                end with '}'.
+
+            </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>
+
+                Define the name and other design-time information for a facet
+                that is associated with a renderer or a component.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="facet-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "facet-name" element represents the facet name 
+                        under which a UIComponent will be added to its parent.  
+                        It must be of type "Identifier".
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet-extension"
+                         type="javaee: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>
+
+                Extension element for facet.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-view-idType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The value of from-view-id must contain one of the following 
+                values:
+
+                  - The exact match for a view identifier that is recognized
+                    by the the ViewHandler implementation being used (such as
+                    "/index.jsp" if you are using the default ViewHandler).
+
+                  - A proper prefix of a view identifier, plus a trailing 
+                    "*" character.  This pattern indicates that all view 
+                    identifiers that match the portion of the pattern up to 
+                    the asterisk will match the surrounding rule.  When more 
+                    than one match exists, the match with the longest pattern 
+                    is selected.
+
+                  - An "*" character, which means that this pattern applies 
+                    to all view identifiers.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-from-actionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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).
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee: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>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:choice>
+                <xsd:element name="converter-id"
+                             type="javaee:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-id" element represents the 
+                            identifier under which the corresponding 
+                            Converter class should be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                
+                <xsd:element name="converter-for-class"
+                             type="javaee:fully-qualified-classType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+
+                            The "converter-for-class" element represents the 
+                            fully qualified class name for which a Converter 
+                            class will be registered.
+
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+            
+            <xsd:element name="converter-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "converter-class" element represents the fully
+                        qualified class name of a concrete Converter 
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       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.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0"
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       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.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="converter-extension"
+                         type="javaee: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>
+
+                Extension element for converter.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-lifecycleType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "lifecycle" element provides a mechanism to specify
+                modifications to the behaviour of the default Lifecycle
+                implementation for this web application.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="phase-listener"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        The "phase-listener" element contains the fully 
+                        qualified class name of the concrete PhaseListener 
+                        implementation class that will be registered on 
+                        the Lifecycle.
+                    
+                    </xsd:documentation>
+            </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="lifecycle-extension"
+                         type="javaee: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>
+
+                Extension element for lifecycle.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    
+    <!-- **************************************************** -->
+    
+    <xsd:simpleType name="faces-config-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The localeType defines valid locale defined by ISO-639-1
+                and ISO-3166.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
+        </xsd:restriction>
+  </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-locale-configType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                The "locale-config" element allows the app developer to 
+                declare the supported locales for this application.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:element name="default-locale"
+                         type="javaee:faces-config-default-localeType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="supported-locale"
+                         type="javaee:faces-config-supported-localeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">                
+            </xsd:element>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="managed-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-name" element represents the 
+                        attribute name under which a managed bean will 
+                        be searched for, as well as stored (unless the 
+                        "managed-bean-scope" value is "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="managed-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-class" element represents the fully
+                        qualified class name of the Java class that will be 
+                        used`to instantiate a new instance if creation of the 
+                        specified`managed bean is requested.
+
+                        The specified class must conform to standard JavaBeans
+                        conventions.  In particular, it must have a public
+                        zero-arguments constructor, and zero or more public
+                        property setters.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="managed-bean-scope"
+                type="javaee:faces-config-managed-bean-scopeOrNoneType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "managed-bean-scope" element represents the scope 
+                        into which a newly created instance of the specified 
+                        managed bean will be stored (unless the value is 
+                        "none").
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="managed-property"
+                             type="javaee:faces-config-managed-propertyType"
+                             minOccurs="0"
+                             maxOccurs="unbounded"/>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+            <xsd:element name="managed-bean-extension"
+                         type="javaee:faces-config-managed-bean-extensionType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name = "faces-config-managed-bean-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for managed-bean.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                <![CDATA[
+                Defines the legal values for the <managed-bean-scope>
+                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.
+                ]]>
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string">
+                <xsd:enumeration value="request"/>
+                <xsd:enumeration value="session"/>
+                <xsd:enumeration value="application"/>
+                <xsd:enumeration value="none"/>
+            </xsd:restriction>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-managed-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value may 
+                        be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                    
+                        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.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="map-entries"
+                             type="javaee:faces-config-map-entriesType"/>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType">
+                </xsd:element>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+                <xsd:element name="list-entries"
+                             type="javaee:faces-config-list-entriesType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entryType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                The "map-entry" element reprsents a single key-entry pair 
+                that will be added to the computed value of a managed 
+                property of type java.util.Map.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="key"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "key" element is the String representation of a 
+                        map key that will be stored in a managed property of 
+                        type java.util.Map.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-map-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:element name="key-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "key-class" element defines the Java type to which 
+                        each "key" element in a set of "map-entry" elements 
+                        will be converted to.  If omitted, "java.lang.String" 
+                        is assumed.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>                
+            <xsd:element name="map-entry"
+                         type="javaee:faces-config-map-entryType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-navigation-caseType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-action"
+                         type="javaee:faces-config-from-actionType"
+                         minOccurs="0">
+            </xsd:element>
+            <xsd:element name="from-outcome"
+                         type="javaee:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "from-outcome" element contains a logical outcome
+                        string returned by the execution of an application
+                        action method selected via an "actionRef" property
+                        (or a literal value specified by an "action" property)
+                        of a UICommand component.  If specified, this rule 
+                        will be relevant only if the outcome value matches 
+                        this element's value.  If not specified, this rule 
+                        will be relevant no matter what the outcome value was.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="to-view-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "to-view-id" element contains the view identifier 
+                        of the next view that should be displayed if this
+                        navigation rule is matched.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element 
+                name="redirect"
+                type="javaee: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>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="from-view-id"
+                         type="javaee:faces-config-from-view-idType"
+                         minOccurs="0"/>
+            <xsd:element name="navigation-case"
+                         type="javaee:faces-config-navigation-caseType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element 
+                name="navigation-rule-extension"
+                type="javaee: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>
+
+                Extension element for navigation-rule.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-null-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+    
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-propertyType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="property-name"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "property-name" element represents the JavaBeans 
+                        property name under which the corresponding value 
+                        may be stored.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="property-class"
+                         type="javaee:java-typeType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        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.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="default-value"
+                         type="javaee:faces-config-default-valueType"
+                         minOccurs="0"/>               
+            <xsd:element name="suggested-value"
+                         type="javaee:faces-config-suggested-valueType"
+                         minOccurs="0"/>
+            <xsd:element name="property-extension"
+                         type="javaee:faces-config-property-extensionType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-property-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for property.  It may contain 
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-redirectType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                    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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-referenced-beanType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="referenced-bean-name"
+                         type="javaee:java-identifierType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "referenced-bean-name" element represents the 
+                        attribute name under which the corresponding 
+                        referenced bean may be assumed to be stored, in one 
+                        of 'request', 'session', or 'application' scopes.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="referenced-bean-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        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. 
+
+                    </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>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="render-kit-id"
+                         type="javaee:string"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-id" element represents an identifier 
+                        for the RenderKit represented by the parent 
+                        "render-kit" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="render-kit-class"
+                         type="javaee:fully-qualified-classType"
+                         minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "render-kit-class" element represents the fully 
+                        qualified class name of a concrete RenderKit 
+                        implementation class.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer"
+                         type="javaee:faces-config-rendererType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded"/>
+            <xsd:element name="render-kit-extension"
+                         type="javaee: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-rendererType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="component-family"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "component-family" element represents the 
+                        component family for which the Renderer represented 
+                        by the parent "renderer" element will be used.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                    
+            </xsd:element>
+            <xsd:element name="renderer-type"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "renderer-type" element represents a renderer type 
+                        identifier for the Renderer represented by the parent 
+                        "renderer" element.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="renderer-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                        The "renderer-class" element represents the fully
+                        qualified class name of a concrete Renderer
+                        implementation class.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="facet"
+                         type="javaee:faces-config-facetType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0"
+                         maxOccurs="unbounded"/>
+            <xsd:element name="renderer-extension"
+                         type="javaee: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>
+
+                Extension element for renderer.  It may contain implementation
+                specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-render-kit-extensionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                Extension element for render-kit.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-suggested-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:string"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-supported-localeType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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 '_'.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:extension base="javaee:faces-config-localeType">
+                <xsd:attribute name="id" type="xsd:ID"/> 
+            </xsd:extension>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-validatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:group ref="javaee:descriptionGroup"/>
+            <xsd:element name="validator-id"
+                         type="javaee:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-id" element represents the identifier 
+                        under which the corresponding Validator class should 
+                        be registered.
+                        
+                    </xsd:documentation>
+                </xsd:annotation>                
+            </xsd:element>
+            <xsd:element name="validator-class"
+                         type="javaee:fully-qualified-classType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                        The "validator-class" element represents the fully 
+                        qualified class name of a concrete Validator 
+                        implementation class.  
+                        
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="attribute"
+                         type="javaee:faces-config-attributeType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        
+                       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.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+
+            </xsd:element>
+            <xsd:element name="property"
+                         type="javaee:faces-config-propertyType"
+                         minOccurs="0" 
+                         maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+
+                       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.
+
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="validator-extension"
+                         type="javaee: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>
+
+                Extension element for validator.  It may contain
+                implementation specific content.
+
+            </xsd:documentation>
+        </xsd:annotation>
+
+        <xsd:sequence>
+            <xsd:any namespace="##any"
+                     processContents="lax"
+                     minOccurs="0"
+                     maxOccurs="unbounded" />
+         </xsd:sequence>
+         <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-valueType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                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.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:union 
+            memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+    </xsd:simpleType>
+    
+    <!-- **************************************************** -->
+    
+    <xsd:complexType name="faces-config-value-classType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.  
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleContent>
+            <xsd:restriction base="javaee:fully-qualified-classType"/>
+        </xsd:simpleContent>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:complexType name="faces-config-list-entriesType">
+        <xsd:annotation>
+            <xsd:documentation>
+                
+                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.
+                
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="value-class"
+                         type="javaee:faces-config-value-classType"
+                         minOccurs="0"/>
+            <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                <xsd:element name="null-value"
+                             type="javaee:faces-config-null-valueType"/>
+                <xsd:element name="value"
+                             type="javaee:faces-config-valueType"/>
+            </xsd:choice>
+        </xsd:sequence>
+        <xsd:attribute name="id" type="xsd:ID"/>
+    </xsd:complexType>
+
+    <!-- **************************************************** -->
+
+    <xsd:simpleType name="faces-config-versionType">
+        <xsd:annotation>
+            <xsd:documentation>
+
+                This type contains the recognized versions of
+                faces-config supported.
+
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:token">
+            <xsd:enumeration value="1.2"/>
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <!-- **************************************************** -->
+
+</xsd:schema>




More information about the jboss-cvs-commits mailing list