[jboss-svn-commits] JBL Code SVN: r6517 - in labs/reportingservices/trunk: dev dev/distribs/deployer dev/distribs/sar dev/modules dev/modules/adminconsole dev/modules/adminconsole/service-client dev/modules/adminconsole/service-client/src dev/modules/adminconsole/service-client/src/main dev/modules/adminconsole/service-client/src/main/java dev/modules/adminconsole/service-client/src/main/java/org dev/modules/adminconsole/service-client/src/main/java/org/jboss dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree dev/modules/adminconsole/service-impl dev/modules/adminconsole/service-impl/src dev/modules/adminconsole/service-impl/src/main dev/modules/adminconsole/service-impl/src/main/java dev/modules/adminconsole/service-impl/src/main/java/org dev/modules/adminconsole/service-impl/src/main/java/org/jboss! dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui/reporttree dev/modules/adminconsole/service-impl/src/main/resources dev/modules/webadminconsole dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree dev/modules/webadminconsole/src/main/resources dev/modules/webadminconsole/src/main/webapp dev/modules/webadminconsole/src/main/webapp/WEB-INF dev/modules/webadminconsole/src/main/webapp/include dev/modules/webadminconsole/src/main/webapp/report src/webapp

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 2 05:07:24 EDT 2006


Author: cyril.joui at supinfo.com
Date: 2006-10-02 05:05:18 -0400 (Mon, 02 Oct 2006)
New Revision: 6517

Added:
   labs/reportingservices/trunk/dev/modules/adminconsole/
   labs/reportingservices/trunk/dev/modules/adminconsole/pom.xml
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/pom.xml
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java
   labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/pom.xml
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui/reporttree/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/resources/
   labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/resources/META-INF/
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/myfaces_ext.tld
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/css/
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/images/
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/jscookmenu/
Removed:
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/resources/META-INF/
   labs/reportingservices/trunk/src/webapp/css/
   labs/reportingservices/trunk/src/webapp/images/
   labs/reportingservices/trunk/src/webapp/jscookmenu/
Modified:
   labs/reportingservices/trunk/dev/distribs/deployer/pom.xml
   labs/reportingservices/trunk/dev/distribs/sar/pom.xml
   labs/reportingservices/trunk/dev/modules/pom.xml
   labs/reportingservices/trunk/dev/modules/webadminconsole/pom.xml
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/web.xml
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/include/page_header.jsp
   labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/report/list.jsp
   labs/reportingservices/trunk/dev/pom.xml
Log:
Refactoring : 
Web Admin Console (Services / War divided)

Modified: labs/reportingservices/trunk/dev/distribs/deployer/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/distribs/deployer/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/distribs/deployer/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -29,6 +29,7 @@
                                 <!-- look for a sar packaging ... -->
                                 <move toFile="../sar/target/reporting-services-sar.dir/engine-jasperreports-0.2-SNAPSHOT.sar" file="../sar/target/reporting-services-sar.dir/engine-jasperreports-0.2-SNAPSHOT.jar"/>
                                 <move toFile="../sar/target/reporting-services-sar.dir/engine-jfreereport-0.2-SNAPSHOT.sar" file="../sar/target/reporting-services-sar.dir/engine-jfreereport-0.2-SNAPSHOT.jar"/>
+                                <move toFile="../sar/target/reporting-services-sar.dir/adminconsole-service-impl-0.2-SNAPSHOT.sar" file="../sar/target/reporting-services-sar.dir/adminconsole-service-impl-0.2-SNAPSHOT.jar"/>
                                 <copy todir="${JBOSS_HOME}/server/${jboss4x.config}/deploy/reporting-services.sar">
                                     <fileset dir="../sar/target/reporting-services-sar.dir" includes="**/*" excludes="**/sar*.jar" />
                                 </copy>

Modified: labs/reportingservices/trunk/dev/distribs/sar/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/distribs/sar/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/distribs/sar/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -48,6 +48,16 @@
 			<!-- console admin -->
 			<dependency>
 				<groupId>jboss.reportingservices</groupId>
+				<artifactId>adminconsole-service-client</artifactId>
+				<type>jar</type>
+			</dependency>
+			<dependency>
+				<groupId>jboss.reportingservices</groupId>
+				<artifactId>adminconsole-service-impl</artifactId>
+				<type>jar</type>
+			</dependency>
+			<dependency>
+				<groupId>jboss.reportingservices</groupId>
 				<artifactId>webadminconsole</artifactId>
 				<type>war</type>
 			</dependency>

Added: labs/reportingservices/trunk/dev/modules/adminconsole/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/adminconsole/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/adminconsole/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,21 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<parent>
+		<groupId>jboss.reportingservices</groupId>
+		<artifactId>modules</artifactId>
+		<version>0.2-SNAPSHOT</version>
+	</parent>
+
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>adminconsole</artifactId>
+	<name>Modules - Admin Console</name>
+	<packaging>pom</packaging>
+
+
+	<modules>
+		<module>service-client</module>
+		<module>service-impl</module>
+	</modules>
+
+</project>
\ No newline at end of file


Property changes on: labs/reportingservices/trunk/dev/modules/adminconsole/service-client
___________________________________________________________________
Name: svn:ignore
   + 
target


Added: labs/reportingservices/trunk/dev/modules/adminconsole/service-client/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/adminconsole/service-client/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/adminconsole/service-client/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,67 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<parent>
+		<groupId>jboss.reportingservices</groupId>
+		<artifactId>adminconsole</artifactId>
+		<version>0.2-SNAPSHOT</version>
+	</parent>
+
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>adminconsole-service-client</artifactId>
+	<name>Admin Console - Service Client</name>
+	<packaging>jar</packaging>
+
+	<dependencies>
+		<!-- internal dependencies -->
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>client-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>server-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+
+		<!-- external dependencies -->
+		<dependency>
+			<groupId>jboss.logging</groupId>
+			<artifactId>jboss-logging-spi</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-system</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-jmx</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>myfaces</groupId>
+			<artifactId>tomahawk</artifactId>
+			<version>1.1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+			<version>1.1.1</version>
+		</dependency>
+
+
+	</dependencies>
+</project>
\ No newline at end of file

Added: labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+package org.jboss.reporting.ui.reporttree;
+
+import org.apache.myfaces.custom.tree.TreeNode;
+import org.apache.myfaces.custom.tree.model.DefaultTreeModel;
+import org.jboss.logging.Logger;
+
+/**
+ *
+ * @author noel.rocher at jboss.org
+ * @version $Revision: 1.0 $
+ * 
+ * @since 07-October-2004
+ */
+public  class MyFacesTree extends DefaultTreeModel
+{
+   // provide logging
+   private final Logger log = Logger.getLogger(MyFacesTree.class);
+
+   
+   // CTOR
+   public MyFacesTree()
+   {
+       super();
+   }
+
+
+   public MyFacesTree(TreeNode root)
+   {
+      super(root);
+   }
+
+   
+   
+}
\ No newline at end of file

Added: labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+package org.jboss.reporting.ui.reporttree;
+
+import org.jboss.logging.Logger;
+import org.jboss.reporting.server.ReportInfo;
+
+import org.apache.myfaces.custom.tree.DefaultMutableTreeNode;
+
+/**
+ *
+ * @author noel.rocher at jboss.org
+ * @version $Revision: 1.0 $
+ * 
+ * @since 07-October-2004
+ */
+public  class MyFacesTreeNode extends DefaultMutableTreeNode
+{
+   // provide logging
+   private final Logger log = Logger.getLogger(MyFacesTreeNode.class);
+   
+   // CTOR
+   public MyFacesTreeNode(Object userObject)
+   {
+       super(userObject);
+   }
+
+   // equals
+   public boolean equals(Object o)
+   {
+       boolean result=false;
+       if ( o.getClass().equals( this.getClass() )  )
+       {
+           if ( ((MyFacesTreeNode)o).getUserObject().getClass().equals(this.getUserObject().getClass()) )
+           {
+               if (  ((MyFacesTreeNode)o).getUserObject().getClass().equals(ReportInfo.class)   )
+               {
+                   ReportInfo ri_o = (ReportInfo)((MyFacesTreeNode)o).getUserObject();
+                   ReportInfo ri = (ReportInfo)this.getUserObject();
+                   if ( ri.getReport().getReport_name().equals(ri_o.getReport().getReport_name()) )
+                   {
+                       if ( ri.getReport().getReport_path().equals(ri_o.getReport().getReport_path()) )
+                       {
+                           result = true;
+                       }                   
+                   }
+               }
+               else
+               {
+                   result = ((MyFacesTreeNode)o).getUserObject().toString() == this.getUserObject().toString();
+               }
+           }
+       }
+       return result;
+   }
+
+}
\ No newline at end of file

Copied: labs/reportingservices/trunk/dev/modules/adminconsole/service-client/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java (from rev 6475, labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java)


Property changes on: labs/reportingservices/trunk/dev/modules/adminconsole/service-impl
___________________________________________________________________
Name: svn:ignore
   + 
target


Added: labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,71 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<parent>
+		<groupId>jboss.reportingservices</groupId>
+		<artifactId>adminconsole</artifactId>
+		<version>0.2-SNAPSHOT</version>
+	</parent>
+
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>adminconsole-service-impl</artifactId>
+	<name>Admin Console - Service Implementation</name>
+	<packaging>jar</packaging>
+
+	<dependencies>
+		<!-- internal dependencies -->
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>client-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>server-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>adminconsole-service-client</artifactId>
+		</dependency>
+
+		<!-- external dependencies -->
+		<dependency>
+			<groupId>jboss.logging</groupId>
+			<artifactId>jboss-logging-spi</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-system</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-jmx</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>myfaces</groupId>
+			<artifactId>tomahawk</artifactId>
+			<version>1.1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>1.2</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+			<version>1.1.1</version>
+		</dependency>
+
+
+	</dependencies>
+</project>
\ No newline at end of file

