--- /dev/null
+<!--\r
+ DTD for the Tile Definition File, Version 1.1\r
+\r
+ To support validation of your configuration file, include the following\r
+ DOCTYPE element at the beginning (after the "xml" declaration):\r
+\r
+ <!DOCTYPE tiles-definitions PUBLIC\r
+ "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"\r
+ "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">\r
+\r
+ $Id: tiles-config_1_1.dtd,v 1.6 2003/05/03 16:19:56 jholmes Exp $\r
+-->\r
+\r
+\r
+<!-- ========== Defined Types ============================================= -->\r
+\r
+\r
+<!-- A "Boolean" is the string representation of a boolean (true or false)\r
+ variable.\r
+-->\r
+<!ENTITY % Boolean "(true|false)">\r
+\r
+\r
+<!-- A "ContentType" is the content type of an attribute passed to a tile\r
+ component.\r
+-->\r
+<!ENTITY % ContentType "(string|page|template|definition)">\r
+\r
+<!-- A "ClassName" is the fully qualified name of a Java class that is\r
+ instantiated to provide the functionality of the enclosing element.\r
+-->\r
+<!ENTITY % ClassName "CDATA">\r
+\r
+<!-- A "RequestPath" is an application-relative URI path, beginning with a\r
+ slash, that identifies a mapped resource (such as a JSP page or a servlet)\r
+ within this web application.\r
+-->\r
+<!ENTITY % RequestPath "CDATA">\r
+\r
+<!-- A "DefinitionName" is the unique identifier of a definition. This identifier\r
+ is a logical name used to reference the definition.\r
+-->\r
+<!ENTITY % DefinitionName "CDATA">\r
+\r
+<!-- A "BeanName" is the identifier of a JavaBean, such as a form bean,\r
+ and also serves as the name of the corresponding scripting variable\r
+ and the name of the JSP attribute under which the bean is accessed.\r
+ Therefore, it must conform to the rules for a Java identifier.\r
+-->\r
+<!ENTITY % BeanName "CDATA">\r
+\r
+<!-- A "PropName" is the name of a JavaBeans property, and must begin with\r
+ a lower case letter and contain only characters that are legal in a\r
+ Java identifier.\r
+-->\r
+<!ENTITY % PropName "CDATA">\r
+\r
+<!-- A "Location" is a relative path, delimited by "/" characters, that\r
+ defines the location of a resource relative to the location of the\r
+ configuration file itself.\r
+-->\r
+<!ENTITY % Location "#PCDATA">\r
+\r
+\r
+\r
+<!-- ========== Top Level Elements ======================================== -->\r
+\r
+\r
+ <!-- deprecated: use tiles-definitions instead.-->\r
+<!ELEMENT component-definitions (definition+)>\r
+\r
+<!-- The "tiles-definitions" element is the root of the configuration file\r
+ hierarchy, and contains nested elements for all of the other\r
+ configuration settings.\r
+-->\r
+<!ELEMENT tiles-definitions (definition+)>\r
+\r
+<!-- The "definition" element describes a definition that can be inserted in a jsp\r
+ page. This definition is identified by its logical name. A definition allows\r
+ to define all the attributes that can be set in <insert> tag from a jsp page.\r
+\r
+ controllerClass The fully qualified Java class name of the controller\r
+ subclass to call immediately before the tiles is inserted.\r
+ Only one of controllerClass or controllerUrl should be\r
+ specified.\r
+\r
+ controllerUrl The context-relative path to the resource used as controller\r
+ called immediately before the tiles is inserted.\r
+ Only one of controllerClass or controllerUrl should be\r
+ specified.\r
+\r
+ extends Name of a definition that is used as ancestor of this definition.\r
+ All attributes from the ancestor are available to the new\r
+ definition. Any attribute inherited from the ancestor can\r
+ be overloaded by providing a new value.\r
+\r
+ name The unique identifier for this definition.\r
+\r
+ page Same as path.\r
+\r
+ path The context-relative path to the resource used as tiles to\r
+ insert. This tiles will be inserted and a tiles context\r
+ containing appropriate attributes will be available.\r
+\r
+ role Security role name that is allowed access to this definition\r
+ object. The definition is inserted only if the role name is\r
+ allowed.\r
+\r
+ template Same as path. For compatibility with the template tag library.\r
+-->\r
+<!ELEMENT definition (icon?, display-name?, description?, put*, putList*)>\r
+<!ATTLIST definition id ID #IMPLIED>\r
+<!ATTLIST definition controllerClass %ClassName; #IMPLIED>\r
+<!ATTLIST definition controllerUrl %RequestPath; #IMPLIED>\r
+<!ATTLIST definition extends %DefinitionName; #IMPLIED>\r
+<!ATTLIST definition name %DefinitionName; #REQUIRED>\r
+<!ATTLIST definition page %RequestPath; #IMPLIED>\r
+<!ATTLIST definition path %RequestPath; #IMPLIED>\r
+<!ATTLIST definition role CDATA #IMPLIED>\r
+<!ATTLIST definition template %RequestPath; #IMPLIED>\r
+\r
+\r
+<!-- The "put" element describes an attribute of a definition. It allows to\r
+ specify the tiles attribute name and its value. The tiles value can be\r
+ specified as an xml attribute, or in the body of the <put> tag.\r
+\r
+ content Same as value. For compatibility with the template tag library.\r
+\r
+ direct Same as type="string". For compatibility with the template\r
+ tag library.\r
+\r
+ name The unique identifier for this put.\r
+\r
+ type The type of the value. Can be: string, page, template or definition.\r
+ By default, no type is associated to a value. If a type is\r
+ associated, it will be used as a hint to process the value\r
+ when the attribute will be used in the inserted tiles.\r
+\r
+ value The value associated to this tiles attribute. The value should\r
+ be specified with this tag attribute, or in the body of the tag.\r
+-->\r
+<!ELEMENT put (#PCDATA)>\r
+<!ATTLIST put id ID #IMPLIED>\r
+<!ATTLIST put content CDATA #IMPLIED>\r
+<!ATTLIST put direct %Boolean; #IMPLIED>\r
+<!ATTLIST put name CDATA #REQUIRED>\r
+<!ATTLIST put type %ContentType; #IMPLIED>\r
+<!ATTLIST put value CDATA #IMPLIED>\r
+\r
+\r
+<!-- The "putList" element describes a list attribute of a definition. It allows to\r
+ specify an attribute that is a java List containing any kind of values. In\r
+ the config file, the list elements are specified by nested <add>, <item> or\r
+ <putList>.\r
+\r
+ name The unique identifier for this put list.\r
+-->\r
+<!ELEMENT putList ( (add* | item* | bean* | putList*)+) >\r
+<!ATTLIST putList id ID #IMPLIED>\r
+<!ATTLIST putList name CDATA #REQUIRED>\r
+\r
+<!-- ========== Subordinate Elements ====================================== -->\r
+\r
+<!-- The "add" element describes an element of a list. It is similar to the\r
+ <put> element.\r
+\r
+ content Same as value. For compatibility with the template tag library.\r
+\r
+ direct Same as type="string". For compatibility with the template\r
+ tag library.\r
+\r
+ type The type of the value. Can be: string, page, template or definition.\r
+ By default, no type is associated to a value. If a type is\r
+ associated, it will be used as a hint to process the value\r
+ when the attribute will be used in the inserted tiles.\r
+\r
+ value The value associated to this tiles attribute. The value should\r
+ be specified with this tag attribute, or in the body of the tag.\r
+-->\r
+<!ELEMENT add (#PCDATA)>\r
+<!ATTLIST add id ID #IMPLIED>\r
+<!ATTLIST add content CDATA #IMPLIED>\r
+<!ATTLIST add direct %Boolean; #IMPLIED>\r
+<!ATTLIST add type %ContentType; #IMPLIED>\r
+<!ATTLIST add value CDATA #IMPLIED>\r
+\r
+\r
+<!-- The "bean" element describes an element of a list. It create a bean of the\r
+ specified java classtype. This bean is initialized with appropriate nested\r
+ <set-property>.\r
+\r
+ classtype The fully qualified classname for this bean.\r
+-->\r
+<!ELEMENT bean (set-property*)>\r
+<!ATTLIST bean id ID #IMPLIED>\r
+<!ATTLIST bean classtype %ClassName; #REQUIRED>\r
+\r
+<!-- The "set-property" element specifies the method name and initial value of\r
+ a bean property. When the object representing\r
+ the surrounding element is instantiated, the accessor for the indicated\r
+ property is called and passed the indicated value.\r
+\r
+ property Name of the JavaBeans property whose setter method\r
+ will be called.\r
+\r
+ value String representation of the value to which this\r
+ property will be set, after suitable type conversion\r
+-->\r
+<!ELEMENT set-property EMPTY>\r
+<!ATTLIST set-property id ID #IMPLIED>\r
+<!ATTLIST set-property property %PropName; #REQUIRED>\r
+<!ATTLIST set-property value CDATA #REQUIRED>\r
+\r
+\r
+<!-- The "item" element describes an element of a list. It create a bean added as\r
+ element to the list. Each bean can contain different properties: value, link,\r
+ icon, tooltip. These properties are to be interpreted by the jsp page using\r
+ them.\r
+ By default the bean is of type\r
+ "org.apache.struts.tiles.beans.SimpleMenuItem". This bean is useful to\r
+ create a list of beans used as menu items.\r
+\r
+ classtype The fully qualified classtype for this bean.\r
+ If specified, the classtype must be a subclass of the interface\r
+ "org.apache.struts.tiles.beans.MenuItem".\r
+\r
+ icon The bean 'icon' property.\r
+\r
+ link The bean 'link' property.\r
+\r
+ tooltip The bean 'tooltip' property.\r
+\r
+ value The bean 'value' property.\r
+-->\r
+<!ELEMENT item (#PCDATA)>\r
+<!ATTLIST item id ID #IMPLIED>\r
+<!ATTLIST item classtype %ClassName; #IMPLIED>\r
+<!ATTLIST item icon CDATA #IMPLIED>\r
+<!ATTLIST item link CDATA #REQUIRED>\r
+<!ATTLIST item tooltip CDATA #IMPLIED>\r
+<!ATTLIST item value CDATA #REQUIRED>\r
+\r
+\r
+<!-- ========== Info Elements ====================================== -->\r
+\r
+<!-- The "description" element contains descriptive (paragraph length) text\r
+ about the surrounding element, suitable for use in GUI tools.\r
+-->\r
+<!ELEMENT description (#PCDATA)>\r
+<!ATTLIST description id ID #IMPLIED>\r
+\r
+\r
+<!-- The "display-name" element contains a short (one line) description of\r
+ the surrounding element, suitable for use in GUI tools.\r
+-->\r
+<!ELEMENT display-name (#PCDATA)>\r
+<!ATTLIST display-name id ID #IMPLIED>\r
+\r
+\r
+<!-- The "icon" element contains a small-icon and large-icon element which\r
+ specify the location, relative to the Struts configuration file, for small\r
+ and large images used to represent the surrounding element in GUI tools.\r
+-->\r
+<!ELEMENT icon (small-icon?, large-icon?)>\r
+<!ATTLIST icon id ID #IMPLIED>\r
+\r
+\r
+<!-- The "large-icon" element specifies the location, relative to the Struts\r
+ configuration file, of a resource containing a large (32x32 pixel)\r
+ icon image.\r
+-->\r
+<!ELEMENT large-icon (%Location;)>\r
+<!ATTLIST large-icon id ID #IMPLIED>\r
+\r
+\r
+<!-- The "small-icon" element specifies the location, relative to the Struts\r
+ configuration file, of a resource containing a small (16x16 pixel)\r
+ icon image.\r
+-->\r
+<!ELEMENT small-icon (%Location;)>\r
+<!ATTLIST small-icon id ID #IMPLIED>\r