`struts-config_1_0.dtd`: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements.  See the NOTICE file distributed with
        this work for additional information regarding copyright ownership.
        The ASF licenses this file to You under the Apache License, Version 2.0
        (the "License"); you may not use this file except in compliance with
        the License.  You may obtain a copy of the License at

             http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
    -->

    <!--
         DTD for the Struts Application Configuration File, Version 1.0

         To support validation of your configuration file, include the following
         DOCTYPE element at the beginning (after the "xml" declaration):

         <!DOCTYPE struts-config PUBLIC
           "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
           "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">

         $Id: struts-config_1_0.dtd 481833 2006-12-03 17:32:52Z niallp $
    -->

    <!-- ========== Defined Types ============================================= -->

    <!-- A "BeanName" is the identifier of a JavaBean, such as a form bean,
         and also serves as the name of the corresponding scripting variable
         and the name of the JSP attribute under which the bean is accessed.
         Therefore, it must conform to the rules for a Java identifier.
    -->
    <!ENTITY % BeanName "CDATA">

    <!-- A "Boolean" is the string representation of a boolean (true or false)
         variable.
    -->
    <!ENTITY % Boolean "(true|false|yes|no)">

    <!-- 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 "Integer" is a character string consisting solely of numeric digits,
         optionally preceeded by a minus sign, that can be converted to a
         32-bit integer.
    -->
    <!ENTITY % Integer "CDATA">

    <!-- A "Location" is a relative path, delimited by "/" characters, that
         defines the location of a resource relative to the location of the
         Struts configuration file itself.
    -->
    <!ENTITY % Location "#PCDATA">

    <!-- A "PropName" is the name of a JavaBeans property, and must begin with
         a lower case letter and contain only characters that are legal in a
         Java identifier.
    -->
    <!ENTITY % PropName "CDATA">

    <!-- A "RequestPath" is a context-relative URI path, beginning with a slash,
         that identifies a mapped resource (such as a JSP page or a servlet)
         within this web application.
    -->
    <!ENTITY % RequestPath "CDATA">

    <!-- The name of a JSP bean scope within which such a form bean may be
         accessed.
    -->
    <!ENTITY % RequestScope "(request|session)">

    <!-- ========== Top Level Elements ======================================== -->

    <!-- The "struts-config" element is the root of the configuration file
         hierarchy, and contains nested elements for all of the other
         configuration settings.
    -->
    <!ELEMENT struts-config (data-sources?, form-beans?, global-forwards?, action-mappings?)>
    <!ATTLIST struts-config  id             ID              #IMPLIED>

    <!-- The "data-sources" element describes a set of JDBC 2.0 Standard Extension
         data source objects which will be configured according to the nested
         "data-source" elements found inside.
    -->

    <!ELEMENT data-sources (data-source*)>
    <!ATTLIST data-sources   id             ID              #IMPLIED>

    <!-- The "data-source" element describes a JDBC 2.0 Standard Extension data
         source object (that implements javax.sql.DataSource) which will be
         configured according to the properties and nested elements found here,
         and made available as a servlet context attribute (i.e. application
         scope bean).  The following attributes are required:

         key             Servlet context attribute key under which this data
                         source will be stored.  Default is the value specified
                         by string constant Action.DATA_SOURCE_KEY.

         type            Fully qualified Java class name of the implementation
                         class (must implement javax.sql.DataSource).  Default
                         value is 'org.apache.struts.util.GenericDataSource'.

         NOTE:  The following attributes are defined by the default data source
         implementation, and only take effect for that class or subclasses of
         that class.

         WARNING:  The use of these attributes is deprecated.  You should use
         nested &lt;set-property&gt; elements to configure *all* properties of
         your data source implementation.

         autoCommit      The default auto-commit state for newly created
                         connections.

         description     The description of this data source.

         driverClass     The Java class name of the JDBC driver to be used.
                         [REQUIRED]

         loginTimeout    The maximum number of seconds to wait for a connection
                         to be created or returned.  Default is driver dependent.

         maxCount        The maximum number of connections to be created.

         minCount        The minimum number of connections to be created.

         password        The database password to use when connecting. [REQUIRED]

         readOnly        The default read-only state for newly created
                         connections.

         url             The JDBC URL to use when connecting. [REQUIRED]

         user            The database username to use when connecting. [REQUIRED]

    -->
    <!ELEMENT data-source (set-property*)>
    <!ATTLIST data-source    id             ID              #IMPLIED>
    <!ATTLIST data-source    key            %BeanName;      #IMPLIED>
    <!ATTLIST data-source    type           %ClassName;     #IMPLIED>
    <!-- All of the following attributes are deprecated.  Use a nested          -->
    <!-- set-property element to configure data source properties.              -->
    <!ATTLIST data-source    autoCommit     %Boolean;       #IMPLIED>
    <!ATTLIST data-source    description    CDATA           #IMPLIED>
    <!ATTLIST data-source    driverClass    %ClassName;     #IMPLIED>
    <!ATTLIST data-source    loginTimeout   %Integer;       #IMPLIED>
    <!ATTLIST data-source    maxCount       %Integer;       #IMPLIED>
    <!ATTLIST data-source    minCount       %Integer;       #IMPLIED>
    <!ATTLIST data-source    password       CDATA           #IMPLIED>
    <!ATTLIST data-source    readOnly       %Boolean;       #IMPLIED>
    <!ATTLIST data-source    url            CDATA           #IMPLIED>
    <!ATTLIST data-source    user           CDATA           #IMPLIED>

    <!-- The "form-beans" element is the root of the set of form bean descriptors
         for this application.  The following attributes are defined:

         type            Fully qualified Java class name of the implementation
                         class used for ActionFormBean objects.  DEPRECATED.

                         WARNING:  For Struts 1.0, this value is ignored.  You
                         can set the default implementation class name with the
                         "formBean" initialization parameter to the Struts
                         controller servlet.
    -->
    <!ELEMENT form-beans (form-bean*)>
    <!ATTLIST form-beans     id             ID              #IMPLIED>
    <!ATTLIST form-beans     type           %ClassName;     "org.apache.struts.action.ActionFormBean">

    <!-- The "form-bean" element describes a particular form bean, which is a
         JavaBean that implements the org.apache.struts.action.ActionForm
         class.  The following attributes are defined:

         className       Fully qualified Java class name of the ActionFormBean
                         implementation class to use.  Defaults to the value
                         configured as the "formBean" initialization parameter
                         to the Struts controller servlet.

         name            Unique identifier of this bean, used to reference it
                         in corresponding action mappings.

         type            Fully qualified Java class name of the implementation
                         class to be used or generated
    -->
    <!ELEMENT form-bean (icon?, display-name?, description?, set-property*)>
    <!ATTLIST form-bean      id             ID              #IMPLIED>
    <!ATTLIST form-bean      className      %ClassName;     #IMPLIED>
    <!ATTLIST form-bean      name           %BeanName;      #REQUIRED>
    <!ATTLIST form-bean      type           %ClassName;     #REQUIRED>

    <!-- The "global-forwards" element configures the global mappings of logical
         names (used within the application) to mappable resources (identified
         by context-relative URI paths).  A global "forward" with a particular name
         can be locally overridden by defining a "forward" of the same name within
         an "action" element.  The following attribute are defined:

         type            Fully qualified Java class name of the implementation
                         class used for ActionForward objects.  DEPRECATED.

                         WARNING:  For Struts 1.0, this value is ignored.  You
                         can set the default implementation class name with the
                         "forward" initialization parameter to the Struts
                         controller servlet.
    -->
    <!ELEMENT global-forwards (forward*)>
    <!ATTLIST global-forwards id            ID              #IMPLIED>
    <!ATTLIST global-forwards type          %ClassName;     "org.apache.struts.action.ActionForward">

    <!-- The "forward" element describes a mapping of a logical name (used within
         the application) to a mappable resource identified by a context-relative
         URI path.  The following attributes are defined:

         className       Fully qualified Java class name of the ActionForward
                         implementation class to use.  Defaults to the value
                         configured as the "forward" initialization parameter
                         to the Struts controller servlet.

         name            Unique identifier of this forward, used to reference it
                         in application action classes.

         path            The context-relative path of the mapped resource.

         redirect        Set to "true" if sendRedirect() should be used to forward
                         to this resource, or "false" in order to use
                         RequestDispatcher.forward() instead.
    -->
    <!ELEMENT forward (icon?, display-name?, description?, set-property*)>
    <!ATTLIST forward        id             ID              #IMPLIED>
    <!ATTLIST forward        className      %ClassName;     #IMPLIED>
    <!ATTLIST forward        name           CDATA           #REQUIRED>
    <!ATTLIST forward        path           %RequestPath;   #REQUIRED>
    <!ATTLIST forward        redirect       %Boolean;       #IMPLIED>

    <!-- The "action-mappings" element configures the mappings from submitted
         request paths to the corresponding Action classes that should be
         used to process these requests.  The following attributes are
         defined:

         type           Fully qualified Java class name of the ActionMapping
                        implementation class to be used.  DEPRECATED.

                         WARNING:  For Struts 1.0, this value is ignored.  You
                         can set the default implementation class name with the
                         "mapping" initialization parameter to the Struts
                         controller servlet.
    -->
    <!ELEMENT action-mappings (action*)>
    <!ATTLIST action-mappings id             ID              #IMPLIED>
    <!ATTLIST action-mappings type           %ClassName;     "org.apache.struts.action.ActionMapping">

    <!-- The "action" element describes a mapping from a request paths to the
         corresponding Action classes that should be used to process these
         requests.  The following attributes are defined:

         attribute       Name of the request-scope or session-scope attribute
                         under which our form bean is accessed, if it is other
                         than the bean's specified "name".  Optional if
                         "name" is specified, else not allowed.

         className       Fully qualified Java class name of the ActionMapping
                         implementation class to use.  Defaults to the value
                         configured as the "mapping" initialization parameter
                         to the Struts controller servlet.

         forward         Context-relative path of the servlet or JSP resource that
                         will process this request, instead of instantiating and
                         calling the Action class specified by "type".  Exactly one
                         of "forward", "include", or "type" must be specified.

         include         Context-relative path of the servlet or JSP resource that
                         will process this request, instead of instantiating and
                         calling the Action class specified by "type".  Exactly one
                         of "forward", "include", or "type" must be specified.

         input           Context-relative path of the input form to which control
                         should be returned if a validation error is encountered.
                         Required if "name" is specified and the input bean
                         returns validation errors.  Optional if "name" is
                         specified and the input bean does not return validation
                         errors.  Not allowed if "name" is not specified.

         name            Name of the form bean, if any, that is associated
                         with this action.

         path            The context-relative path of the submitted request,
                         starting with a "/" character, and without the
                         filename extension if extension mapping is used.

         parameter       General purpose configuration parameter that can be used
                         to pass extra information to the Action selected by this
                         mapping.

         prefix          Prefix used to match request parameter names to form bean
                         property names, if any.  Optional if "name" is specified,
                         else not allowed.

         scope           Identifier of the scope ("request" or "session") within
                         which our form bean is accessed, if any.  Optional if
                         "name" is specified, else not allowed.

         suffix          Suffix used to match request parameter names to form bean
                         property names, if any.  Optional if "name" is specified,
                         else not allowed.

         type            Fully qualified Java class name of the Action class
                         (implements org.apache.struts.action.Action) to be
                         used to process requests for this mapping if the "forward"
                         or "include" attribute is not included.  Exactly one
                         of "forward", "include", or "type" must be specified.

         unknown         Set to "true" if this action should be configured as the
                         default for this application, to handle all requests
                         not handled by another action.  Only one action can be
                         defined as a default within a single application.

         validate        Set to "true" if the validate() method of the form bean
                         should be called prior to calling this action, or set to
                         "false" if you do not want validation performed.
    -->
    <!ELEMENT action (icon?, display-name?, description?, set-property*, forward*)>
    <!ATTLIST action         id             ID              #IMPLIED>
    <!ATTLIST action         attribute      %BeanName;      #IMPLIED>
    <!ATTLIST action         className      %ClassName;     #IMPLIED>
    <!ATTLIST action         forward        %RequestPath;   #IMPLIED>
    <!ATTLIST action         include        %RequestPath;   #IMPLIED>
    <!ATTLIST action         input          %RequestPath;   #IMPLIED>
    <!ATTLIST action         name           %BeanName;      #IMPLIED>
    <!ATTLIST action         parameter      CDATA           #IMPLIED>
    <!ATTLIST action         path           %RequestPath;   #REQUIRED>
    <!ATTLIST action         prefix         CDATA           #IMPLIED>
    <!ATTLIST action         scope          %RequestScope;  #IMPLIED>
    <!ATTLIST action         suffix         CDATA           #IMPLIED>
    <!ATTLIST action         type           %ClassName;     #IMPLIED>
    <!ATTLIST action         unknown        %Boolean;       #IMPLIED>
    <!ATTLIST action         validate       %Boolean;       #IMPLIED>

    <!-- The "set-property" element specifies the name and value of an additional
         JavaBeans configuration property whose setter method will be called
         on the object that represents our surrounding element.  This is especially
         useful when an extended implementation class (with additional properties)
         is configured on the <global-forwards> or <action-mappings> elements.
         The following attributes are defined:

         property        Name of the JavaBeans property whose setter method
                         will be called.

         value           String representation of the value to which this
                         property will be set, after suitable type conversion
    -->
    <!ELEMENT set-property EMPTY>
    <!ATTLIST set-property   id             ID              #IMPLIED>
    <!ATTLIST set-property   property       %PropName;      #REQUIRED>
    <!ATTLIST set-property   value          CDATA           #REQUIRED>

    <!-- ========== Subordinate Elements ====================================== -->

    <!-- The "description" element contains descriptive (paragraph length) text
         about the surrounding element, suitable for use in GUI tools.
    -->
    <!ELEMENT description (#PCDATA)>
    <!ATTLIST description    id             ID              #IMPLIED>

    <!-- The "display-name" element contains a short (one line) description of
         the surrounding element, suitable for use in GUI tools.
    -->
    <!ELEMENT display-name (#PCDATA)>
    <!ATTLIST display-name   id             ID              #IMPLIED>

    <!-- The "icon" element contains a small-icon and large-icon element which
         specify the location, relative to the Struts configuration file, for small
         and large images used to represent the surrounding element in GUI tools.
    -->
    <!ELEMENT icon (small-icon?, large-icon?)>
    <!ATTLIST icon           id             ID              #IMPLIED>

    <!-- The "large-icon" element specifies the location, relative to the Struts
         configuration file, of a resource containing a large (32x32 pixel)
         icon image.
    -->
    <!ELEMENT large-icon (%Location;)>
    <!ATTLIST large-icon     id             ID              #IMPLIED>

    <!-- The "small-icon" element specifies the location, relative to the Struts
         configuration file, of a resource containing a small (16x16 pixel)
         icon image.
    -->
    <!ELEMENT small-icon (%Location;)>
    <!ATTLIST small-icon     id             ID              #IMPLIED>