Copied: labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java (from rev 6475, labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java)

Copied: labs/reportingservices/trunk/dev/modules/adminconsole/service-impl/src/main/resources/META-INF (from rev 6475, labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/resources/META-INF)

Modified: labs/reportingservices/trunk/dev/modules/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -19,6 +19,7 @@
 		<module>client</module>
 		<module>server</module>
 		<module>engine</module>
+		<module>adminconsole</module>
 		<module>webadminconsole</module>
 	</modules>
 

Modified: labs/reportingservices/trunk/dev/modules/webadminconsole/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -26,9 +26,18 @@
 			<artifactId>server-api</artifactId>
 			<scope>provided</scope>
 		</dependency>
+		<dependency>
+			<groupId>jboss.reportingservices</groupId>
+			<artifactId>adminconsole-service-client</artifactId>
+			<scope>provided</scope>
+		</dependency>
 
 		<!-- external dependencies -->
 		<dependency>
+			<groupId>jboss.logging</groupId>
+			<artifactId>jboss-logging-spi</artifactId>
+		</dependency>
+		<dependency>
 			<groupId>jboss</groupId>
 			<artifactId>jboss-system</artifactId>
 		</dependency>
@@ -59,6 +68,7 @@
 			<groupId>myfaces</groupId>
 			<artifactId>tomahawk</artifactId>
 			<version>1.1.1</version>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>commons-io</groupId>

Deleted: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTree.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-
-package org.jboss.reporting.ui.reporttree;
-
-import org.apache.myfaces.custom.tree.TreeNode;
-import org.apache.myfaces.custom.tree.model.DefaultTreeModel;
-import org.jboss.logging.Logger;
-
-/**
- *
- * @author noel.rocher at jboss.org
- * @version $Revision: 1.0 $
- * 
- * @since 07-October-2004
- */
-public  class MyFacesTree extends DefaultTreeModel
-{
-   // provide logging
-   private final Logger log = Logger.getLogger(MyFacesTree.class);
-
-   
-   // CTOR
-   public MyFacesTree()
-   {
-       super();
-   }
-
-
-   public MyFacesTree(TreeNode root)
-   {
-      super(root);
-   }
-
-   
-   
-}
\ No newline at end of file

Deleted: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeNode.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -1,62 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-
-package org.jboss.reporting.ui.reporttree;
-
-import org.jboss.logging.Logger;
-import org.jboss.reporting.server.ReportInfo;
-
-import org.apache.myfaces.custom.tree.DefaultMutableTreeNode;
-
-/**
- *
- * @author noel.rocher at jboss.org
- * @version $Revision: 1.0 $
- * 
- * @since 07-October-2004
- */
-public  class MyFacesTreeNode extends DefaultMutableTreeNode
-{
-   // provide logging
-   private final Logger log = Logger.getLogger(MyFacesTreeNode.class);
-   
-   // CTOR
-   public MyFacesTreeNode(Object userObject)
-   {
-       super(userObject);
-   }
-
-   // equals
-   public boolean equals(Object o)
-   {
-       boolean result=false;
-       if ( o.getClass().equals( this.getClass() )  )
-       {
-           if ( ((MyFacesTreeNode)o).getUserObject().getClass().equals(this.getUserObject().getClass()) )
-           {
-               if (  ((MyFacesTreeNode)o).getUserObject().getClass().equals(ReportInfo.class)   )
-               {
-                   ReportInfo ri_o = (ReportInfo)((MyFacesTreeNode)o).getUserObject();
-                   ReportInfo ri = (ReportInfo)this.getUserObject();
-                   if ( ri.getReport().getReport_name().equals(ri_o.getReport().getReport_name()) )
-                   {
-                       if ( ri.getReport().getReport_path().equals(ri_o.getReport().getReport_path()) )
-                       {
-                           result = true;
-                       }                   
-                   }
-               }
-               else
-               {
-                   result = ((MyFacesTreeNode)o).getUserObject().toString() == this.getUserObject().toString();
-               }
-           }
-       }
-       return result;
-   }
-
-}
\ No newline at end of file

Deleted: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -1,343 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-
-package org.jboss.reporting.ui.reporttree;
-
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import javax.management.Notification;
-import org.jboss.logging.Logger;
-import org.jboss.system.ListenerServiceMBeanSupport;
-import org.jboss.reporting.server.ReportInfo;
-
-
-/**
- * A listener MBean for all ReportDeployer services
- * Notified when a new report is deployed
- * Maintains a MyFaces tree structure
- * 
- * @author noel.rocher at jboss.org
- * @version $Revision: 1.0 $
- * @since 07-October-2004
- */
-public  class MyFacesTreeService extends ListenerServiceMBeanSupport
-        implements MyFacesTreeServiceMBean
-{
-   // provide logging
-   private final Logger log = Logger.getLogger(MyFacesTreeService.class);
-   
-   /** the tree root */
-   MyFacesTreeNode root;
-   
-   /** version id is a timestamp to track the tree modification */
-   private long tree_version_id;
-
-   /** version id is a timestamp to track the tree modification */
-   private long reportsCounter;
-
-   /** Lists of reports per tree node */
-   private Map reportsLists;
-   
-   
-   // Constructors -------------------------------------------------- 
-   /** 
-    * CTOR 
-   **/ 
-   public MyFacesTreeService() 
-   {
-	   System.out.println("MyFacesTreeService constructor ....");
-      // empty 
-   } 
-
-   //  MyFacesTreeService implementation ---------------------- 
-
-   
-   /** @jmx:managed-operation */
-   public MyFacesTree getTree()
-   {
-    return new MyFacesTree(root);
-   }
-
-   /**
-    * @jmx.managed-operation
-    * @return Returns the reportsCounter.
-    */
-   public long getReportsCounter() {
-       return reportsCounter;
-   }
-   
-	/**
-	 * @jmx.managed-operation 
-	 * @return Returns the tree_version_id.
-	 */
-	public long getTree_version_id() {
-	    return tree_version_id;
-	}
-
-	/**
-	 * @jmx.managed-operation 
-	 * @return Returns the report list associated with a node.
-	 */
-	public ArrayList getReportList(String in_path) {
-	    ArrayList result;
-	    result = new ArrayList(((HashMap)reportsLists.get(in_path)).values()  );
-	    return result;
-	}
-
-
-   // Lifecycle control (ServiceMBeanSupport) ----------------------- 
-   /** 
-    * Start 
-   **/ 
-   public void startService() 
-      throws Exception 
-   { 
-       root = new MyFacesTreeNode("reports");
-       reportsCounter = 0;
-       reportsLists = new HashMap();
-
-      // subscribe for notification, true=dynamic 
-      super.subscribe(true);
-   } 
-
-   /** 
-    * Stop 
-   **/ 
-   public void stopService() 
-      throws Exception 
-   { 
-      // unsubscribe for notifications 
-      super.unsubscribe(); 
-   } 
-
-
-   
-   // ListenerServiceMBeanSupport override ------------------------
-   /** 
-    * Receive notification from report deployers
-   **/ 
-   public void handleNotification2(Notification notification, Object handback) 
-   { 
-       ReportInfo report_info = (ReportInfo)notification.getUserData();
-       
-       log.trace("Got notification TYPE: " + notification.getType() ); 
-
-       if (notification.getType().equalsIgnoreCase("org.jboss.reporting.deployer.add"))
-       {
-           // add report
-           log.trace("Got notification ADD: Report JNDI Name = " + report_info.getReport().getReport_path() + "/" + report_info.getReport().getReport_name() ); 
-           addReport(report_info);
-       }
-       else if (notification.getType().equalsIgnoreCase("org.jboss.reporting.deployer.remove"))
-       {
-           // remove report
-           log.trace("Got notification REMOVE: Report Name = " + report_info.getReport().getReport_path() + "/" + report_info.getReport().getReport_name()); 
-           removeReport(report_info);
-       }
-       else
-       {
-           // remove archive
-           log.trace("Got notification REMOVE ARCHIVE: Report Archive Name = " + report_info.getReport().getReport_path() ); 
-           removeReportArchive(report_info);
-       }
-   } 
-
-   
-   // protected --------------------------------
-
-
-   protected void addReport(ReportInfo in_report_info)
-   {
-       String[] path=in_report_info.getReport().getReport_path().split("/");
-       Iterator children;
-       MyFacesTreeNode child_node=null;
-       MyFacesTreeNode current_node=root;
-       
-       synchronized(this)
-       {
-
-           // Tree modification
-           // for each part of the path, look for an existing node or add it
-           // we start at 1 as index 0 should be "reports"
-           for (int i = 1 ; i < path.length ; i++)
-           {               
-               boolean found=false;
-               children = current_node.children();
-               while(children.hasNext())
-               {
-                   child_node = (MyFacesTreeNode)children.next();
-                   if (child_node.getUserObject().equals(path[i]))
-                   {
-                       found=true;
-                       break;
-                   }
-               }
-               if (found == false)
-               {
-                   child_node = new MyFacesTreeNode(path[i]);
-                   current_node.insert(child_node);
-                   // new version id
-                   tree_version_id = Calendar.getInstance().getTimeInMillis();
-               }
-               current_node = child_node;
-           }
-           
-           
-           // reports List modification
-           if (reportsLists.containsKey(in_report_info.getReport().getReport_path()))
-           {
-               Map list = (HashMap)reportsLists.get(in_report_info.getReport().getReport_path());
-               if (list == null) list = new HashMap();
-               list.put(in_report_info.getReport().getReport_name(), in_report_info);
-           }
-           else
-           {
-               Map list = new HashMap();
-               list.put(in_report_info.getReport().getReport_name(), in_report_info);
-               reportsLists.put(in_report_info.getReport().getReport_path(), list);
-           } 
-
-           reportsCounter++;
-           log.debug("Add report, tree is now containing : " + reportsCounter + " reports");
-       }
-   }
-
-
-   
-   protected void removeReport(ReportInfo in_report_info)
-   {
-       String[] path=in_report_info.getReport().getReport_path().split("/");
-       Iterator children;
-       MyFacesTreeNode child_node=null;
-       MyFacesTreeNode parent_node=null;
-       MyFacesTreeNode current_node=root;
-
-       synchronized(this)
-       {
-           // reports List modification
-           Map list = (HashMap)reportsLists.get(in_report_info.getReport().getReport_path());
-           list.remove(in_report_info.getReport().getReport_name());
-           if (list.size() == 0) reportsLists.remove(in_report_info.getReport().getReport_path());
- 
-
-           // Tree modification
-           // for each part of the path, remove the node if
-           // there is no child AND there is no reports
-           
-           // first, locate the deepest node
-           for (int i = 0 ; i < path.length ; i++)
-           {
-               boolean found=false;
-               children = current_node.children();
-               while(children.hasNext())
-               {
-                   child_node = (MyFacesTreeNode)children.next();
-                   if (child_node.getUserObject().equals(path[i]))
-                   {
-                       break;
-                   }
-               }
-               current_node = child_node;
-           }
-           
-           // process the node removal upward
-           parent_node = (MyFacesTreeNode)current_node.getParent();
-           String path_string = in_report_info.getReport().getReport_path();
-           while ( !current_node.equals(root) && current_node.getChildCount() == 0 && reportsLists.get(path_string) == null  )
-           {
-               current_node.removeFromParent();
-    	       // version id modification
-    	       tree_version_id = Calendar.getInstance().getTimeInMillis();
-
-    	       current_node = parent_node;
-               parent_node = (MyFacesTreeNode)current_node.getParent();
-               path_string = path_string.substring(0, path_string.lastIndexOf('/'));
-           }
-   
-	       reportsCounter--;
-	       log.debug("Remove report, tree is now containing : " + reportsCounter + " reports");
-       }
-   }
-
-   
-   
-       protected void removeReportArchive(ReportInfo in_report_info)
-       {
-           String[] path=in_report_info.getReport().getReport_path().split("/");
-           Iterator children;
-           int removed_count=0;
-           MyFacesTreeNode child_node=null;
-           MyFacesTreeNode parent_node=null;
-           MyFacesTreeNode current_node=root;
-
-           log.trace("In Remove Archive");
-           
-           synchronized(this)
-           {
-               // reports List modification
-               Set keys = reportsLists.keySet();
-               ArrayList keys_to_delete=new ArrayList();
-               String key="";
-               Iterator it = keys.iterator();
-               while (it.hasNext())
-               {
-                   key = (String)it.next();
-                   log.trace(" current jndi path = "+in_report_info.getReport().getReport_path() );
-                   log.trace(" current key = "+key );
-
-                   if ( key.indexOf(in_report_info.getReport().getReport_path()) >= 0 )
-                   {
-                       removed_count = removed_count + ((Map)reportsLists.get(key)).size();
-                       keys_to_delete.add(key);
-                    }
-               }
-                
-               // remove selected nodes
-               it = keys_to_delete.iterator();
-               while(it.hasNext())
-               {
-                   Object current = it.next();
-                   reportsLists.remove(current);
-                   log.trace(" remove key = "+ current );
-               }
-
-               // Tree modification
-               // remove the sub-tree
-               log.trace("path length = " + path.length);
-               for (int i = 0 ; i < path.length ; i++)
-               {
-                   children = current_node.children();
-                   while(children.hasNext())
-                   {
-                       child_node = (MyFacesTreeNode)children.next();
-                       log.trace(" current path = "+path[i] );
-                       log.trace(" current child node = "+child_node.getUserObject() );
-                       
-                       if (child_node.getUserObject().equals(path[i]))
-                       {
-                           current_node=child_node;
-                           break;
-                       }
-                   }
-               }
-               log.trace(" remove current child node = "+child_node.getUserObject() );
-               child_node.removeFromParent();
-               
-       
-    	       reportsCounter = reportsCounter - removed_count;
-    	       log.debug("Removed archive containing " + removed_count + " reports, tree is now containing : " + reportsCounter + " reports");
-           }
-
-   
-   
-   
-   }
-}
\ No newline at end of file

