TILES-103
Now <put-list-attribute> can have <add-list-attribute> as a child.
git-svn-id: https://svn.apache.org/repos/asf/tiles/framework/trunk@507887 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java b/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
index 3dd5d52..03f6c9e 100644
--- a/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
+++ b/tiles-core/src/main/java/org/apache/tiles/definition/digester/DigesterDefinitionsReader.java
@@ -214,7 +214,7 @@
String listHandlerClass = PACKAGE_NAME + ".context.ComponentListAttribute";
// Tag value for adding an element in a list
- String ADD_LIST_ELE_TAG = "*/" + LIST_TAG + "/add-attribute";
+ String ADD_LIST_ELE_TAG = "*/add-attribute";
// syntax rules
digester.addObjectCreate(DEFINITION_TAG, definitionHandlerClass);
@@ -244,7 +244,7 @@
// nested list elements rules
// Create a list handler, and add it to parent list
- String NESTED_LIST = "*/" + LIST_TAG + "/" + LIST_TAG;
+ String NESTED_LIST = "*/add-list-attribute";
digester.addObjectCreate(NESTED_LIST, listHandlerClass);
digester.addSetProperties(NESTED_LIST);
digester.addSetNext(NESTED_LIST, "add", putAttributeHandlerClass);
diff --git a/tiles-core/src/main/resources/org/apache/tiles/resources/tiles-config_2_0.dtd b/tiles-core/src/main/resources/org/apache/tiles/resources/tiles-config_2_0.dtd
index 3a50697..a66d29c 100644
--- a/tiles-core/src/main/resources/org/apache/tiles/resources/tiles-config_2_0.dtd
+++ b/tiles-core/src/main/resources/org/apache/tiles/resources/tiles-config_2_0.dtd
@@ -152,10 +152,10 @@
<!-- 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 <put-attribute>, <item> or
- <put-list-attribute>.
+ 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* | put-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.
@@ -164,6 +164,7 @@
<!-- ========== Subordinate Elements ====================================== -->
+
<!-- The "add-attribute" element describes an element of a list. It is similar to the
<put> element.
-->
@@ -182,6 +183,15 @@
-->
<!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