diff --git a/proposal/xdocs/dvsl/task.dvsl b/proposal/xdocs/dvsl/task.dvsl
index 89b6a4d56..778a01c1a 100644
--- a/proposal/xdocs/dvsl/task.dvsl
+++ b/proposal/xdocs/dvsl/task.dvsl
@@ -54,7 +54,7 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
#set( $project = $node.selectSingleNode("document('xdocs/stylesheets/project.xml')/project" ) )
#if ($node.name().equals("task"))
#set( $title = "#capitalize($attrib.name) Task" )
- #set( $summary = $node.short-description )
+ #set( $summary = $node.short-description )
#end
@@ -105,7 +105,7 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
#* *#$context.applyTemplates("long-description")
#* *##end
-#* *#$context.applyTemplates("structure/attributes")
+#* *#$context.applyTemplates("structure/attribute-groups")
#* *#$context.applyTemplates("structure/elements")
#* *#$context.applyTemplates("external/section")
#* *##end
@@ -153,6 +153,16 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
#end
+#*
+ Macro to format a table body cell that spans multiple rows
+*#
+#macro( tdmr $text $rows )
+
+ $text
+ |
+#end
+
+
#*
Macro to format a section banner
*#
@@ -215,19 +225,18 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
#*
Process top level attributes
*#
-#match( "structure/attributes" )
+#match( "structure/attribute-groups" )
|
-
-#* *##section("attributes" "Parameters")
-
+#* *##section("attributes" "Parameters")
#* *##th("Attribute")
#* *##th("Description")
#* *##th("Type")
+#* *##th("Requirement")
#* *#$context.applyTemplates("*")
@@ -237,15 +246,30 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
#end
+#*
+ Process attribute group
+*#
+#match( "structure/attribute-groups/attribute-group" )
+
+ #set ($attributeGroup = $attrib.description)
+ #set ($numGroups = $node.selectNodes("attribute").size())
+ #set ($inGroup = true)
+#* *#$context.applyTemplates("*")
+#end
+
#*
Process a single attribute
*#
-#match( "attribute" )
+#match( "structure/attribute-groups/attribute-group/attribute" )
#* *##td($attrib.name)
#* *##td($node.description)
#* *##td($attrib.briefType)
+#if ($inGroup)
+#* *##tdmr($attributeGroup $numGroups)
+#set ($inGroup = false)
+#end
#end
@@ -385,6 +409,15 @@ $word.substring(0,1).toUpperCase()$word.substring(1)
|
#end
+#*
+ * process a the requirement groups
+ *#
+#match( "requirement-group" )
+ #if ($regGroup == $attrib.name)
+#* *#$attrib.description
+ #end
+#end
+
#match( "source" )
diff --git a/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar b/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar
index b7b7a3b1d..c2409e95b 100644
Binary files a/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar and b/proposal/xdocs/lib/xdoclet-apache-module-1.2b3-dev.jar differ