Deleted: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/java/org/jboss/reporting/ui/reporttree/MyFacesTreeServiceMBean.java	2006-10-02 09:05:18 UTC (rev 6517)
@@ -1,20 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.jboss.reporting.ui.reporttree;
-
-import java.util.ArrayList;
-import org.jboss.system.ListenerServiceMBean;
-
-public interface MyFacesTreeServiceMBean
-   extends ListenerServiceMBean
-{
-    
-    public MyFacesTree getTree();
-    public long getReportsCounter();
- 	public long getTree_version_id() ;
-	public ArrayList getReportList(String in_path) ;
-}
\ No newline at end of file

Added: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/myfaces_ext.tld
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/myfaces_ext.tld	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/myfaces_ext.tld	2006-10-02 09:05:18 UTC (rev 6517)
@@ -0,0 +1,9147 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+--><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+
+    <tlib-version>1.0.10</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>t</short-name>
+    <uri>http://myfaces.apache.org/extensions</uri>
+    <description>
+        MyFaces subproject that contains components and other goodies to be used with any JSF implementation.
+    </description>
+
+<!--     Extended standard components     -->
+
+    <!-- commandButton -->
+    <tag>
+        <name>commandButton</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlCommandButtonTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard commandButton by user role support.
+        </description>
+                <!-- all standard attributes of the commandButton tag -->
+                <!-- UICommand attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 button attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- HtmlCommandButton attributes -->
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- commandLink -->
+    <tag>
+        <name>commandLink</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlCommandLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard commandLink by user role support and the HTML target attribute.
+        </description>
+                <!-- all standard attributes of the commandLink tag -->
+                <!-- UICommand attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 anchor (=a) attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "href" is a special LinkRenderer attribute -->
+        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "name" cannot be set by user -->
+        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>target</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- dataTable -->
+    <tag>
+        <name>dataTable</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlDataTableTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extended data_table that adds some additional features to the standard
+            data_table action: see attribute descriptions for preserveDataModel,
+            sortColumn, sortAscending and preserveSort.
+        </description>
+                <!-- all standard attributes of the dataTable tag -->
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- UIData attributes -->
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Supported types see JSF Spec 4.1.3</description>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>first</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- TableRenderer attributes -->
+        <attribute>
+            <name>columnClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extensions -->
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>preserveDataModel</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Indicates whether the state of the whole DataModel should be saved and
+                restored.
+                Default: false
+            </description>
+        </attribute>
+        <attribute>
+            <name>forceIdIndexFormula</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				A formula that overrides the defaut row index in the construction of table's
+				body components.
+				Example : #{myRowVar.key}
+				Warning, the EL should evaluate to a unique value for each row !
+            </description>
+        </attribute>
+        <attribute>
+            <name>sortColumn</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Value reference to a model property that gives the current sort column name.
+            </description>
+        </attribute>
+        <attribute>
+            <name>sortAscending</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Value reference to a model property that gives the current sort direction.
+            </description>
+        </attribute>
+        <attribute>
+            <name>preserveSort</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Indicates whether the state of the sortColumn and sortAscending attribute
+                should be saved and restored and written back to the model during the
+                update model phase.
+                Default: true
+            </description>
+        </attribute>
+        <attribute>
+            <name>renderedIfEmpty</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Indicates whether this table should be rendered if the underlying DataModel is
+                empty.
+                You could as well use rendered="#{not empty bean.list}", but this one causes
+                the getList method of your model bean beeing called up to five times per
+                request, which is not optimal when the list is backed by a DB table.
+                Using renderedIfEmpty="false" solves this problem, because the MyFaces
+                extended HtmlDataTable automatically caches the DataModel and calles the
+                model getter only once per request.
+                Default: true
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowIndexVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the current rowIndex is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowCountVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the rowCount is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>previousRowDataVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the previous RowData Object is set in request scope
+                similar to the rowIndexVar and rowCountVar parameters.
+                Mind that the value of this request scope attribute is null in the first row
+                or when isRowAvailable returns false for the previous row.
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnClick</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onclick event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnDblClick</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript ondblclick event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onmpusedown event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onmouseup event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onmouseover event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onmousemove event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onmouseout event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnKeyPress</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onkeypress event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnKeyDown</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onkeydown event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowOnKeyUp</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Defines a JavaScript onkeyup event handler for each table row
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The id to use for &lt;tr&gt; elements that are generated by the table.
+            </description>
+        </attribute>        
+        <attribute>
+            <name>rowStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute for the row tr tag.</description>
+        </attribute>
+        <attribute>
+            <name>rowStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML style attribute for the row tr tag.</description>
+        </attribute>
+     </tag>
+
+    <!-- inputHidden -->
+    <tag>
+        <name>inputHidden</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputHiddenTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard inputHidden by providing additional MyFaces goodies.
+        </description>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- inputSecret -->
+    <tag>
+        <name>inputSecret</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputSecretTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard inputSecret.
+        </description>
+         <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+        <!-- SecretRenderer attributes -->
+        <attribute>
+            <name>redisplay</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, the value will be re-sent (in plaintext) when the form
+                is rerendered (see JSF.7.4.4). Default is false.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- inputText -->
+    <tag>
+        <name>inputText</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputTextTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard inputText by user role support.
+        </description>
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+                <!-- all standard attributes of the inputText tag -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- inputTextHelp -->
+    <tag>
+        <name>inputTextHelp</name>
+        <tag-class>org.apache.myfaces.custom.inputTextHelp.HtmlInputTextHelpTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard inputText by helptext support.
+        </description>
+                <!-- all standard attributes of the inputText tag -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+        <!-- Attributes for HtmlInputText with Helptext -->
+        <attribute>
+            <name>helpText</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>selectText</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- inputTextarea -->
+    <tag>
+        <name>inputTextarea</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputTextareaTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard inputTextarea by user role support.
+        </description>
+                <!-- all standard attributes of the inputTextarea tag -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 textarea attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>cols</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>rows</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+     <!-- graphicImage -->
+    <tag>
+        <name>graphicImage</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlGraphicImageTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard graphicImage.
+        </description>
+                <!-- UIGraphic attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>url</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>URL of the image (see JSF.4.1.5).</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>URL of the image (see JSF.4.1.5).</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 img attributes that are not part of the JSF 1.1 specification -->
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>hspace</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>vspace</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+
+        <!-- The subset of HTML 4.0 img attributes that are supported by the JSF 1.1 specification -->
+        <attribute>
+            <name>alt</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>ismap</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>longdesc</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <!-- "name" attribute cannot be set directly by user -->
+        <!-- "src" attribute cannot be set directly, use "url" instead! -->
+        <attribute>
+            <name>usemap</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- message -->
+    <tag>
+        <name>message</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlMessageTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            MyFaces extension to the standard messages tag: see summaryDetailSeparator attribute
+        </description>
+                <!-- all standard attributes of the message tag -->
+                <!-- UIMessage attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>for</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>The client identifier of the component for which this component represents associated message(s).</description>
+        </attribute>
+        <attribute>
+            <name>showSummary</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Indicates whether the summary of the associated message(s) should be displayed.
+                         Default is: true</description>
+        </attribute>
+        <attribute>
+            <name>showDetail</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Indicates whether the detail of the associated message(s) should be displayed.
+                         Default is: false</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HtmlMessage attributes -->
+        <attribute>
+            <name>infoClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "INFO".</description>
+        </attribute>
+        <attribute>
+            <name>infoStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "INFO".</description>
+        </attribute>
+        <attribute>
+            <name>warnClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "WARN".</description>
+        </attribute>
+        <attribute>
+            <name>warnStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "WARN".</description>
+        </attribute>
+        <attribute>
+            <name>errorClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "ERROR".</description>
+        </attribute>
+        <attribute>
+            <name>errorStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "ERROR".</description>
+        </attribute>
+        <attribute>
+            <name>fatalClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "FATAL".</description>
+        </attribute>
+        <attribute>
+            <name>fatalStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "FATAL".</description>
+        </attribute>
+        <attribute>
+            <name>tooltip</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).
+            </description>
+        </attribute>
+
+        <!-- MyFaces extensions -->
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <attribute>
+            <name>summaryFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, instead of rendering the message summary, a MessageFormat with this
+                attribute as pattern is created. The format method of this MessageFormat is
+                called with the message summary as the first argument and the label of the
+                associated component (if any) as the second argument.
+                Example: "{0}:"
+            </description>
+        </attribute>
+        <attribute>
+            <name>detailFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, instead of rendering the message detail, a MessageFormat with this
+                attribute as pattern is created. The format method of this MessageFormat is
+                called with the message detail as the first argument and the label of the
+                associated component (if any) as the second argument.
+                Example: "The input in field {1} is wrong: {0}"
+            </description>
+        </attribute>
+        <attribute>
+            <name>replaceIdWithLabel</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, all occurrences of the id of the component for which the message
+                is rendered will be replaced by the label. Standard is true for the extended
+                message renderer.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- messages -->
+    <tag>
+        <name>messages</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlMessagesTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            MyFaces extension to the standard messages tag: see showInputLabel attribute
+        </description>
+                <!-- all standard attributes of the messages tag -->
+                <!-- UIMessages attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>showSummary</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Indicates whether the summary of the message(s) should be displayed.
+                         Default is: true</description>
+        </attribute>
+        <attribute>
+            <name>showDetail</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Indicates whether the detail of the message(s) should be displayed.
+                         Default is: false</description>
+        </attribute>
+        <attribute>
+            <name>globalOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Indicates whether only global messages (that is, messages with no associated client identifier) should be rendered.
+                         Default is: false</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HtmlMessages attributes -->
+        <attribute>
+            <name>infoClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "INFO".</description>
+        </attribute>
+        <attribute>
+            <name>infoStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "INFO".</description>
+        </attribute>
+        <attribute>
+            <name>warnClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "WARN".</description>
+        </attribute>
+        <attribute>
+            <name>warnStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "WARN".</description>
+        </attribute>
+        <attribute>
+            <name>errorClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "ERROR".</description>
+        </attribute>
+        <attribute>
+            <name>errorStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "ERROR".</description>
+        </attribute>
+        <attribute>
+            <name>fatalClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for messages with severity "FATAL".</description>
+        </attribute>
+        <attribute>
+            <name>fatalStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for messages with severity "FATAL".</description>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>The layout: "table" or "list". Default: list</description>
+        </attribute>
+        <attribute>
+            <name>tooltip</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).
+            </description>
+        </attribute>
+
+        <!-- MyFaces extensions -->
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <attribute>
+            <name>summaryFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, instead of rendering the message summary, a MessageFormat with this
+                attribute as pattern is created. The format method of this MessageFormat is
+                called with the message summary as the first argument and the label of the
+                associated component (if any) as the second argument.
+                Example: "{0}:" or "{0} in field {1}"
+            </description>
+        </attribute>
+        <attribute>
+            <name>globalSummaryFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Like summaryFormat, but applies to global messages (i.e. messages not associated
+                with a component). If no globalSummaryFormat is given, the summaryFormat is used for
+                global messages.
+                Example: "{0}:"
+            </description>
+        </attribute>
+        <attribute>
+            <name>detailFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, instead of rendering the message detail, a MessageFormat with this
+                attribute as pattern is created. The format method of this MessageFormat is
+                called with the message detail as the first argument and the label of the
+                associated component (if any) as the second argument.
+                Example: "The input in field {1} is wrong: {0}"
+            </description>
+        </attribute>
+        <attribute>
+            <name>replaceIdWithLabel</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If present, all occurrences of the id of the component for which the message
+                is rendered will be replaced by the label.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- outputLabel -->
+    <tag>
+        <name>outputLabel</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlOutputLabelTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard outputLabel by user role support.
+        </description>
+                <!-- all standard attributes of the outputLabel tag -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 label attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "for" is a specific LabelRenderer attribute -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- LabelRenderer attributes -->
+        <attribute>
+          <name>for</name>
+          <required>false</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- outputText -->
+    <tag>
+        <name>outputText</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlOutputTextTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard outputText by user role support.
+        </description>
+                <!-- all standard attributes of the outputText tag -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HtmlOutputText attributes -->
+        <attribute>
+            <name>escape</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Indicates whether rendered markup should be escaped.
+                Default: true
+            </description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+    </tag>
+
+    <!-- panelGrid -->
+    <tag>
+        <name>panelGrid</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlPanelGridTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard panelGrid by user role support.
+        </description>
+                        <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- GridRenderer attributes -->
+        <attribute>
+            <name>columnClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>columns</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- panelGroup -->
+    <tag>
+        <name>panelGroup</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlPanelGroupTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard panelGroup by user role support.
+        </description>
+                <!-- all standard attributes of the panelGroup tag -->
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectOneMenu -->
+    <tag>
+        <name>selectOneMenu</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectOneMenu by user role support.
+        </description>
+                <!-- all standard attributes of the selectOneMenu tag -->
+                <!-- UISelectOne attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectManyMenu -->
+    <tag>
+        <name>selectManyMenu</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectManyMenu by user role support.
+        </description>
+                        <!-- UISelectMany attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectOneRadio -->
+    <tag>
+        <name>selectOneRadio</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneRadioTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectOneRadio by user role support.
+            Additionally this extended selectOneRadio accepts a layout attribute
+            of value "spread" (see custom radio tag).
+        </description>
+                <!-- all standard attributes of the selectOneRadio tag -->
+                <!-- UISelectOne attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes for type "radio" -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- RadioRenderer attributes -->
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>see JSF Spec. 8.5.10</description>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>see JSF Spec. 8.5.10</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectBooleanCheckbox -->
+    <tag>
+        <name>selectBooleanCheckbox</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectBooleanCheckboxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectBooleanCheckbox by user role support.
+        </description>
+                        <!-- UISelectBoolean attributes -->
+        <!-- "selected" attribute is covered by HTML "checked" attribute -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes for type "checkbox" -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectManyCheckbox -->
+    <tag>
+        <name>selectManyCheckbox</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyCheckboxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectManyCheckbox by user role support.
+            Additionally this extended selectManyCheckbox accepts a layout attribute
+            of value "spread" (see custom checkbox tag).
+        </description>
+                <!-- all standard attributes of the selectManyCheckbox tag -->
+                <!-- UISelectMany attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes for type "checkbox" -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+
+        <!-- CheckboxListRenderer attributes -->
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>see JSF Spec. 8.5.9</description>
+        </attribute>
+        <!--TODO: disabledClass, enabledClass -->
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>layoutWidth</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A number representing the amount of checkbox rows if
+                the layout is lineDirection and checkbox columns if
+                the layout is pageDirection.
+            </description>
+        </attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectOneListbox -->
+    <tag>
+        <name>selectOneListbox</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneListboxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectOneListbox by user role support.
+        </description>
+                        <!-- UISelectOne attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <!-- ListboxRenderer attributes -->
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>see JSF Spec.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectManyListbox -->
+    <tag>
+        <name>selectManyListbox</name>
+        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyListboxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Extends standard selectManyListbox by user role support.
+        </description>
+                        <!-- UISelectMany attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <!-- ListboxRenderer attributes -->
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>see JSF Spec.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+<!--     Custom components     -->
+
+    <!-- calendar -->
+    <tag>
+        <name>inputCalendar</name>
+        <tag-class>org.apache.myfaces.custom.calendar.HtmlInputCalendarTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Provides a calendar.
+        </description>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <attribute>
+            <name>monthYearRowClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the header-row showing month and year.</description>
+        </attribute>
+        <attribute>
+            <name>weekRowClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the header-row showing the week-days.</description>
+        </attribute>
+        <attribute>
+            <name>dayCellClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the cells showing days.</description>
+        </attribute>
+        <attribute>
+            <name>currentDayCellClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the cell of the currently selected date.</description>
+        </attribute>
+        <attribute>
+            <name>renderAsPopup</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Render the input-calendar as a java-script popup on client.</description>
+        </attribute>
+        <attribute>
+            <name>addResources</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Automatically add the input-calendar scripts and css files to the header - set that to false to provide the scripts yourself.</description>
+        </attribute>
+        <attribute>
+            <name>popupDateFormat</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Defines the date format used by the java-script popup on client.</description>
+        </attribute>
+        <attribute>
+            <name>popupButtonString</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Defines the string displayed on the button which leads to the calendar-popup-window (... by default).</description>
+        </attribute>
+        <attribute>
+            <name>popupGotoString</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Go To Current Month"</description>
+        </attribute>
+        <attribute>
+            <name>popupTodayString</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Today is"</description>
+        </attribute>
+        <attribute>
+            <name>popupWeekString</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Wk"</description>
+        </attribute>
+        <attribute>
+            <name>popupScrollLeftMessage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for scrolling to the left.</description>
+        </attribute>
+        <attribute>
+            <name>popupScrollRightMessage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for scrolling to the right.</description>
+        </attribute>
+        <attribute>
+            <name>popupSelectMonthMessage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Click to select a month".</description>
+        </attribute>
+        <attribute>
+            <name>popupSelectYearMessage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Click to select a year".</description>
+        </attribute>
+        <attribute>
+            <name>popupSelectDateMessage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Set the string for "Select [date] as date" (do not replace [date], it will be replaced by the current date).</description>
+		</attribute>
+        <attribute>
+            <name>renderPopupButtonAsImage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>If true, renders a calendar icon instead of the button to pop up the calendar.</description>
+        </attribute>
+    </tag>
+
+    <!-- jsValueChangeListener -->
+    <tag>
+        <name>jsValueChangeListener</name>
+        <tag-class>org.apache.myfaces.custom.jslistener.JsValueChangeListenerTag</tag-class>
+        <body-content>empty</body-content>
+        <description>Value change listener on client side.</description>
+        <attribute>
+          <name>for</name>
+          <required>false</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+          <name>property</name>
+          <required>false</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+          <name>expressionValue</name>
+          <required>true</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- jsValueSet -->
+    <tag>
+        <name>jsValueSet</name>
+        <tag-class>org.apache.myfaces.custom.jsvalueset.HtmlJsValueSetTag</tag-class>
+        <body-content>empty</body-content>
+        <description>Setting a value from the model in java-script so that it can be used (e.g. by the value change listener) afterwards.</description>
+        <attribute>
+          <name>name</name>
+          <required>true</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+          <name>value</name>
+          <required>true</required>
+          <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- checkbox -->
+    <tag>
+        <name>checkbox</name>
+        <tag-class>org.apache.myfaces.custom.checkbox.HtmlCheckboxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Renders a HTML input of type "checkbox". The associated SelectItem comes from
+            an extended selectManyCheckbox component with layout "spread". The selectManyCheckbox
+            is referenced by the "for" attribute.
+            All HTML pass-through attributes for this input are taken from the associated
+            selectManyCheckbox.
+        </description>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- HtmlCheckbox attributes -->
+        <attribute>
+            <name>for</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                id of the referenced extended selectManyCheckbox component
+            </description>
+        </attribute>
+        <attribute>
+            <name>index</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                n-th SelectItem of referenced UISelectMany starting with 0.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- commandNavigation2 -->
+    <tag>
+        <name>commandNavigation2</name>
+        <tag-class>org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlCommandNavigationItemTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Must be nested inside a panel_navigation action and renders a
+            clickable navigation item.
+            This action is derived from the standard command_link action and
+            has equal attributes.
+            (Replaces former "navigation_item" tag.)
+        </description>
+        <!--TODO: make id attribute mandatory -->
+                <!-- UICommand attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 anchor (=a) attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "href" is a special LinkRenderer attribute -->
+        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "name" cannot be set by user -->
+        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>target</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- HtmlCommandLink attributes -->
+        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- TODO attributes image, label - old todo.. still necessary?-->
+    </tag>
+
+    <!-- commandNavigation -->
+    <tag>
+        <name>commandNavigation</name>
+        <tag-class>org.apache.myfaces.custom.navigation.HtmlCommandNavigationTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Must be nested inside a panel_navigation action and renders a
+            clickable navigation item.
+            This action is derived from the standard command_link action and
+            has equal attributes.
+            (Replaces former "navigation_item" tag.)
+        </description>
+        <!--TODO: make id attribute mandatory -->
+                <!-- UICommand attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 anchor (=a) attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "href" is a special LinkRenderer attribute -->
+        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "name" cannot be set by user -->
+        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>target</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- HtmlCommandLink attributes -->
+        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- TODO attributes image, label - old todo.. still necessary?-->
+    </tag>
+
+    <!-- commandSortHeader -->
+    <tag>
+        <name>commandSortHeader</name>
+        <tag-class>org.apache.myfaces.custom.sortheader.HtmlCommandSortHeaderTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Clickable sort column header.
+            Must be nested inside an extended data_table tag.
+            This tag is derived from the standard command_link tag and
+            has the additional attributes columnName and arrow.
+            Note: In contrary to normal command links the default for the "immediate"
+            attribute is "true".
+        </description>
+                <!-- UICommand attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 anchor (=a) attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "href" is a special LinkRenderer attribute -->
+        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- "name" cannot be set by user -->
+        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onblur</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>target</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- HtmlCommandSortHeader attributes -->
+        <attribute>
+            <name>columnName</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The name of this column.
+                This name must uniquely identify this column among all other (sortable) columns
+                in the same data_table.
+                The sortColumn attribute of the embedding data_table reflects the current
+                sort column (see extended data_table).
+            </description>
+        </attribute>
+        <attribute>
+            <name>arrow</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Indicates whether an arrow, that shows the sort direction should be rendered.
+                Default: false
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- dataList -->
+    <tag>
+        <name>dataList</name>
+        <tag-class>org.apache.myfaces.custom.datalist.HtmlDataListTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Similar to dataTable, but does not render a table. Instead the layout
+            attribute controls how each dataRow is rendered.
+        </description>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- UIData attributes -->
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Supported types see JSF Spec 4.1.3</description>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>first</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                simple|unorderedList|orderedList
+                simple = for each dataRow all children are simply rendered
+                unorderedList = the list is rendered as HTML unordered list (= bullet list)
+                orderedList = the list is rendered as HTML ordered list
+                Default: simple
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowIndexVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the current rowIndex is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowCountVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the rowCount is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+     </tag>
+
+    <!-- dataScroller -->
+    <tag>
+        <name>dataScroller</name>
+        <tag-class>org.apache.myfaces.custom.datascroller.HtmlDataScrollerTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Scroller for UIData components eg. dataTable
+            Must be nested inside footer facet of dataTable OR for attribute must be given
+            so that corresponding uiData can be found
+        </description>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>for</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>fastStep</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>step (pages) used for fastforward and fastrewind</description>
+        </attribute>
+        <attribute>
+            <name>pageIndexVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual page index is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>pageCountVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual page count is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>rowsCountVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual rows count is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayedRowsCountVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual displayed rows count is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>firstRowIndexVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual first displayed row index is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>lastRowIndexVar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                A parameter name, under which the actual last displayed row index is set in request scope
+                similar to the var parameter.
+            </description>
+        </attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                styleClass for scroller table
+            </description>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                style for scroller table
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If set true, then the paginator gets rendered
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorMaxPages</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The maximum amount of pages to be displayed in the paginator.
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorTableClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                styleclass for pagingator
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorTableStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                style for pagingator
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorColumnClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                styleClass for paginator's column
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorColumnStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                style for paginator's column
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorActiveColumnClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                styleClass for paginator's column with pageIndex = currentPageIndex
+            </description>
+        </attribute>
+        <attribute>
+            <name>paginatorActiveColumnStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                style for paginator's column with pageIndex = currentPageIndex
+            </description>
+        </attribute>
+        <attribute>
+            <name>renderFacetsIfSinglePage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If set to false, the facets aren't renderd if all the lines are contained on a single page.
+                Default is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
+        </attribute>
+        <attribute>
+            <name>actionListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
+        </attribute>
+     </tag>
+
+    <!-- inputDate -->
+    <tag>
+        <name>inputDate</name>
+        <tag-class>org.apache.myfaces.custom.date.HtmlInputDateTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+		<!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+		<!-- type == date | time | both -->
+        <attribute>
+	        <name>type</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+	        <name>popupCalendar</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>timeZone</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- inputFileUpload -->
+    <tag>
+        <name>inputFileUpload</name>
+        <tag-class>org.apache.myfaces.custom.fileupload.HtmlInputFileUploadTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            You must enable the MultiPart Filter to make this component
+            work (see web.xml). Also, don't forget to set the form's attribute
+            "enctype" to "multipart/form-data".
+            See "examples/web/fileupload.jsp" for an example!
+        </description>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 input attributes -->
+        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
+        <!-- HTML 4.0 input type="file" attributes -->
+        <attribute>
+            <name>accept</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+	        <name>storage</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- inputHtml -->
+    <tag>
+        <name>inputHtml</name>
+        <tag-class>org.apache.myfaces.custom.inputHtml.InputHtmlTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            An inline HTML based word processor based on the Kupu library. See http://kupu.oscom.org
+            Right now, the support is limited to one editor per page
+            (but you can use tabs to have multiple editors, but only one rendered at a time).
+        </description>
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+        <attribute>
+	        <name>style</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+	        <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+	        <name>fallback</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+            	Use a text area instead of the javascript HTML editor.
+            	Default is false.
+            	Use with caution.
+            </description>
+        </attribute>
+        <attribute>
+	        <name>type</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+            	The type of the value. It can be either fragment for an HTML fragment (default)
+            	or document for a full HTML document, with head, title, body, ... tags.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>allowEditSource</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+            	Allows the user to edit the HTML source code.
+            	Default is true.
+            </description>
+       	</attribute>
+		<attribute>
+	        <name>allowExternalLinks</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+            	Allows the user to insert external links.
+            	Default is true.
+            </description>
+       	</attribute>
+       	<attribute>
+	        <name>addKupuLogo</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+            	Show the Kupu Logo in the buttons bar.
+            	Default is true.
+            </description>
+       	</attribute>
+       	<attribute>
+	        <name>showAllToolBoxes</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Shortcut to avoid setting all the showXXToolBox to true.
+            	Default is false.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>showPropertiesToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Properties tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>showLinksToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Links tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>showImagesToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Images tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>showTablesToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Tables tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+		<attribute>
+	        <name>showCleanupExpressionsToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Cleanup Expressions tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+       	<attribute>
+	        <name>showDebugToolBox</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+			<description>
+            	Show the Debug tool box next to the text.
+            	Default is false.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- navigationMenu, jscookMenu -->
+    <tag>
+        <name>navigationMenuItem</name>
+        <tag-class>org.apache.myfaces.custom.navmenu.HtmlNavigationMenuItemTag</tag-class>
+        <body-content>JSP</body-content>
+        <!-- UISelectItem attributes -->
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+        <attribute>
+            <name>itemDisabled</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will not be saved during state saving.</description>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemDescription</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemLabel</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemValue</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Value reference pointing at a javax.faces.model.SelectItem instance.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- navigationMenuItem attributes -->
+        <attribute>
+            <name>icon</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>split</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>navigationMenuItems</name>
+        <tag-class>org.apache.myfaces.custom.navmenu.HtmlNavigationMenuItemsTag</tag-class>
+        <body-content>empty</body-content>
+        <!-- UISelectItems attributes -->
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Value reference pointing at a List or Array of javax.faces.model.SelectItem instances.</description>
+        </attribute>
+
+    </tag>
+    <tag>
+        <name>jscookMenu</name>
+        <tag-class>org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <attribute>
+            <name>javascriptLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find javascript resources.  If no values is specified, javascript will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>imageLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find image resources.  If no values is specified, images will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>styleLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find stylesheet resources.  If no values is specified, stylesheets will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <!-- jscookMenu attributes -->
+        <attribute>
+            <name>layout</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- panelLayout -->
+    <tag>
+        <name>panelLayout</name>
+        <tag-class>org.apache.myfaces.custom.layout.HtmlPanelLayoutTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                layout           | header | navigation | body  | footer
+                =================|========|============|=======|========
+                classic (Default)| top    | left       | right | bottom
+                navigationRight  | top    | right      | left  | bottom
+                upsideDown       | bottom | left       | right | top
+            </description>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>navigationClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>bodyClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>footerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS class to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>headerStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>navigationStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>bodyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for the table cell.</description>
+        </attribute>
+        <attribute>
+            <name>footerStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>CSS style to be used for the table cell.</description>
+        </attribute>
+    </tag>
+
+    <!-- panelNavigation2 -->
+    <tag>
+        <name>panelNavigation2</name>
+        <tag-class>org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlPanelNavigationMenuTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>itemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of closed navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>openItemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of open navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeItemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of the active navigation item.
+            </description>
+        </attribute>
+        <attribute>
+            <name>separatorClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class for the td element of a separator.
+            </description>
+        </attribute>
+        <attribute>
+            <name>itemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of closed navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>openItemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of open navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeItemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of the active navigation item.
+            </description>
+        </attribute>
+        <attribute>
+            <name>separatorStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style for the td element of a separator.
+            </description>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Table or List Layout (default is Table) 
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- panelNavigation -->
+    <tag>
+        <name>panelNavigation</name>
+        <tag-class>org.apache.myfaces.custom.navigation.HtmlPanelNavigationTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>itemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of closed navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>openItemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of open navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeItemClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class of the active navigation item.
+            </description>
+        </attribute>
+        <attribute>
+            <name>separatorClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS class for the td element of a separator.
+            </description>
+        </attribute>
+        <attribute>
+            <name>itemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of closed navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>openItemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of open navigation items.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeItemStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style of the active navigation item.
+            </description>
+        </attribute>
+        <attribute>
+            <name>separatorStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The CSS Style for the td element of a separator.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- panelTab -->
+    <tag>
+        <name>panelTab</name>
+        <tag-class>org.apache.myfaces.custom.tabbedpane.HtmlPanelTabTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Label of this tab.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- panelTabbedPane -->
+    <tag>
+        <name>panelTabbedPane</name>
+        <tag-class>org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPaneTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>selectedIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Index of tab that is selected by default.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeTabStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the active tab cell.
+            </description>
+        </attribute>
+        <attribute>
+            <name>inactiveTabStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the inactive tab cells.
+            </description>
+        </attribute>
+        <attribute>
+            <name>disabledTabStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the disabled tab cells.
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeSubStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the active tab sub cell.
+            </description>
+        </attribute>
+        <attribute>
+            <name>inactiveSubStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the inactive tab sub cells.
+            </description>
+        </attribute>
+        <attribute>
+            <name>tabContentStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class of the active tab content cell.
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- tab change listener -->
+    <tag>
+        <name>tabChangeListener</name>
+        <tag-class>org.apache.myfaces.custom.tabbedpane.TabChangeListenerTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <!-- collapsiblePanel -->
+    <tag>
+        <name>collapsiblePanel</name>
+        <tag-class>org.apache.myfaces.custom.collapsiblepanel.HtmlCollapsiblePanelTag</tag-class>
+        <body-content>JSP</body-content>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>collapsed</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+               Boolean value indicating whether the panel should be collapsed by default.
+            </description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Label for collapsible panel.
+            </description>
+        </attribute>
+    </tag>
+
+	<!-- selectOneCountry -->
+    <tag>
+        <name>selectOneCountry</name>
+        <tag-class>org.apache.myfaces.custom.selectOneCountry.SelectOneCountryTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            A localized list of countries choose box.
+            The value binds to the country ISO 3166 code.
+            This is the same code as for java.util.Locale.getCountry().
+			The official codes list is available here :
+			http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
+        </description>
+        <attribute>
+            <name>maxLength</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+               Integer equals to the maximum number of characters in the country name.
+            </description>
+        </attribute>
+                <!-- all standard attributes of the selectOneMenu tag -->
+                <!-- UISelectOne attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+    <!-- selectOneLanguage -->
+    <tag>
+        <name>selectOneLanguage</name>
+        <tag-class>org.apache.myfaces.custom.selectOneLanguage.SelectOneLanguageTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            A localized list of languages choose box.
+            The value binds to the language ISO 639 code (lowercase).
+            This is the same code as for java.util.Locale.getLanguage().
+			The official codes list is available here :
+			http://www.loc.gov/standards/iso639-2/englangn.html
+        </description>
+        <attribute>
+            <name>maxLength</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+               Integer equals to the maximum number of characters in the language name.
+            </description>
+        </attribute>
+                <!-- all standard attributes of the selectOneMenu tag -->
+                <!-- UISelectOne attributes -->
+                <!-- UIInput attributes -->
+                <!-- UIOutput attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Initial value to set when rendered for the first time.</description>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Id of Converter to be used or reference to a Converter.</description>
+        </attribute>
+
+        <attribute>
+            <name>immediate</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
+        </attribute>
+        <attribute>
+            <name>required</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will be checked for non-empty input.</description>
+        </attribute>
+        <attribute>
+            <name>validator</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
+        </attribute>
+        <attribute>
+            <name>valueChangeListener</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Listener for value changes.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 select attributes -->
+        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "multiple" cannot be set manually -->
+        <!-- "name" cannot be set manually -->
+        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Flag indicating that this component will prohibit
+          changes by the user.  The element may receive focus
+          unless it has also been disabled.</description>
+        </attribute>
+        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>displayValueOnly</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If true, renders only the value of the component, but no input widget.
+                Default is false.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style used when displayValueOnly is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayValueOnlyStyleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Style class used when displayValueOnly is true.
+            </description>
+        </attribute>        
+    </tag>
+
+	<!-- stylesheet -->
+
+	<tag>
+		<name>stylesheet</name>
+		<tag-class>org.apache.myfaces.custom.stylesheet.StylesheetTag</tag-class>
+		<body-content>JSP</body-content>
+		<description>a component, which renders the path to a common CSS-file</description>
+		<!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+		<!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+		<attribute>
+			<name>path</name>
+			<required>true</required>
+			<rtexprvalue>false</rtexprvalue>
+			<description>
+				URL for CSS-file.
+			</description>
+		</attribute>
+	</tag>
+
+	<!-- div -->
+
+	<tag>
+		<name>div</name>
+		<tag-class>org.apache.myfaces.custom.div.DivTag</tag-class>
+		<body-content>JSP</body-content>
+		<description>Places a div around its children</description>
+		<!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+		<attribute>
+			<name>style</name>
+			<required>false</required>
+			<rtexprvalue>false</rtexprvalue>
+			<description>
+				The style to use for this div.
+			</description>
+		</attribute>
+		<attribute>
+			<name>styleClass</name>
+			<required>false</required>
+			<rtexprvalue>false</rtexprvalue>
+			<description>
+				The class to use for this div.
+			</description>
+		</attribute>
+	</tag>
+
+	<!-- htmlTag -->
+
+	<tag>
+		<name>htmlTag</name>
+		<tag-class>org.apache.myfaces.custom.htmlTag.HtmlTagTag</tag-class>
+		<body-content>JSP</body-content>
+		<description>Places the given HTML tag div around its children</description>
+		<!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+                <!-- 
+        This attribute indicates that the component should be forced to use the specified id instead of 
+        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
+        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
+        -->
+        <attribute>
+            <name>forceId</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will force the use of the specified id when rendering.</description>
+        </attribute>        
+
+        <!-- 
+        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
+        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
+        is false (or not specified)
+        -->
+        <attribute>
+            <name>forceIdIndex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
+                that are contained within a "list."  This value will be true by default and the value will be ignored if 
+                the value of forceId is false (or not specified.)
+            </description>
+        </attribute>        
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				The name of the tag. For example, use h1 to generate an h1 tag.
+			</description>
+        </attribute>
+		<attribute>
+			<name>style</name>
+			<required>false</required>
+			<rtexprvalue>false</rtexprvalue>
+			<description>
+				The style to use for this tag.
+			</description>
+		</attribute>
+		<attribute>
+			<name>styleClass</name>
+			<required>false</required>
+			<rtexprvalue>false</rtexprvalue>
+			<description>
+				The class to use for this tag.
+			</description>
+		</attribute>
+	</tag>
+
+
+    <!-- radio -->
+    <tag>
+        <name>radio</name>
+        <tag-class>org.apache.myfaces.custom.radio.HtmlRadioTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Renders a HTML input of type "radio". The associated SelectItem comes from
+            an extended selectOneRadio component with layout "spread". The selectOneRadio
+            is referenced by the "for" attribute.
+            All HTML pass-through attributes for this input are taken from the associated
+            selectOneRadio.
+        </description>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+        <!-- HtmlRadio attributes -->
+        <attribute>
+            <name>for</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                 id of the referenced extended selectOneRadio component
+            </description>
+        </attribute>
+        <attribute>
+            <name>index</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                n-th SelectItem of referenced UISelectOne starting with 0.
+            </description>
+        </attribute>
+    </tag>
+
+   <!-- tree -->
+    <tag>
+        <name>tree</name>
+        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>nodeClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selectedNodeClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>columnClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconLine</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNoline</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconChildFirst</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconChildMiddle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconChildLast</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeOpen</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeOpenFirst</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeOpenMiddle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeOpenLast</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeClose</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeCloseFirst</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeCloseMiddle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>iconNodeCloseLast</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>expandRoot</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>expireListeners</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Time interval the tree will remain registered as a TreeModelListener without being accessed</description>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>treeSelectionListener</name>
+        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeSelectionListenerTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>iconProvider</name>
+        <tag-class>org.apache.myfaces.custom.tree.taglib.IconProviderTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- tree column -->
+    <tag>
+        <name>treeColumn</name>
+        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeColumnTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Renders a HTML input of type "treeColumn". This tag outlines the column where
+            the tree structure will be render as part of the tree table.
+        </description>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+    </tag>
+
+    <!-- tree checkbox -->
+    <tag>
+        <name>treeCheckbox</name>
+        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeCheckboxTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Renders a HTML input of type "treeCheckbox". The associated comes from
+            the treeCheckbox itemLabel and itemValue.  The selected items come from an extended
+            selectManyCheckbox component with layout "spread". The selectManyCheckbox
+            is referenced by the "for" attribute.
+            All HTML pass-through attributes for this input are taken from the associated
+            selectManyCheckbox.
+        </description>
+        <!-- UISelectItem attributes -->
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+        <attribute>
+            <name>itemDisabled</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If true, this component will not be saved during state saving.</description>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemDescription</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemLabel</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>itemValue</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Value reference pointing at a javax.faces.model.SelectItem instance.</description>
+        </attribute>
+
+        <!-- HtmlTreeCheckbox attributes -->
+        <attribute>
+            <name>for</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                id of the referenced extended selectManyCheckbox component
+            </description>
+        </attribute>
+    </tag>
+
+   <!-- tree2 -->
+    <tag>
+        <name>tree2</name>
+        <tag-class>org.apache.myfaces.custom.tree2.TreeTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>varNodeToggler</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>showNav</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Show the "plus" and "minus" navigation icons (default is true.) Value is ignored if
+                clientSideToggle is true.
+            </description>
+        </attribute>
+        <attribute>
+            <name>showLines</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Show the connecting lines (default is true.)</description>
+        </attribute>
+        <attribute>
+            <name>clientSideToggle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Perform client-side toggling of expand/collapse state via javascript (default is true.)</description>
+        </attribute>
+        <attribute>
+            <name>showRootNode</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Include the root node when rendering the tree (default is true.)</description>
+        </attribute>
+        <attribute>
+            <name>preserveToggle</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Preserve changes in client-side toggle information between requests (default is true.)</description>
+        </attribute>
+                <attribute>
+            <name>javascriptLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find javascript resources.  If no values is specified, javascript will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>imageLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find image resources.  If no values is specified, images will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <attribute>
+            <name>styleLocation</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>
+                An alternate location to find stylesheet resources.  If no values is specified, stylesheets will
+                be loaded from the resources directory using AddResource and ExtensionsFilter.
+            </description>
+        </attribute>
+
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+    </tag>
+
+    <!-- panelStack -->
+    <tag>
+        <name>panelStack</name>
+        <tag-class>org.apache.myfaces.custom.panelstack.PanelStackTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selectedPanel</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Id of the child to be rendered.</description>
+        </attribute>
+    </tag>
+
+    <!-- popup -->
+    <tag>
+        <name>popup</name>
+        <tag-class>org.apache.myfaces.custom.popup.HtmlPopupTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Renders a popup which displays on a mouse event.
+        </description>
+        <attribute>
+            <name>displayAtDistanceX</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Pop the panel up in horizontal distance of x pixels from
+                event.
+            </description>
+        </attribute>
+        <attribute>
+            <name>displayAtDistanceY</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Pop the panel up in vertical distance of y pixels from
+                event.
+            </description>
+        </attribute>
+        <attribute>
+            <name>closePopupOnExitingElement</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Close the popup when the triggering element is left.
+            </description>
+        </attribute>
+        <attribute>
+            <name>closePopupOnExitingPopup</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                Close the popup when the popup itself is left.
+            </description>
+        </attribute>
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- MyFaces extension: user role attributes -->
+        <attribute>
+            <name>enabledOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, no hyperlink is rendered but all nested
+                tags (=body) are rendered.
+            </description>
+        </attribute>
+        <attribute>
+            <name>visibleOnUserRole</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                If user is in given role, this component will be rendered
+                normally. If not, nothing is rendered and the body of this tag
+                will be skipped.
+            </description>
+        </attribute>
+
+     </tag>
+
+
+    <!-- newspaperTable -->
+    <tag>
+        <name>newspaperTable</name>
+        <tag-class>org.apache.myfaces.custom.newspaper.HtmlNewspaperTableTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            A data table for rendering long skinny tables as short wide table by
+            wrapping the table over a specified number of columns.
+        </description>
+                <!-- all standard attributes of the dataTable tag -->
+                <!-- UIPanel attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- HTML 4.0 table attributes -->
+        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- UIData attributes -->
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Supported types see JSF Spec 4.1.3</description>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>first</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- TableRenderer attributes -->
+        <attribute>
+            <name>columnClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowClasses</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+
+        <attribute>
+            <name>newspaperColumns</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The number of columns to wrap the table over.
+                Default: 1
+            </description>
+        </attribute>
+     </tag>
+
+
+
+<!--     Custom non-component tags     -->
+
+	<!-- aliasBean -->
+    <tag>
+        <name>aliasBean</name>
+        <tag-class>org.apache.myfaces.custom.aliasbean.AliasBeanTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            A tag that defines a new bean (alias) with a given value.
+            This allows you to design a subform with a generic (fictive) beans and to include it in all the pages where you use it.
+			You just need to make an alias to the real bean named after the generic bean before including the subform.
+
+			When used within an aliasBeansScope tag, this tag adds the alias to the aliasBeansScope.
+			This makes configuration with multiple aliasBeans easier to write.
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>alias</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The bean that will be set to the given value.
+                Example : #{holder}
+            </description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+                The value that the alias can be set to.
+				This can be a string (like "toto") or a reference to an existing bean (like "#{myBean.member1}").
+            </description>
+        </attribute>
+    </tag>
+    <tag>
+        <name>aliasBeansScope</name>
+        <tag-class>org.apache.myfaces.custom.aliasbean.AliasBeansScopeTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            This is like an aliasBean tag, but instead of the alias/value attributes, you configure the aliases
+            by adding aliasBean tags in the body.
+
+            The aliasBeans should be declared right after this tag.
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- bufferBean -->
+    <tag>
+        <name>buffer</name>
+        <tag-class>org.apache.myfaces.custom.buffer.BufferTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <name>into</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- saveState -->
+    <tag>
+        <name>saveState</name>
+        <tag-class>org.apache.myfaces.custom.savestate.SaveStateTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            saveState enables you to persist beans and values longer than
+            request scope, but shorter than session scope. It is ideal for
+            persisting backing beans and values with the same scope as your view
+            components. It does this by saving the target state with the
+            component tree.
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- updateActionListener -->
+    <tag>
+        <name>updateActionListener</name>
+        <tag-class>org.apache.myfaces.custom.updateactionlistener.UpdateActionListenerTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Registers a org.apache.myfaces.custom.updateactionlistener.UpdateActionListener at the
+            parent component.
+        </description>
+        <attribute>
+            <name>property</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>converter</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+<!-- validators -->
+
+
+        <!-- creditCard -->
+    <tag>
+        <name>validateCreditCard</name>
+        <tag-class>org.apache.myfaces.custom.creditcardvalidator.ValidateCreditCardTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+			A custom validator for creditCards, based upons Jakarta Commons.
+        </description>
+
+        <attribute>
+            <name>none</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				none of the given cardtypes is allowed.
+            </description>
+        </attribute>
+        <attribute>
+            <name>amex</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				american express cards
+            </description>
+        </attribute>
+        <attribute>
+            <name>visa</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				validation for visa
+            </description>
+        </attribute>
+        <attribute>
+            <name>mastercard</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				validation for mastercard
+            </description>
+        </attribute>
+        <attribute>
+            <name>discover</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				validation for discover
+            </description>
+        </attribute>
+    </tag>
+
+    <!-- Validator for Email -->
+     <tag>
+        <name>validateEmail</name>
+        <tag-class>org.apache.myfaces.custom.emailvalidator.ValidateEmailTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+			A custom validator for email address format, based upons Jakarta Commons.
+        </description>
+	</tag>
+
+    <!-- Validator for ISBN -->
+     <!--tag>
+        <name>validateISBN</name>
+        <tag-class>org.apache.myfaces.custom.isbnvalidator.ValidateISBNTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+			A custom validator for isbn codes, based upons Jakarta Commons.
+        </description>
+	</tag -->
+
+    <!-- Validator for Regular Expressions -->
+    <tag>
+        <name>validateRegExpr</name>
+        <tag-class>org.apache.myfaces.custom.regexprvalidator.ValidateRegExprTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+			A custom validator for reg. expr., based upons Jakarta Commons.
+        </description>
+
+        <attribute>
+            <name>pattern</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				the pattern, which is the base of the validation
+            </description>
+        </attribute>
+	</tag>
+
+    <!-- Validator for Equal -->
+     <tag>
+        <name>validateEqual</name>
+        <tag-class>org.apache.myfaces.custom.equalvalidator.ValidateEqualTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+			A custom validator for validations against foreign component values.
+        </description>
+
+        <attribute>
+            <name>for</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				the id of the foreign component, which is needed for the validation
+            </description>
+        </attribute>
+	</tag>
+
+    <!-- swap_image -->
+    <tag>
+        <name>swapImage</name>
+        <tag-class>org.apache.myfaces.custom.swapimage.HtmlSwapImageTag</tag-class>
+        <body-content>JSP</body-content>
+        <attribute>
+            <name>swapImageUrl</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				the url of the image displayed onmouseover
+            </description>
+        </attribute>
+        <attribute>
+            <name>activeImageUrl</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>
+				activeImage will be rendered if: swapImage is a direct child of commandNavigation
+                and the commandNavigation.isActive
+            </description>
+        </attribute>
+                <!-- UIGraphic attributes -->
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <attribute>
+            <name>url</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>URL of the image (see JSF.4.1.5).</description>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>URL of the image (see JSF.4.1.5).</description>
+        </attribute>
+
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 img attributes that are not part of the JSF 1.1 specification -->
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>hspace</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>vspace</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+
+        <!-- The subset of HTML 4.0 img attributes that are supported by the JSF 1.1 specification -->
+        <attribute>
+            <name>alt</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>ismap</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>longdesc</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <!-- "name" attribute cannot be set directly by user -->
+        <!-- "src" attribute cannot be set directly, use "url" instead! -->
+        <attribute>
+            <name>usemap</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+        </attribute>
+
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+    </tag>
+
+	<!-- columns -->
+    <tag>
+        <name>columns</name>
+        <tag-class>org.apache.myfaces.custom.crosstable.HtmlColumnsTag</tag-class>
+        <body-content>JSP</body-content>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- UIColumn attributes -->
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Supported types see JSF Spec 4.1.3</description>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>true</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        
+        <!-- header attributes -->
+        <attribute><name>headerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
+        <attribute><name>headeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- footer attributes -->
+        <attribute><name>footerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
+        <attribute><name>footeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>This attribute can be used to set the width of the &lt;TD&gt; elements</description>
+        </attribute>        
+     </tag>
+
+
+  <!-- column -->
+    <tag>
+        <name>column</name>
+        <tag-class>org.apache.myfaces.custom.column.HtmlColumnTag</tag-class>
+        <body-content>JSP</body-content>
+        <!-- UIComponent attributes -->
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Every component may have an unique id. Automatically created if omitted.</description>
+        </attribute>
+        <attribute>
+            <name>rendered</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>If false, this component will not be rendered.</description>
+        </attribute>
+        <attribute>
+            <name>binding</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <type>java.lang.String</type>
+            <description>Component binding.</description>
+        </attribute>
+
+        <!-- UIColumn attributes -->
+        <!-- HTML 4.0 universal attributes -->
+        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute>
+            <name>styleClass</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>Corresponds to the HTML class attribute.</description>
+        </attribute>
+
+        <!-- HTML 4.0 event-handler attributes -->
+        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        
+        <!-- header attributes -->
+        <attribute><name>headerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
+        <attribute><name>headeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>headeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <!-- footer attributes -->
+        <attribute><name>footerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
+        <attribute><name>footeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+        <attribute><name>footeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
+
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+            <description>This attribute can be used to set the width of the &lt;TD&gt; elements</description>
+        </attribute>        
+     </tag>
+
+</taglib>
\ No newline at end of file

