<!--
Copyright 2004 Sun Microsystems, Inc. All rights reserved.
SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-->

<!--
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.29.4.1 2004/02/05 18:37:51 rlubke Exp $

-->


Top Level Elements

  • faces-config

  • Definition Elements

  • application

  • factory

  • attribute

  • attribute-extension

  • component

  • component-extension

  • converter

  • icon

  • lifecycle

  • locale-config

  • managed-bean

  • managed-property

  • map-entry

  • map-entries

  • message-bundle

  • navigation-case

  • navigation-rule

  • property

  • property-extension

  • referenced-bean

  • render-kit

  • renderer

  • renderer-extension

  • supported-component-class

  • supported-component-type

  • validator

  • list-entries

  • Subordinate Elements

    action-listener

    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.


    application-factory

    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.


    attribute-class

    The "attribute-class" element represents the Java type of the value associated with this attribute name. It must be of type ClassName.


    attribute-name

    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.


    component-class

    The "component-class" element represents the fully qualified class name of a concrete UIComponent implementation class. It must be of type ClassName.


    component-type

    The "component-type" element represents the name under which the corresponding UIComponent class should be registered


    converter-class

    The "converter-class" element represents the fully qualified class name of a concrete Converter implementation class. It must be of type ClassName.


    converter-for-class

    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.


    converter-id

    The "converter-id" element represents the identifier under which the corresponding Converter class should be registered.


    default-locale

    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 '_'.


    description

    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.


    display-name

    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.


    faces-context-factory

    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.


    from-action

    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.


    from-outcome

    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.


    from-view-id

    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".


    key

    The "key" element is the String representation of a map key that will be stored in a managed property of type java.util.Map.


    key-class

    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.


    large-icon

    The "large-icon" element contains the resource path to a large (32x32) icon image. The image may be in either GIF or JPG format.


    lifecycle-factory

    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.


    managed-bean-class

    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.


    managed-bean-name

    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.


    managed-bean-scope

    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.


    navigation-handler

    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.


    phase-listener

    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.


    redirect

    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.


    suggested-value

    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.


    view-handler

    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


    null-value

    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.


    property-class

    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.


    property-name

    The "property-name" element represents the JavaBeans property name under which the corresponding value may be stored.


    property-resolver

    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 reference expressions. It must be of type ClassName.


    referenced-bean-class

    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.


    referenced-bean-name

    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.


    render-kit-id

    The "render-kit-id" element represents an identifier for the RenderKit represented by the parent "render-kit" element.


    render-kit-class

    The "render-kit-class" element represents the fully qualified class name of a concrete RenderKit implementation class. It must be of type ClassName.


    renderer-class

    The "renderer-class" element represents the fully qualified class name of a concrete Renderer implementation class. It must be of type ClassName.


    render-kit-factory

    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.


    component-family

    The component-family element represents the component family for which the Renderer represented by the parent renderer element will be used.


    renderer-type

    The "renderer-type" element represents an identifier for the Renderer represented by the parent "renderer" element.


    small-icon

    The "small-icon" element contains the resource path to a large (16x16) icon image. The image may be in either GIF or JPG format.


    supported-locale

    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 '_'.


    to-view-id

    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".


    validator-class

    The "validator-class" element represents the fully qualified class name of a concrete Validator implementation class. It must be of type ClassName.


    validator-id

    The "validator-id" element represents the identifier under which the corresponding Validator class should be registered.


    value

    The "value" element is the String representation of a literal value to which a scalar managed property will be set, or a value reference expression ("#{...}") that will be used to calculate the required value. It will be converted as specified for the actual property type.


    value-class

    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.


    variable-resolver

    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 reference expressions. It must be of type ClassName.


    Defined Types

    Action

    An "Action" is a String that represents a method reference expression that points at a method with no arguments that returns a String. It must be bracketed with "#{}", for example, "#{cardemo.buyCar}"


    ClassName

    A "ClassName" is the fully qualified name of a Java class that is instantiated to provide the functionality of the enclosing element.


    Identifier

    An "Identifier" is a string of characters that conforms to the variable naming conventions of the Java programming language (JLS Section ?.?.?).


    JavaType

    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.


    Language

    A "Language" is a lower case two-letter code for a language as defined by ISL-639.


    ResourcePath

    A "ResourcePath" is the relative or absolute path to a resource file (such as a logo image).


    Scope

    A "Scope" is the well-known name of a scope in which managed beans may optionally be defined to be created in.

    (request|session|application)


    ScopeOrNone

    A "ScopeOrNone" is the well-known name of a scope in which managed beans may optionally be defined to be created in, or "none".

    (request|session|application|none)


    ViewIdPattern

    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: