blob: a66d29ceb04a3255a8c9077b80b8a89d97d0550c [file] [log] [blame]
<!--
%
$Id$
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.
%
@hidden $Id$
@title DTD for the Tiles Definition File, Version 2.0
@doctype declaredRoot PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"
@root declaredRoot
-->
<!-- ========== Defined Types ============================================= -->
<!-- A "Boolean" is the string representation of a boolean (true or false)
variable.
-->
<!ENTITY % Boolean "(true|false)">
<!-- A "ContentType" is the content type of an attribute passed to a tile
component.
-->
<!ENTITY % ContentType "(string|template|definition)">
<!-- 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">
<!-- A "RequestPath" is an module-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">
<!-- A "DefinitionName" is the unique identifier of a definition. This identifier
is a logical name used to reference the definition.
-->
<!ENTITY % DefinitionName "CDATA">
<!-- 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 "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 "Location" is a relative path, delimited by "/" characters, that
defines the location of a resource relative to the location of the
configuration file itself.
-->
<!ENTITY % Location "#PCDATA">
<!-- ========== Top Level Elements ======================================== -->
<!-- The "tiles-definitions" element is the root of the configuration file
hierarchy, and contains nested elements for all of the other
configuration settings.
-->
<!ELEMENT tiles-definitions (definition+)>
<!-- The "definition" element describes a definition that can be inserted in a jsp
page. This definition is identified by its logical name. A definition allows
to define all the attributes that can be set in <insert> tag from a jsp page.
-->
<!ELEMENT definition (icon?, display-name?, description?, put-attribute*, put-list-attribute*)>
<!ATTLIST definition id ID #IMPLIED>
<!--
@attr preparer The fully qualified Java class name of the preparer
subclass to call immediately before the tiles is inserted.
Only one of preparerClass or preparerUrl should be
specified.
-->
<!ATTLIST definition preparer %ClassName; #IMPLIED>
<!--
@attr extends Name of a definition that is used as ancestor of this definition.
All attributes from the ancestor are available to the new
definition. Any attribute inherited from the ancestor can
be overloaded by providing a new value.
-->
<!ATTLIST definition extends %DefinitionName; #IMPLIED>
<!--
@attr name The unique identifier for this definition.
-->
<!ATTLIST definition name %DefinitionName; #REQUIRED>
<!--
@attr role Security role name that is allowed access to this definition
object. The definition is inserted only if the role name is
allowed.
-->
<!ATTLIST definition role CDATA #IMPLIED>
<!--
@attr template The context-relative path to the resource used as tiles to
insert. This tiles will be inserted and a tiles context
containing appropriate attributes will be available.
-->
<!ATTLIST definition template %RequestPath; #IMPLIED>
<!-- The "put-attribute" element describes an attribute of a definition. It allows to
specify the tiles attribute name and its value. The tiles value can be
specified as an xml attribute, or in the body of the <put-attribute> tag.
-->
<!ELEMENT put-attribute (#PCDATA)>
<!ATTLIST put-attribute id ID #IMPLIED>
<!--
@attr name The unique identifier for this put-attribute.
-->
<!ATTLIST put-attribute name CDATA #REQUIRED>
<!--
@attr type The type of the value. Can be: string, template or definition.
By default, no type is associated to a value. If a type is
associated, it will be used as a hint to process the value
when the attribute will be used in the inserted tiles.
-->
<!ATTLIST put-attribute type %ContentType; #IMPLIED>
<!--
@attr value The value associated to this tiles attribute. The value should
be specified with this tag attribute, or in the body of the tag.
-->
<!ATTLIST put-attribute value CDATA #IMPLIED>
<!-- The "put-list-attribute" element describes a list attribute of a definition. It allows to
specify an attribute that is a java List containing any kind of values. In
the config file, the list elements are specified by nested <add-attribute>, <item> or
<add-list-attribute>.
-->
<!ELEMENT put-list-attribute ( (add-attribute* | item* | bean* | add-list-attribute*)+) >
<!ATTLIST put-list-attribute id ID #IMPLIED>
<!--
@attr name The unique identifier for this put attribute list.
-->
<!ATTLIST put-list-attribute name CDATA #REQUIRED>
<!-- ========== Subordinate Elements ====================================== -->
<!-- The "add-attribute" element describes an element of a list. It is similar to the
<put> element.
-->
<!ELEMENT add-attribute (#PCDATA)>
<!ATTLIST add-attribute id ID #IMPLIED>
<!--
@attr type The type of the value. Can be: string, template or definition.
By default, no type is associated to a value. If a type is
associated, it will be used as a hint to process the value
when the attribute will be used in the inserted tiles.
-->
<!ATTLIST add-attribute type %ContentType; #IMPLIED>
<!--
@attr value The value associated to this tiles attribute. The value should
be specified with this tag attribute, or in the body of the tag.
-->
<!ATTLIST add-attribute value CDATA #IMPLIED>
<!-- The "add-list-attribute" element describes a list attribute subordinate to another
list attribute. It allows to specify an attribute value that is a java List
containing any kind of values. In the config file, the list elements are specified
by nested <add-attribute>, <item> or
<add-list-attribute>.
-->
<!ELEMENT add-list-attribute ( (add-attribute* | item* | bean* | add-list-attribute*)+) >
<!ATTLIST add-list-attribute id ID #IMPLIED>
<!-- The "bean" element describes an element of a list. It create a bean of the
specified java classtype. This bean is initialized with appropriate nested
<set-property>.
-->
<!ELEMENT bean (set-property*)>
<!ATTLIST bean id ID #IMPLIED>
<!--
@attr classtype The fully qualified classname for this bean.
-->
<!ATTLIST bean classtype %ClassName; #REQUIRED>
<!-- The "set-property" element specifies the method name and initial value of
a bean property. When the object representing
the surrounding element is instantiated, the accessor for the indicated
property is called and passed the indicated value.
-->
<!ELEMENT set-property EMPTY>
<!ATTLIST set-property id ID #IMPLIED>
<!--
@attr property Name of the JavaBeans property whose setter method
will be called.
-->
<!ATTLIST set-property property %PropName; #REQUIRED>
<!--
@attr value String representation of the value to which this
property will be set, after suitable type conversion
-->
<!ATTLIST set-property value CDATA #REQUIRED>
<!-- The "item" element describes an element of a list. It create a bean added as
element to the list. Each bean can contain different properties: value, link,
icon, tooltip. These properties are to be interpreted by the jsp page using
them.
By default the bean is of type
"org.apache.struts.tiles.beans.SimpleMenuItem". This bean is useful to
create a list of beans used as menu items.
-->
<!ELEMENT item (#PCDATA)>
<!ATTLIST item id ID #IMPLIED>
<!--
@attr classtype The fully qualified classtype for this bean.
If specified, the classtype must be a subclass of the interface
"org.apache.struts.tiles.beans.MenuItem".
-->
<!ATTLIST item classtype %ClassName; #IMPLIED>
<!--
@attr icon The bean 'icon' property.
-->
<!ATTLIST item icon CDATA #IMPLIED>
<!--
@attr link The bean 'link' property.
-->
<!ATTLIST item link CDATA #REQUIRED>
<!--
@attr tooltip The bean 'tooltip' property.
-->
<!ATTLIST item tooltip CDATA #IMPLIED>
<!--
@attr value The bean 'value' property.
-->
<!ATTLIST item value CDATA #REQUIRED>
<!-- ========== Info 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>