Modified: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/web.xml
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/web.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/WEB-INF/web.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -140,7 +140,12 @@
         <url-pattern>*.jsf</url-pattern>
     </servlet-mapping>
 
+    <taglib>
+    	<taglib-uri>http://myfaces.apache.org/extensions</taglib-uri>
+    	<taglib-location>/WEB-INF/myfaces_ext.tld</taglib-location>
+    </taglib>
 
+
     <!-- Welcome files -->
     <welcome-file-list>
         <welcome-file>index.jsp</welcome-file>

Copied: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/css (from rev 6475, labs/reportingservices/trunk/src/webapp/css)

Copied: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/images (from rev 6475, labs/reportingservices/trunk/src/webapp/images)

Modified: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/include/page_header.jsp
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/include/page_header.jsp	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/include/page_header.jsp	2006-10-02 09:05:18 UTC (rev 6517)
@@ -12,7 +12,7 @@
 </h:panelGrid>
 
 <h:panelGrid id="header_group2" columns="1" styleClass="pageHeader2" columnClasses="pageHeader2col1"  >
-    <x:jscookMenu layout="hbr" theme="jboss" >
+    <x:jscookMenu layout="hbr" theme="ThemePanel" >
         <%/* if you want to use jscookMenu in your application, you will have to:
                - add jscookmenu directory to your web directory
                - add scripts and stylesheets to html-header (see inc/header.inc for details)

Copied: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/jscookmenu (from rev 6475, labs/reportingservices/trunk/src/webapp/jscookmenu)

Modified: labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/report/list.jsp
===================================================================
--- labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/report/list.jsp	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/modules/webadminconsole/src/main/webapp/report/list.jsp	2006-10-02 09:05:18 UTC (rev 6517)
@@ -29,7 +29,7 @@
                                 <h:outputText value="Jndi Name" />
                             </x:commandSortHeader>
                         </f:facet>
-                        <h:outputText value="#{reportinfo.report.jndi_name}" />
+                        <h:outputText value="#{reportinfo.report.report_name}" />
                     </h:column>
 
                     <h:column>

Modified: labs/reportingservices/trunk/dev/pom.xml
===================================================================
--- labs/reportingservices/trunk/dev/pom.xml	2006-10-01 22:58:53 UTC (rev 6516)
+++ labs/reportingservices/trunk/dev/pom.xml	2006-10-02 09:05:18 UTC (rev 6517)
@@ -62,6 +62,18 @@
 			<!-- admin console -->
 			<dependency>
 				<groupId>jboss.reportingservices</groupId>
+				<artifactId>adminconsole-service-client</artifactId>
+				<version>${project.version}</version>
+				<type>jar</type>
+			</dependency>
+			<dependency>
+				<groupId>jboss.reportingservices</groupId>
+				<artifactId>adminconsole-service-impl</artifactId>
+				<version>${project.version}</version>
+				<type>jar</type>
+			</dependency>
+			<dependency>
+				<groupId>jboss.reportingservices</groupId>
 				<artifactId>webadminconsole</artifactId>
 				<version>${project.version}</version>
 				<type>war</type>




More information about the jboss-svn-commits mailing list