<!--
 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.31 2004/02/26 20:30:16 eburns 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|p