Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcbateman2010-05-25 18:40:12 +0000
committercbateman2010-05-25 18:40:12 +0000
commit709a9cfd416f694906e526acd4d44832be6e5aa7 (patch)
tree9a7c19333483db6552deb4b71a1588407e9cff68
parent32d649746fe653ae117b64d06ea071940fb33354 (diff)
downloadwebtools.jsf-709a9cfd416f694906e526acd4d44832be6e5aa7.tar.gz
webtools.jsf-709a9cfd416f694906e526acd4d44832be6e5aa7.tar.xz
webtools.jsf-709a9cfd416f694906e526acd4d44832be6e5aa7.zip
Fix for PMC_approved https://bugs.eclipse.org/bugs/show_bug.cgi?id=312345.
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/resource/LifecycleListener.java2
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java49
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/DefaultStandardTaglibLocator.java130
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java29
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/composite.taglib.xml1710
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/facelets_jsf_core.taglib.xml2056
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/html_basic.taglib.xml10465
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/jstl-core.taglib.xml283
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/jstl-fn.taglib.xml173
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/ui.taglib.xml1026
10 files changed, 15921 insertions, 2 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/resource/LifecycleListener.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/resource/LifecycleListener.java
index 4b5352850..3aee0decd 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/resource/LifecycleListener.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/resource/LifecycleListener.java
@@ -366,7 +366,7 @@ public class LifecycleListener extends
private void handleWorkspaceRoot(final IResourceDelta delta)
{
for (final IResourceDelta childDelta : delta
- .getAffectedChildren(IResourceDelta.ADDED))
+ .getAffectedChildren(IResourceDelta.ADDED|IResourceDelta.CHANGED))
{
final IResource res = childDelta.getResource();
if ((childDelta.getFlags() & IResourceDelta.OPEN) != 0 &&
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java
new file mode 100644
index 000000000..a79c106a1
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/IFaceletConstants.java
@@ -0,0 +1,49 @@
+package org.eclipse.jst.jsf.core.internal.tld;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * Adds facelet-specific constants.*
+ *
+ * @author cbateman
+ *
+ */
+public final class IFaceletConstants implements ITLDConstants
+{
+ /**
+ * The set of all standard Facelet tag libraries.
+ */
+ public static final Set<String> ALL_FACELET_TAGLIBS;
+ /**
+ * The uri for the composite taglib (Facelets only)
+ */
+ public static final String URI_JSF_COMPOSITE = "http://java.sun.com/jsf/composite"; //$NON-NLS-1$
+ /**
+ * The uri for the ui taglib (Facelets only)
+ */
+ public static final String URI_JSF_UI = "http://java.sun.com/jsf/facelets"; //$NON-NLS-1$
+ /**
+ * The uri for the jsf implementation of JSTL core tags (Facelets only)
+ */
+ public static final String URI_JSF_JSTL_CORE = "http://java.sun.com/jsp/jstl/core"; //$NON-NLS-1$
+ /**
+ * The uri for the jsf implementation of JSTL function tags (Facelets only)
+ */
+ public static final String URI_JSF_JSTL_FUNCTIONS = "http://java.sun.com/jsp/jstl/functions"; //$NON-NLS-1$
+
+ static
+ {
+ Set<String> taglibs = new HashSet<String>();
+ taglibs.add(URI_JSF_HTML);
+ taglibs.add(URI_JSF_CORE);
+ taglibs.add(URI_JSF_COMPOSITE);
+ taglibs.add(URI_JSF_UI);
+ taglibs.add(URI_JSF_JSTL_CORE);
+ taglibs.add(URI_JSF_JSTL_FUNCTIONS);
+
+ ALL_FACELET_TAGLIBS = Collections.unmodifiableSet(taglibs);
+ }
+
+}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/DefaultStandardTaglibLocator.java b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/DefaultStandardTaglibLocator.java
new file mode 100644
index 000000000..9d884e6be
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/DefaultStandardTaglibLocator.java
@@ -0,0 +1,130 @@
+package org.eclipse.jst.jsf.facelet.core.internal.registry.taglib;
+
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jst.jsf.facelet.core.internal.FaceletCorePlugin;
+import org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.IFaceletTagRecord.TagRecordDescriptor;
+import org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.faceletTaglib.FaceletTaglib;
+
+/**
+ * @author cbateman
+ *
+ */
+public class DefaultStandardTaglibLocator extends AbstractFaceletTaglibLocator
+{
+ private static final Set<String> taglibLocations;
+ static
+ {
+ final Set<String> set = new HashSet<String>();
+ set.add("/std-taglibs/html_basic.taglib.xml"); //$NON-NLS-1$
+ set.add("/std-taglibs/composite.taglib.xml"); //$NON-NLS-1$
+ set.add("/std-taglibs/facelets_jsf_core.taglib.xml"); //$NON-NLS-1$
+ set.add("/std-taglibs/jstl-core.taglib.xml"); //$NON-NLS-1$
+ set.add("/std-taglibs/jstl-fn.taglib.xml"); //$NON-NLS-1$
+ set.add("/std-taglibs/ui.taglib.xml"); //$NON-NLS-1$
+ taglibLocations = Collections.unmodifiableSet(set);
+ }
+ private static final Set<MyTagRecordDescriptor> DEFAULT_TAGLIBS;
+ static
+ {
+ Set<MyTagRecordDescriptor> taglibs = new HashSet<MyTagRecordDescriptor>();
+ for (final String location : taglibLocations)
+ {
+ try
+ {
+ final URL url = FaceletCorePlugin.getDefault().getBundle()
+ .getEntry(location);
+ final URL fileURL = FileLocator.toFileURL(url);
+ File file = new File(fileURL.toURI());
+ final InputStream openStream = fileURL.openStream();
+ final TagModelLoader loader = new TagModelLoader(
+ file.getAbsolutePath());
+ loader.loadFromInputStream(openStream);
+ final FaceletTaglib taglib = loader.getTaglib();
+ MyTagRecordDescriptor desc = new MyTagRecordDescriptor(new Path(fileURL.toString()), taglib);
+ taglibs.add(desc);
+ } catch (final Exception e)
+ {
+ FaceletCorePlugin.log(
+ "Trying to load default taglib for: " + location, e); //$NON-NLS-1$
+ }
+ }
+ DEFAULT_TAGLIBS = Collections.unmodifiableSet(taglibs);
+ }
+ private HashMap<String, IFaceletTagRecord> _defaultRecords;
+
+ /**
+ *
+ */
+ public DefaultStandardTaglibLocator()
+ {
+ super("", ""); //$NON-NLS-1$//$NON-NLS-2$
+ _defaultRecords = new HashMap<String, IFaceletTagRecord>();
+ }
+
+ @Override
+ public void start(IProject project)
+ {
+ final TagRecordFactory factory = new TagRecordFactory(project,
+ false);
+
+ for (final MyTagRecordDescriptor desc : DEFAULT_TAGLIBS)
+ {
+ final IFaceletTagRecord record = factory.createRecords(desc.getTaglib(),
+ desc);
+ if (record != null)
+ {
+ _defaultRecords.put(record.getURI(), record);
+ }
+ }
+ super.start(project);
+ }
+
+ @Override
+ protected Map<String, ? extends IFaceletTagRecord> doLocate(IProject context)
+ {
+ return Collections.unmodifiableMap(_defaultRecords);
+ }
+
+ private static class MyTagRecordDescriptor extends TagRecordDescriptor
+ {
+ private final IPath _path;
+ private final FaceletTaglib _taglib;
+
+ public MyTagRecordDescriptor(final IPath path, final FaceletTaglib taglib)
+ {
+ super(Source.JAR);
+ _path = path;
+ _taglib = taglib;
+ }
+
+ @Override
+ public IResource getResource()
+ {
+ return null;
+ }
+
+ @Override
+ public IPath getPath()
+ {
+ return _path;
+ }
+
+ public FaceletTaglib getTaglib()
+ {
+ return _taglib;
+ }
+ }
+}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java
index f68ecf438..cf9d74d46 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java
@@ -21,6 +21,7 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.ISafeRunnable;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.jst.jsf.common.internal.locator.ILocatorProvider;
+import org.eclipse.jst.jsf.core.internal.tld.IFaceletConstants;
import org.eclipse.jst.jsf.facelet.core.internal.FaceletCorePlugin;
/**
@@ -31,7 +32,6 @@ import org.eclipse.jst.jsf.facelet.core.internal.FaceletCorePlugin;
*/
public class ProjectTaglibDescriptor implements IProjectTaglibDescriptor
{
-
private final AtomicInteger _isInitialized = new AtomicInteger(
0);
private final IProject _project;
@@ -40,6 +40,7 @@ public class ProjectTaglibDescriptor implements IProjectTaglibDescriptor
private final Map<String, IFaceletTagRecord> _tagRecords;
private final TagRecordFactory _factory;
private final AtomicBoolean _isDisposed = new AtomicBoolean(false);
+ private final DefaultStandardTaglibLocator _defaultTaglibLocator;
/**
* @param project
@@ -55,6 +56,8 @@ public class ProjectTaglibDescriptor implements IProjectTaglibDescriptor
_locatorProvider.initialize();
_factory = factory;
_libChangeListener = new MyChangeListener();
+ _defaultTaglibLocator = new DefaultStandardTaglibLocator();
+ _defaultTaglibLocator.start(project);
}
private void initialize()
@@ -81,6 +84,30 @@ public class ProjectTaglibDescriptor implements IProjectTaglibDescriptor
}
});
}
+ // ensure that we add the standard tag libraries if we don't find them
+ // on the classpath. The spec doesn't require that taglib's are
+ // included in a JSF impl for these
+ ensureStandardLibraries(_project);
+ }
+ }
+ }
+
+ private void ensureStandardLibraries(final IProject project)
+ {
+ final Map<String, ? extends IFaceletTagRecord> defaultRecords = _defaultTaglibLocator.locate(project);
+ for (final String uri : IFaceletConstants.ALL_FACELET_TAGLIBS)
+ {
+ if (!_tagRecords.containsKey(uri))
+ {
+ IFaceletTagRecord faceletTagRecord = defaultRecords.get(uri);
+ if (faceletTagRecord != null)
+ {
+ _tagRecords.put(uri, faceletTagRecord);
+ }
+ else
+ {
+ FaceletCorePlugin.log("Could not find taglib for uri: "+uri, new Exception()); //$NON-NLS-1$
+ }
}
}
}
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/composite.taglib.xml b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/composite.taglib.xml
new file mode 100644
index 000000000..32f722f5c
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/composite.taglib.xml
@@ -0,0 +1,1710 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
+ version="2.0">
+ <description>
+
+
+ &lt;/pre&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;Describes the Facelets2 tag library used for declaring and
+ defining
+ the usage contract for composite UI Components. When authoring a
+ composite component, use of this tag library is largely optional,
+ though always recommended. Declaring and defining a composite
+ component with this taglib provides valuable information about the
+ component that can be used by tools and users of the composite
+ component. In most cases, a composite component can be authored
+ without declaring and defining its usage contract with this taglib.
+ PENDING: the limit of what one can do without declaring and defining a
+ usage contract must be cleary specified and documented. PENDING: The
+ implementation team must help discover these limits.
+ &lt;/p&gt;
+
+ &lt;h2&gt;Creating a Composite Component&lt;/h2&gt;
+
+ &lt;p&gt;The default implementation must support authoring A composite
+ component is declared by creating a Facelets2 file inside of a resource
+ library. (See section JSF.2.6 of the specification prose document for
+ more information about resource libraries.) A composite component
+ must reside within a resource library. It is not possible to create a
+ composite component without putting it inside of a resource
+ library.&lt;/p&gt;
+
+ &lt;p&gt;The default XML namespace URI of the taglib that contains the
+ composite component, for use in &lt;em&gt;the using page&lt;/em&gt;, is
+ &lt;code&gt;http://java.sun.com/jsf/composite/&amp;lt;composite-library-name&amp;gt;&lt;/code&gt;,
+ where &lt;code&gt;&amp;lt;composite-library-name&amp;gt;&lt;/code&gt; is
+ the name of the
+ resource library. For example:&lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ &lt;br /&gt;
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br
+ /&gt;
+ &amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
+ xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
+ xmlns:f="http://java.sun.com/jsf/core"&lt;br /&gt;
+ xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
+ xmlns:ez="&lt;i&gt;http://java.sun.com/jsf/composite/&lt;b&gt;ezcomp&lt;/b&gt;&lt;/i&gt;"&amp;gt;&lt;br
+ /&gt;
+ ...&lt;br /&gt;
+ &lt;/code&gt;&lt;/pre&gt;
+
+ &lt;p&gt;This declares that any Facelets2 file in the resource
+ library called &lt;code&gt;ezcomp&lt;/code&gt; can be used as a regular
+ JSF UI
+ component in a page with the above namespace declaration by using the
+ "&lt;code&gt;ez&lt;/code&gt;" prefix. For example, placing a file called
+ &lt;code&gt;foo.xhtml&lt;/code&gt; in a resource library called &lt;code&gt;ezcomp&lt;/code&gt;
+ would make that file accessible like this.&lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ &amp;lt;ez:foo /&amp;gt;
+ &lt;/code&gt;&lt;/pre&gt;
+
+
+ &lt;p&gt;The implementation must also support declaring the
+ namespace of the tag library in a JSF PDL tag library descriptor.
+ This descriptor file is optional and is useful for component vendors
+ that do not want to use the default XML namespace. This version of
+ the proposal currently uses the facelet taglib descriptor syntax. For
+ example: &lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ &amp;lt;facelet-taglib&amp;gt;&lt;br /&gt;
+ &amp;lt;namespace&amp;gt;http://domain.com/path&amp;lt;/namespace&amp;gt;
+ &lt;br /&gt;
+ &amp;lt;composite-library-name&amp;gt;compositeTest&amp;lt;/composite-library-name&amp;gt;
+ &lt;br /&gt;
+ &amp;lt;/facelet-taglib&amp;gt; &lt;br /&gt;
+ &lt;/code&gt;&lt;/pre&gt;
+
+ &lt;p&gt;Components from that taglibrary may be used in a using page by
+ declaring them in the XML namespace for that page:&lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ &lt;br /&gt;
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br
+ /&gt;
+ &amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
+ xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
+ xmlns:f="http://java.sun.com/jsf/core"&lt;br /&gt;
+ xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
+ xmlns:ez="&lt;i&gt;&lt;b&gt;http://domain.com/path/namespace&lt;/b&gt;&lt;/i&gt;"&amp;gt;&lt;br
+ /&gt;
+ ...&lt;br /&gt;
+ &lt;/code&gt;&lt;/pre&gt;
+
+
+ &lt;p&gt;&lt;a name="composite_example"&gt;Below is an example of a
+ fairly
+ involved composite component declaration. Such a declaration might
+ appear in &lt;code&gt;foo.xhtml&lt;/code&gt;.&lt;/a&gt;&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;&lt;a
+ href="interface.html"&gt;composite:interface&lt;/a&gt; &lt;span
+ class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;displayName=&lt;span class="st0"&gt;&amp;quot;Very Simple
+ Login Panel&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;preferred=&lt;span class="st0"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;expert=&lt;span class="st0"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;shortDescription=&lt;span class="st0"&gt;&amp;quot;An
+ illustration of the composite component feature&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;&lt;a href="attribute.html"&gt;composite:attribute&lt;/a&gt;
+ &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;model&amp;quot;&lt;/span&gt;
+ required=&lt;span class="st0"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:attribute &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;loginAction&amp;quot;&lt;/span&gt; required=&lt;span
+ class="st0"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; method-signature=&lt;span
+ class="st0"&gt;&amp;quot;java.lang.Object action()&amp;quot;&lt;/span&gt;/
+ &lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:attribute&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:attribute &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;valueChangeListener&amp;quot;&lt;/span&gt;
+ targets=&lt;span class="st0"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:attribute &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;specialMethodExpression&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp;method-signature=&lt;span class="st0"&gt;&amp;quot;com.foo.User
+ validateCurrentUser()&amp;quot;&lt;/span&gt; /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:attribute &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;loginButtonLabel&amp;quot;&lt;/span&gt;
+ default=&lt;span class="st0"&gt;&amp;quot;Login&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;&lt;a href="editableValueHolder.html"&gt;composite:editableValueHolder&lt;/a&gt;
+ &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;loginEvent&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;cancelEvent&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;allEvents&amp;quot;&lt;/span&gt; targets=&lt;span
+ class="st0"&gt;&amp;quot;loginEvent,cancelEvent&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&amp;lt;&lt;a
+ href="implementation.html"&gt;composite:implementation&lt;/a&gt; &lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;ui:decorate template=&lt;span class="st0"&gt;&amp;quot;fooTemplate.xhtml&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;ui:define &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;header&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;/span&gt;This
+ is the login panel header&lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:define&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;ui:define &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;body&amp;quot;&lt;/span&gt;&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp;&lt;span class="sc2"&gt;&amp;lt;h:inputText &lt;span
+ class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;h:commandButton &lt;span
+ class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;loginEvent&amp;quot;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="kw3"&gt;value&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;#{cc.attrs.loginButtonLabel}&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/h:commandButton&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;h:commandButton &lt;span
+ class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;cancelEvent&amp;quot;&lt;/span&gt;
+ &lt;span class="kw3"&gt;value&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;Cancel&amp;quot;&lt;/span&gt;
+ &lt;span class="kw3"&gt;action&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;cancel&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/h:commandButton&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;special:validateUserButton
+ &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; validateUser=&lt;span class="st0"&gt;&amp;quot;#{cc.attrs.specialMethodExpression}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:define&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;ui:define &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;footer&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;/span&gt;This
+ is the login panel footer&lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:define&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:decorate&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;The values for attributes in a composite component PDL file can
+ be
+ fully localized by putting them inside a ResourceBundle in the same
+ directory as the PDL page and accessing them with the per-component
+ resource bundle syntax. Consider the file &lt;code&gt;foo.xhtml&lt;/code&gt;,
+ in
+ the resource library &lt;code&gt;ezcomp&lt;/code&gt;. The
+ &lt;code&gt;shortDescription&lt;/code&gt; element could be changed to
+ be:&lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ &amp;lt;composite:interface
+ shortDescription="#{cc.resourceBundleMap.shortDescription}" &amp;gt;
+ &lt;/code&gt;&lt;/pre&gt;
+
+ &lt;p&gt;In this case, In the same &lt;code&gt;ezcomp&lt;/code&gt;
+ directory as
+ &lt;code&gt;foo.xhtml&lt;/code&gt;, there would be a &lt;code&gt;foo.properties&lt;/code&gt;
+ file that would contain this entry:&lt;/p&gt;
+
+ &lt;pre&gt;&lt;code&gt;
+ shortDescription=A really nifty login panel.
+ &lt;/code&gt;&lt;/pre&gt;
+
+ &lt;p&gt;The normal localization rules for &lt;code&gt;ResourceBundle&lt;/code&gt;
+ would
+ apply.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+
+ &lt;pre&gt;
+
+
+ </description>
+ <namespace>http://java.sun.com/jsf/composite</namespace>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;This element declares the usage contract for a composite
+ component. Optionally, and at the component author's
+ discretion, this contract exposes the features of one or
+ more inner components to the page author. The page author
+ can work with the composite component as a single component
+ whose feature set is the union of the features declared in
+ the usage contract.&lt;/p&gt;
+
+ &lt;p&gt;For example, consider a composite component that
+ implements the functionality of a "login panel". Such a
+ component would likely have two text fields and one button.
+ The user of such a component might like to do one or more of
+ the following.&lt;/p&gt;
+
+ &lt;ul&gt;
+
+ &lt;li&gt;&lt;p&gt;Be able to listen for the &lt;code&gt;ActionEvent&lt;/code&gt;
+ on the button.&lt;/p&gt;
+
+ &lt;p&gt;In this case, a
+ &lt;code&gt;&amp;lt;composite:actionSource&amp;gt;&lt;/code&gt;
+ element is
+ included in the usage contract that refers to the inner
+ button in the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section.&lt;/p&gt;
+
+ &lt;/li&gt;
+
+ &lt;li&gt;&lt;p&gt;Provide an "action" to invoke when the button is
+ pressed.
+ &lt;/p&gt;
+
+ &lt;p&gt;In this case, a
+ &lt;code&gt;&amp;lt;composite:attribute&amp;gt;&lt;/code&gt; element
+ is included
+ in the usage contract that refers to the inner button in the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section and
+ declares the proper method signature for an "action".&lt;/p&gt;
+
+ &lt;/li&gt;
+
+ &lt;li&gt;&lt;p&gt;Provide parameters to the composite component for
+ labels and other rendering specific aspects of the composite
+ component.&lt;/p&gt;
+
+ &lt;p&gt;In this case, one or more
+ &lt;code&gt;&amp;lt;composite:attribute&amp;gt;&lt;/code&gt;
+ elements are included
+ in the usage contract and those parameters are referred to in
+ the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section
+ using EL expressions like
+ &lt;code&gt;#{cc.attrs.usernameLabel}&lt;/code&gt;,
+ assuming &lt;code&gt;usernameLabel&lt;/code&gt; is the &lt;code&gt;name&lt;/code&gt;
+ of one of the &lt;code&gt;&amp;lt;composite:attribute&amp;gt;&lt;/code&gt;
+ elements in the usage contract.&lt;/p&gt;
+
+ &lt;/li&gt;
+
+
+ &lt;li&gt;&lt;p&gt;Add &lt;code&gt;ValueChangeListener&lt;/code&gt;s,
+ &lt;code&gt;Converter&lt;/code&gt;s, or &lt;code&gt;Validator&lt;/code&gt;s
+ to either
+ or both text fields.
+ &lt;/p&gt;
+
+ &lt;p&gt;In this case, a
+ &lt;code&gt;&amp;lt;composite:editableValueHolder&amp;gt;&lt;/code&gt;
+ element is
+ included in the usage contract that refers to the inner text
+ field in the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. In the case of wanting to enable only adding a
+ &lt;code&gt;Converter&lt;/code&gt; (and not a
+ &lt;code&gt;ValueChangeListener&lt;/code&gt; or &lt;code&gt;Validator&lt;/code&gt;,
+ a
+ &lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;
+ element would be
+ used.&lt;/p&gt;
+
+ &lt;/li&gt;
+
+ &lt;li&gt;&lt;p&gt;Add facet children to the login panel.&lt;/p&gt;
+
+ &lt;p&gt;In this case, a &lt;code&gt;&amp;lt;composite:facet&amp;gt;&lt;/code&gt;
+ element is included in the usage contract that refers to the
+ inner &lt;code&gt;&amp;lt;composite:renderFacet&amp;gt;&lt;/code&gt;
+ element in
+ the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section.
+ &lt;/p&gt;
+
+ &lt;/li&gt;
+
+
+ &lt;/ul&gt;
+
+ &lt;p&gt;For each of the behaviorial interfaces in Section JSF.3.2
+ of
+ the specification, there is a tag in the
+ &lt;code&gt;composite:&lt;/code&gt; library to nest inside of the
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt;
+ section.
+ &lt;/p&gt;
+
+
+ &lt;p&gt;If the &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt;
+ section
+ is not present in a &lt;em&gt;PDL page&lt;/em&gt;, the contract will
+ be
+ inferred as described in the specification. There must be
+ zero or one of these elements in a composite component PDL
+ file. If a &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt;
+ element
+ does appear, there must be an accompanying
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ element in the
+ same PDL file. &lt;/p&gt;
+
+ &lt;p&gt;&lt;b&gt;Nesting of composite components&lt;/b&gt;&lt;/p&gt;
+
+ &lt;p&gt;The implementation must support nesting of composite
+ components. Specifically, it must be possible for the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section of a
+ composite component to act as the &lt;em&gt;using page&lt;/em&gt;
+ for
+ another composite component. When a composite component
+ exposes a behavioral interface to the &lt;em&gt;using page&lt;/em&gt;,
+ such as a &lt;code&gt;&amp;lt;composite:actionSource&amp;gt;&lt;/code&gt;,
+ &lt;code&gt;&amp;lt;composite:editableValueHolder&amp;gt;&lt;/code&gt;,
+ &lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt; or
+ other
+ behavioral interface, it must be possible to
+ &amp;#8220;propogate&amp;#8221; the exposure of such an interface in
+ the case of a nested composite component. The composite
+ component author must ensure that the value of the
+ &lt;code&gt;name&lt;/code&gt; attributes exactly match at all levels
+ of
+ the nesting to enable this exposure to work. The
+ implementation is not required to support
+ &amp;#8220;re-mapping&amp;#8221; of names in a nested composite
+ component.&lt;/p&gt;
+
+ &lt;p&gt;For example, consider this nested composite component.&lt;/p&gt;
+
+ &lt;p&gt;Using page&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;ez:actionSourceOuter&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:actionListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button1&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/ez:actionSourceOuter&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;actionSourceOuter.xhtml: Outer composite component&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button1&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:implementation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;ez:actionSourceInner /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;actionSourceInner.xhtml: the composite component used
+ within a
+ composite component.&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button1&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:implementation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;h:commandButton &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button1&amp;quot;&lt;/span&gt; &lt;span
+ class="kw3"&gt;value&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;the
+ real button&amp;quot;&lt;/span&gt; /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;The &lt;code&gt;id&lt;/code&gt; of the &lt;code&gt;&amp;lt;h:commandButton&amp;gt;&lt;/code&gt;
+ on
+ line 6 of actionSourceInner.xhtml must match the &lt;code&gt;name&lt;/code&gt;
+ on
+ line 2 of that file (this is a standard requirement for all
+ composite
+ components, nested or not). That &lt;code&gt;id&lt;/code&gt; must
+ also match the
+ &lt;code&gt;name&lt;/code&gt; on line 2 of actionSourceOuter.xhtml,
+ and the
+ &lt;code&gt;for&lt;/code&gt; on line 2 of the using page.&lt;/p&gt;
+
+ &lt;p&gt;The implementation must support any level of nesting as
+ long as the
+ &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, and
+ &lt;code&gt;id&lt;/code&gt; values match
+ up. Furthermore, the &lt;code&gt;targets&lt;/code&gt; attribute is
+ also valid for
+ use in this nested fashion.&lt;/p&gt;
+
+ &lt;p&gt;&lt;b&gt;Naming containers within composite components&lt;/b&gt;&lt;/p&gt;
+
+ &lt;p&gt;Composite components are themselves naming containers so
+ that any
+ possible id conflicts between inner components and components in the
+ using page are avoided. However, special care must be taken when
+ using
+ naming containers in the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. In such cases the value of the &amp;#8220;name&amp;#8221;
+ attribute,
+ or the values of the &amp;#8220;targets&amp;#8221; attribute must be
+ used with a
+ clientId relative to the &lt;em&gt;top level component&lt;/em&gt; to
+ expose any
+ attached object targets to the using page. For example:&lt;/p&gt;
+
+ &lt;p&gt;Using page&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;ez:loginButton&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:actionListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button&amp;quot;&lt;/span&gt; &lt;span
+ class="kw3"&gt;binding&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;#{foo.actionListener}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/ez:loginButton&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+
+ &lt;p&gt;loginButton.xhtml&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button&amp;quot;&lt;/span&gt; targets=&lt;span
+ class="st0"&gt;&amp;quot;form:button&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:implementation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;h:form &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;form&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&amp;lt;h:commandButton &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;button&amp;quot;&lt;/span&gt; &lt;span
+ class="kw3"&gt;value&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;Submit&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/h:form&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;Because the button on line 8 resides within a form, it must
+ be
+ referred to using a client id, relative to the &lt;em&gt;top level
+ component&lt;/em&gt;, in the "targets" attribute on line 2. Using a
+ relative
+ clientId is required due to the semantics of
+ &lt;code&gt;UIComponent.findComponent()&lt;/code&gt;.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <tag-name>interface</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.InterfaceHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name of this composite component.
+ Advisory only. The real name is taken from the
+ filename. The value of this attribute will be set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The &lt;code&gt;component-type&lt;/code&gt; of the &lt;code&gt;UIComponent&lt;/code&gt;
+ that
+ will serve as the &lt;em&gt;composite component root&lt;/em&gt;
+ for this composite
+ component. The declared &lt;code&gt;component-family&lt;/code&gt;
+ for this
+ component must be &lt;code&gt;javax.faces.NamingContainer&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>componentType</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name to display in a tool palette
+ containing this component. The value of this attribute will be
+ set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>displayName</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this a "preferred" component. The value
+ of this attribute will be set as the value for this
+ property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>preferred</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this component only for expert users?
+ The value of this attribute will be set as the value for
+ this property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>expert</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;A short description of the purpose of this
+ component. The value of this attribute will be set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>shortDescription</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Defines the implementation of the composite
+ component. There must be zero or one of these in a
+ composite component markup file. If a
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt; element
+ appears,
+ there must be a corresponding
+ &lt;code&gt;&amp;lt;composite-implementation&amp;gt;&lt;/code&gt;
+ element. If no
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt; element
+ appears,
+ the &lt;code&gt;&amp;lt;composite-implementation&amp;gt;&lt;/code&gt;
+ element is
+ optional. &lt;/p&gt; &lt;/div&gt;
+ </description>
+ <tag-name>implementation</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.ImplementationHandler</handler-class>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares an attribute that may be given to an instance of
+ the
+ &lt;em&gt;composite component&lt;/em&gt; tag for this composite
+ component. There
+ may be zero or many of these inside of the
+ &lt;code&gt;&amp;lt;composite:interface&lt;/code&gt;&amp;gt;
+ section. This element may be
+ nested within other &lt;code&gt;&amp;lt;composite:attribute&amp;gt;&lt;/code&gt;
+ elements to
+ convey a usage contract that includes nested properties.&lt;/p&gt;
+
+ &lt;p&gt;Please see &lt;a href="tld-summary.html#composite_example"&gt;summary
+ page&lt;/a&gt; for a usage example.&lt;/p&gt;
+
+ &lt;p&gt;The &lt;em&gt;top level component&lt;/em&gt; in which this
+ element is
+ ultimately nested must be a &lt;code&gt;NamingContainer&lt;/code&gt;.
+ There are certain component properties that must not be
+ exposed using this element. The motivation for this
+ restriction is that the mapping of markup attributes to
+ component properties/attributes does not allow for these
+ attributes to be set. The following properties must not be
+ exposed using this element.&lt;/p&gt;
+
+ &lt;ul&gt;
+ &lt;li&gt;&lt;p&gt;binding&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;id&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;inView&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;parent&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;rendered&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;rendererType&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;transient&lt;/p&gt;&lt;/li&gt;
+ &lt;/ul&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>attribute</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.AttributeHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name of the attribute as it must appear on the &lt;em&gt;composite
+ component tag&lt;/em&gt; in the &lt;em&gt;using page&lt;/em&gt;.
+ If the value of the
+ &lt;em&gt;name&lt;/em&gt; attribute is equal to (without the
+ quotes)
+ &amp;#8220;action&amp;#8221;, &amp;#8221;actionListener&amp;#8221;,
+ &amp;#8220;validator&amp;#8221;, or &amp;#8220;valueChangeListener&amp;#8221;,
+ the
+ action described in &lt;a target="_"
+ href="../../../javadocs/javax/faces/application/ViewHandler.html#retargetMethodExpressions(javax.faces.context.FacesContext,%20javax.faces.component.UIComponent)"&gt;ViewHandler.retargetMethodExpressions()&lt;/a&gt;
+ must be taken to handle the attribute. In these cases, the
+ &lt;code&gt;method-signature&lt;/code&gt; attribute, if present,
+ must be ignored as
+ its value is derived as described in
+ &lt;code&gt;retargetMethodExpressions()&lt;/code&gt;.&lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;If this element has a &lt;code&gt;method-signature&lt;/code&gt;
+ attribute, the
+ value of the &lt;code&gt;targets&lt;/code&gt; attribute must be
+ interpreted as a
+ space (not tab) separated list of client ids (relative to the
+ &lt;em&gt;top
+ level component&lt;/em&gt;) of components within the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Space is used as
+ the delimiter for compatibility with the IDREFS and NMTOKENS
+ data types
+ from the XML Schema. Each entry in the list must be interpreted
+ as the
+ id of an inner component to which the &lt;code&gt;MethodExpression&lt;/code&gt;
+ from
+ the &lt;em&gt;composite component tag&lt;/em&gt; in the &lt;em&gt;using
+ page&lt;/em&gt; must be
+ applied. If this element has a &lt;code&gt;method-signature&lt;/code&gt;
+ attribute,
+ but no &lt;code&gt;targets&lt;/code&gt; attribute, the value of
+ the
+ &lt;code&gt;name&lt;/code&gt; attribute is used as the single
+ entry in the list. If
+ the value of the &lt;code&gt;name&lt;/code&gt; attribute is &lt;strong&gt;not&lt;/strong&gt;
+ one
+ of the special values listed in the description of the &lt;code&gt;name
+ attribute&lt;/code&gt;, &lt;code&gt;targets&lt;/code&gt; (or its
+ derived value) need not
+ correspond to the id of an inner component.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <name>targets</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;If this attribute is not required, and a
+ value is not supplied by the page author, use this as
+ the default value.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>default</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name to display in a tool palette
+ containing this component. The value of this attribute will be
+ set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>displayName</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;True if the page author must supply a value
+ for this attribute.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this a "preferred" component. The value
+ of this attribute will be set as the value for this
+ property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>preferred</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this component only for expert users?
+ The value of this attribute will be set as the value for
+ this property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>expert</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;A short description of the purpose of this
+ component. The value of this attribute will be set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>shortDescription</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares that this attribute must be a &lt;code&gt;MethodExpression&lt;/code&gt;
+ whose method signature is described by the value of this
+ attribute. The
+ signature must be described using fully qualified class names
+ wherever a
+ type is required. This attribute is mutually exclusive with the
+ "type"
+ attribute. If both attributes are present, the
+ "method-signature"
+ attribute is ignored.&lt;/p&gt;
+
+ &lt;p&gt;PENDING: when this file is generated from the
+ web-facesuicomponent_2_0.xsd, we will not need to copy the
+ content here
+ manually.&lt;/p&gt;
+
+ &lt;p&gt;Provides the signature of the Java method. The syntax
+ of
+ the method-signature element is as follows (taken from
+ function-signature in web-jsptaglibrary_2_1.xsd):&lt;/p&gt;
+
+ &lt;p&gt;MethodSignature ::= ReturnType S MethodName S?
+ '(' S? Parameters? S? ')'&lt;/p&gt;
+
+ &lt;p&gt;ReturnType ::= Type&lt;/p&gt;
+
+ &lt;p&gt;MethodName ::= Identifier&lt;/p&gt;
+
+ &lt;p&gt;Parameters ::= Parameter
+ | ( Parameter S? ',' S? Parameters )&lt;/p&gt;
+
+ &lt;p&gt;Parameter ::= Type&lt;/p&gt;
+
+ &lt;p&gt;Where:&lt;/p&gt;
+
+ &lt;ul&gt;
+
+ &lt;li&gt;&lt;p&gt;Type is a basic type or a fully qualified
+ Java class name (including package name),
+ as per the 'Type' production in the Java
+ Language Specification, Second Edition,
+ Chapter 18.&lt;/p&gt;&lt;/li&gt;
+
+ &lt;li&gt;&lt;p&gt;Identifier is a Java identifier, as per
+ the 'Identifier' production in the Java
+ Language Specification, Second
+ Edition, Chapter 18.&lt;/p&gt;&lt;/li&gt;
+
+ &lt;/ul&gt;
+
+ &lt;p&gt;Example:&lt;/p&gt;
+
+ &lt;p&gt;&lt;code&gt;java.lang.String nickName(
+ java.lang.String, int )&lt;/code&gt;&lt;/p&gt;
+
+
+ &lt;/div&gt;
+
+ </description>
+ <name>method-signature</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares that this attribute must be a &lt;code&gt;ValueExpression&lt;/code&gt;
+ whose expected type is given by the value of this attribute. If
+ not
+ specified, and no "method-signature" attribute is present,
+ &lt;code&gt;java.lang.Object&lt;/code&gt; is assumed. This
+ attribute is mutually
+ exclusive with the "type" attribute. If both attributes are
+ present, the
+ "method-signature" attribute is ignored. &lt;/p&gt; &lt;/div&gt;
+
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;Declares that this composite component supports a facet
+ with the
+ name given by the value of the "name" attribute. &lt;/p&gt;
+
+ &lt;p&gt;Please see &lt;code&gt;&amp;lt;&lt;a
+ href="interface.html"&gt;composite:interface&lt;/a&gt;&amp;gt;&lt;/code&gt;
+ for a usage
+ example.&lt;/p&gt;
+
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>facet</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.DeclareFacetHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name of the attribute as it must appear
+ on the &lt;em&gt;composite component tag&lt;/em&gt; in the
+ &lt;em&gt;using page&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The name to display in a tool palette
+ containing this component. The value of this attribute will be
+ set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>displayName</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;True if the page author must supply a facet with this
+ name.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this a "preferred" facet. The value
+ of this attribute will be set as the value for this
+ property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>preferred</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Is this facet only for expert users?
+ The value of this attribute will be set as the value for
+ this property on the &lt;em&gt;composite component bean
+ descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>expert</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;A short description of the purpose of this
+ facet. The value of this attribute will be set as
+ the value for this property on the &lt;em&gt;composite
+ component bean descriptor&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>shortDescription</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;This element is used in the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. The facet with
+ the name equal to the value of the name attribute, given by the page
+ author in the using page, will be rendered at this point in the
+ composite component PDL page. &lt;/p&gt;
+
+
+ &lt;p&gt;The implementation of this tag handler must insert a
+ component with &lt;code&gt;component-type&lt;/code&gt;
+ &lt;code&gt;javax.faces.Output&lt;/code&gt; and &lt;code&gt;renderer-type&lt;/code&gt;
+ &lt;code&gt;javax.faces.CompositeFacet&lt;/code&gt; as a
+ child at this point in the component tree.&lt;/p&gt;
+
+ &lt;p&gt;The implementation of this tag handler must store an
+ attribute into
+ the created component's attribute map under the key given by the
+ value
+ of the symbolic constant &lt;code&gt;UIComponent.FACETS_KEY&lt;/code&gt;.
+ The value
+ for this key must be the evaluated value of the "name" attribute.&lt;/p&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>renderFacet</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.RenderFacetHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;The value of the name attribute as it must appear on an
+ &lt;code&gt;&amp;lt;f:facet&amp;gt;&lt;/code&gt; tag nested
+ within the &lt;em&gt;composite
+ component tag&lt;/em&gt; in the &lt;em&gt;using page&lt;/em&gt;.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;If &lt;code&gt;true&lt;/code&gt;, and there is no such
+ facet present on the top
+ level component, a &lt;code&gt;TagException&lt;/code&gt; must be
+ thrown, containing
+ the &lt;code&gt;Location&lt;/code&gt;, the facet name, and a
+ localized descriptive
+ error message.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;This element is used in the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Any child
+ components or template text within the composite component tag in
+ the
+ using page will be re-parented into the composite component at the
+ point
+ indicated by this tag's placement within the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. The normal
+ use-case for this element is to have only one occurrence within the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Inserting
+ multiple occurrences may cause duplicate id errors. The results are
+ undefined if there are multiple occurrences of this element in the
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section.&lt;/p&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>insertChildren</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.InsertChildrenHandler</handler-class>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares that the composite component whose
+ contract is declared by the
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt; in
+ which this
+ element is nested exposes an implementation of
+ &lt;code&gt;ValueHolder&lt;/code&gt; suitable for use as the target
+ of
+ &lt;em&gt;attached objects&lt;/em&gt; in &lt;em&gt;the using page&lt;/em&gt;.
+ Any attached objects suitable for implementations of
+ &lt;code&gt;ValueHolder&lt;/code&gt; may be attached to the
+ composite
+ component. Consider this excerpt from &lt;em&gt;the using
+ page&lt;/em&gt;:
+ &lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;ez:foo&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:converter &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;userid&amp;quot;&lt;/span&gt; binding=&lt;span
+ class="st0"&gt;&amp;quot;#{bean.converter}&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/ez:foo&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;Line 2 refers to the
+ &lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;
+ declaration on
+ line 2 of &lt;code&gt;foo.xhtml&lt;/code&gt;:&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:valueHolder &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;userid&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:implementation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;h:inputText &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;userid&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;&lt;/p&gt;
+
+ &lt;p&gt;It is possible to declare that a single
+ &lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;
+ element should cause multiple
+ components within the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section to be the targets of an &lt;em&gt;attached object&lt;/em&gt;
+ in the
+ using page. Assuming the same &lt;em&gt;using page&lt;/em&gt;
+ excerpt as
+ above, the revised &lt;em&gt;PDL page&lt;/em&gt; is:&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:valueHolder targets=&lt;span
+ class="st0"&gt;&amp;quot;userid,password&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:implementation&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;h:inputText &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;userid&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;h:inputText &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;password&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:implementation&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;In this case, the "targets" attribute on the
+ &lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;
+ element, on line 2 above,
+ replaces the "name" attribute in the previous example. "targets" is
+ a
+ list of ids of client ids (relative to the &lt;em&gt;top level
+ component&lt;/em&gt;)
+ within the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. In
+ this case, "targets" refers to the &lt;code&gt;&amp;lt;h:inputText&amp;gt;&lt;/code&gt;
+ components on lines 6 and 7 above.&lt;/p&gt;
+
+ &lt;p&gt;Please see &lt;code&gt;&amp;lt;&lt;a
+ href="interface.html"&gt;composite:interface&lt;/a&gt;&amp;gt;&lt;/code&gt;
+ for a usage
+ example.&lt;/p&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>valueHolder</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.ValueHolderAttachedObjectTargetHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;
+ The value of this attribute maps back to the "for" attribute on
+ an attachable object
+ nested within a composite component. If the "targets" attribute
+ is not specified,
+ this value also represents the component ID of the target
+ component within the
+ that the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ ActionListener should be mapped to.
+ &lt;/p&gt;
+ &lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;If present, this must be a space (not tab) separated
+ list of client
+ ids (relative to the &lt;em&gt;top level component&lt;/em&gt;)
+ of components within
+ the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Space is
+ used as the delimiter for compatibility with the IDREFS and
+ NMTOKENS
+ data types from the XML Schema. &lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>targets</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares that the composite component whose
+ contract is declared by the
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt; in
+ which this
+ element is nested exposes an implementation of
+ &lt;code&gt;EditableValueHolder&lt;/code&gt; suitable for use as the
+ target of &lt;em&gt;attached objects&lt;/em&gt; in &lt;em&gt;the
+ using
+ page&lt;/em&gt;. Any attached objects suitable for
+ implementations of &lt;code&gt;EditableValueHolder&lt;/code&gt; may
+ be
+ attached to the composite component.The example from &lt;a
+ href="valueHolder.html"&gt;&lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;&lt;/a&gt;
+ still applies.
+ &lt;/p&gt;
+
+ &lt;p&gt;Please see &lt;code&gt;&amp;lt;&lt;a
+ href="interface.html"&gt;composite:interface&lt;/a&gt;&amp;gt;&lt;/code&gt;
+ for a usage
+ example.&lt;/p&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>editableValueHolder</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.EditableValueHolderAttachedObjectTargetHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;
+ The value of this attribute maps back to the "for" attribute on
+ an attachable object
+ nested within a composite component. If the "targets" attribute
+ is not specified,
+ this value also represents the component ID of the target
+ component within the
+ that the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ ActionListener should be mapped to.
+ &lt;/p&gt;
+ &lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;If present, this must be a space (not tab) separated
+ list of client
+ ids (relative to the &lt;em&gt;top level component&lt;/em&gt;)
+ of components within
+ the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Space is
+ used as the delimiter for compatibility with the IDREFS and
+ NMTOKENS
+ data types from the XML Schema.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>targets</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Declares that the composite component whose
+ contract is declared by the
+ &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt; in
+ which this
+ element is nested exposes an implementation of
+ &lt;code&gt;ActionSource2&lt;/code&gt; suitable for use as the
+ target of
+ &lt;em&gt;attached objects&lt;/em&gt; in &lt;em&gt;the using page&lt;/em&gt;.
+ Any attached objects suitable for implementations of
+ &lt;code&gt;ActionSource2&lt;/code&gt; may be attached to the
+ composite
+ component. Consider this excerpt from &lt;em&gt;the using
+ page&lt;/em&gt;:
+ &lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;ez:loginPanel &lt;span
+ class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;loginPanel&amp;quot;&lt;/span&gt;
+ model=&lt;span class="st0"&gt;&amp;quot;#{bean}&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:valueChangeListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;username&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; binding=&lt;span class="st0"&gt;&amp;quot;#{bean.useridValueChangeListener}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:actionListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;loginEvent&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; binding=&lt;span class="st0"&gt;&amp;quot;#{bean.loginEventListener}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:actionListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;cancelEvent&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; binding=&lt;span class="st0"&gt;&amp;quot;#{bean.cancelEventListener}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:actionListener &lt;span class="kw3"&gt;for&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;allEvents&amp;quot;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; binding=&lt;span class="st0"&gt;&amp;quot;#{bean.allEventsListener}&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/ez:loginPanel&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;The &lt;code&gt;&amp;lt;f:actionListener&amp;gt;&lt;/code&gt;
+ elements on lines 4, 7, and 10
+ refer to the &lt;em&gt;attached objects&lt;/em&gt; declared on lines
+ 2, 3 and 4 below.&lt;/p&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;composite:interface
+ &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;loginPanel&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;loginEvent&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;cancelEvent&amp;quot;&lt;/span&gt; /&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;composite:actionSource &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;allEvents&amp;quot;&lt;/span&gt; targets=&lt;span
+ class="st0"&gt;&amp;quot;loginEvent,cancelEvent&amp;quot;&lt;/span&gt;
+ /&lt;span class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/composite:interface&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;Most of the concepts from example content from &lt;a
+ href="valueHolder.html"&gt;&lt;code&gt;&amp;lt;composite:valueHolder&amp;gt;&lt;/code&gt;&lt;/a&gt;
+ also applies in the case of
+ &lt;code&gt;&amp;lt;composite:actionSource&amp;gt;&lt;/code&gt;.&lt;/p&gt;
+
+ &lt;p&gt;Please see &lt;code&gt;&amp;lt;&lt;a
+ href="interface.html"&gt;composite:interface&lt;/a&gt;&amp;gt;&lt;/code&gt;
+ for a usage
+ example.&lt;/p&gt;
+
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>actionSource</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.ActionSource2AttachedObjectTargetHandler</handler-class>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;
+ The value of this attribute maps back to the "for" attribute on
+ an attachable object
+ nested within a composite component. If the "targets" attribute
+ is not specified,
+ this value also represents the component ID of the target
+ component within the
+ that the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ ActionListener should be mapped to.
+ &lt;/p&gt;
+ &lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;If present, this must be a space (not tab) separated
+ list of client
+ ids (relative to the &lt;em&gt;top level component&lt;/em&gt;)
+ of components within
+ the &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section. Space is
+ used as the delimiter for compatibility with the IDREFS and
+ NMTOKENS
+ data types from the XML Schema.&lt;/p&gt;&lt;/div&gt;
+
+ </description>
+ <name>targets</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Used within a &lt;code&gt;&amp;lt;composite:interface&amp;gt;&lt;/code&gt;
+ section,
+ within any sub-element of that section, to include XML content not
+ defined by this specification. This element can be used to
+ incorporate
+ &lt;a target="_" href="http://jcp.org/en/jsr/detail?id=276"&gt;JSR-276&lt;/a&gt;
+ metadata into a composite component.&lt;/p&gt;
+
+ &lt;/div&gt;
+ </description>
+ <tag-name>extension</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.ExtensionHandler</handler-class>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;The presence of this tag in a
+ &lt;code&gt;&amp;lt;composite:implementation&amp;gt;&lt;/code&gt;
+ section must cause the
+ named facet to be taken from the facet map of the &lt;em&gt;top
+ level
+ component&lt;/em&gt; and inserted as a facet child of the component
+ in which
+ this element is nested.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <tag-name>insertFacet</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.composite.InsertFacetHandler</handler-class>
+ <attribute>
+ <description>
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;The name of the facet child on the &lt;em&gt;top level
+ component&lt;/em&gt; which
+ must be inserted as a facet child of the component in which this
+ element
+ is nested.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;If &lt;code&gt;true&lt;/code&gt;, and there is no such
+ facet present on the top
+ level component, a &lt;code&gt;TagException&lt;/code&gt; must be
+ thrown, containing
+ the &lt;code&gt;Location&lt;/code&gt;, the facet name, and a
+ localized descriptive
+ error message.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ </tag>
+</facelet-taglib>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/facelets_jsf_core.taglib.xml b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/facelets_jsf_core.taglib.xml
new file mode 100644
index 000000000..592028ccf
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/facelets_jsf_core.taglib.xml
@@ -0,0 +1,2056 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
+ version="2.0">
+ <description>
+ The core JavaServer Faces custom actions that are independent of
+ any particular RenderKit.
+ </description>
+ <namespace>http://java.sun.com/jsf/core</namespace>
+ <tag>
+ <description>
+
+ &lt;p&gt;Register an ActionListener instance on the
+ UIComponent associated with the closest parent UIComponent
+ custom action.&lt;/p&gt;
+ </description>
+ <tag-name>actionListener</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ActionListenerHandler</handler-class>
+ <attribute>
+ <description>
+ Fully qualified Java class name of an ActionListener to be
+ created and registered.
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value binding expression that evaluates to an object that
+ implements javax.faces.event.ActionListener.
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.event.ActionListener</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Add an attribute to the UIComponent associated with the closest
+ parent UIComponent custom action.
+ </description>
+ <tag-name>attribute</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.AttributeHandler</handler-class>
+ <attribute>
+ <description>
+ The name of the component attribute to be set.
+ </description>
+ <name>name</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The value of the component attribute to be set.
+ </description>
+ <name>value</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a DateTimeConverter instance on the UIComponent associated
+ with the closest parent UIComponent custom action.
+ </description>
+ <tag-name>convertDateTime</tag-name>
+ <converter>
+ <converter-id>javax.faces.DateTime</converter-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ConvertDateTimeHandler</handler-class>
+ </converter>
+ <attribute>
+ <description>
+ Predefined formatting style which determines how the date
+ component of a date string is to be formatted and parsed.
+ Applied only if type is "date" or "both". Valid values
+ are "default", "short", "medium", "long", and "full".
+ Default value is "default".
+ </description>
+ <name>dateStyle</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Locale whose predefined styles for dates and times are used
+ during formatting or parsing. If not specified, the Locale
+ returned by FacesContext.getViewRoot().getLocale() will be used.
+ Value must be either a VB expression that evaluates to a
+ java.util.Locale instance, or a String that is valid to pass as
+ the first argument to the constructor java.util.Locale(String
+ language, String country). The empty string is passed as the
+ second argument.
+ </description>
+ <name>locale</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Custom formatting pattern which determines how the
+ date/time string should be formatted and parsed.
+ </description>
+ <name>pattern</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Predefined formatting style which determines how the
+ time component of a date string is to be formatted and
+ parsed. Applied only if type is "time" or "both".
+ Valid values are "default", "short", "medium", "long",
+ and "full". Default value is "default".
+ </description>
+ <name>timeStyle</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Time zone in which to interpret any time information in the date
+ String. Value must be either a VB expression that evaluates to
+ a java.util.TimeZone instance, or a String that is a timezone ID
+ as described in the javadocs for
+ java.util.TimeZone.getTimeZone().
+ </description>
+ <name>timeZone</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Specifies what contents the string value will be
+ formatted to include, or parsed expecting. Valid
+ values are "date", "time", and "both". Default
+ value is "date".
+ </description>
+ <name>type</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ javax.faces.convert.DateTimeConverter.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.convert.DateTimeConverter</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a NumberConverter instance on the UIComponent associated
+ with the closest parent UIComponent custom action.
+ </description>
+ <tag-name>convertNumber</tag-name>
+ <converter>
+ <converter-id>javax.faces.Number</converter-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ConvertNumberHandler</handler-class>
+ </converter>
+ <attribute>
+ <description>
+ ISO 4217 currency code, applied only when
+ formatting currencies.
+ </description>
+ <name>currencyCode</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Currency symbol, applied only when formatting
+ currencies.
+ </description>
+ <name>currencySymbol</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag specifying whether formatted output will
+ contain grouping separators. Expressions must
+ evaluate to a boolean. Default value
+ is true.
+ </description>
+ <name>groupingUsed</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag specifying whether only the integer part
+ of the value will be formatted and parsed.
+ Expressions must evaluate to a boolean.
+ Default value is false.
+ </description>
+ <name>integerOnly</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>&lt;p&gt;
+
+ &lt;span class="changed_modified_2_0"&gt;Locale&lt;/span&gt;
+ whose
+ predefined styles for numbers are used during formatting
+ and parsing. If not specified, the Locale returned by
+ FacesContext.getViewRoot().getLocale() will be used.
+ Expressions must evaluate to a java.util.Locale &lt;span
+ class="changed_modified_2_0"&gt;or a String that is valid to
+ pass as the first argument to the constructor
+ java.util.Locale(String language, String country). The
+ empty string is passed as the second argument.&lt;/span&gt;
+
+ &lt;/p&gt;</description>
+ <name>locale</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Maximum number of digits that will be formatted
+ in the fractional portion of the output. Expressions
+ must evaluate to an int.
+ </description>
+ <name>maxFractionDigits</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ Maximum number of digits that will be formatted
+ in the integer portion of the output. Expressions
+ must evaluate to an int.
+ </description>
+ <name>maxIntegerDigits</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ Minimum number of digits that will be formatted
+ in the fractional portion of the output. Expressions
+ must evaluate to an int.
+ </description>
+ <name>minFractionDigits</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ Minimum number of digits that will be formatted
+ in the integer portion of the output. Expressions
+ must evaluate to an int.
+ </description>
+ <name>minIntegerDigits</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ Custom formatting pattern which determins how the
+ number string should be formatted and parsed.
+ </description>
+ <name>pattern</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Specifies how the number string will be formatted
+ and parsed. Valid values are "number", "currency",
+ and "percent". Default value is "number".
+ </description>
+ <name>type</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ javax.faces.convert.NumberConverter.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.convert.NumberConverter</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a named Converter instance on the UIComponent
+ associated with the closest parent UIComponent custom action.
+ </description>
+ <tag-name>converter</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ConvertDelegateHandler</handler-class>
+ <attribute>
+ <description>
+ Converter identifier of the Converter instance to be
+ created and registered.
+ </description>
+ <name>converterId</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an object that
+ implements javax.faces.convert.Converter.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Register an AjaxBehavior instance
+ on one or more
+ UIComponents implementing the ClientBehaviorHolder interface. This
+ tag
+ may be nested witin a single component (enabling Ajax for a single
+ component),
+ or it may be "wrapped" around multiple components (enabling Ajax for
+ many components).&lt;/p&gt;
+
+ </description>
+ <tag-name>ajax</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.AjaxHandler</handler-class>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A value of "true" indicates
+ the
+ AjaxBehavior should not be rendered. A value of "false"
+ indicates
+ the AjaxBehavior should be rendered. "false" is the default.&lt;/p&gt;
+
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A String identifying the type
+ of event
+ the Ajax action will apply to. If specified, it must be one of
+ the
+ events supported by the component the Ajax behavior is being
+ applied to.
+ For HTML components this would be the set of supported DOM
+ events for the
+ component, plus "action" for Faces ActionSource components and
+ "valueChange"
+ for Faces EditableValueHolder components. If not specified, the
+ default
+ event is determined for the component. The DOM event name is the
+ actual DOM
+ event name (for example: "click") as opposed to (for example:
+ "onclick").&lt;/p&gt;
+
+ </description>
+ <name>event</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;Evaluates to Collection&lt;String&gt;.
+ Identifiers of
+ components that will participate in the "execute" portion of the
+ Request
+ Processing Lifecycle. If a literal is specified the identifiers
+ must be space
+ delimited. Any of the keywords "@this", "@form", "@all", "@none"
+ may be specified
+ in the identifier list.&lt;/p&gt;
+
+ </description>
+ <name>execute</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;If "true" behavior events
+ generated from this behavior
+ are broadcast during Apply Request Values phase. Otherwise, the
+ events will be
+ broadcast during Invoke Aplications phase&lt;/p&gt;
+
+ </description>
+ <name>immediate</name>
+ <required>false</required>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;Method expression referencing
+ a method
+ that will be called when an AjaxBehaviorEvent has been
+ broadcast for the listener.&lt;/p&gt;
+
+ </description>
+ <name>listener</name>
+ <required>false</required>
+ <method-signature>public void
+ processAjaxBehavior(javax.faces.event.AjaxBehaviorEvent event)
+ throws javax.faces.event.AbortProcessingException
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;The name of the JavaScript
+ function that will handle UI events.&lt;/p&gt;
+
+ </description>
+ <name>onevent</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;The name of the JavaScript
+ function that will handle errors.&lt;/p&gt;
+
+ </description>
+ <name>oneerror</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;Evaluates to Collection&lt;String&gt;.
+ Identifiers of
+ components that will participate in the "render" portion of the
+ Request
+ Processing Lifecycle. If a literal is specified the identifiers
+ must be space
+ delimited. Any of the keywords "@this", "@form", "@all", "@none"
+ may be specified
+ in the identifier list.&lt;/p&gt;
+
+ </description>
+ <name>render</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Allow JSF page authors to
+ install &lt;code&gt;ComponentSystemEventListener&lt;/code&gt;
+ instances
+ on a component in a page.&lt;/p&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <tag-name>event</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.EventHandler</handler-class>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Name of the event for which
+ to install a listener. The following table lists the
+ valid values for this attribute, and the corresponding
+ event type for which the listener action is
+ registered.&lt;/p&gt;
+
+ &lt;table border="1"&gt;
+ &lt;tr&gt;
+
+ &lt;th&gt;value for "&lt;code&gt;type&lt;/code&gt;" tag
+ attribute&lt;/th&gt;
+
+ &lt;th&gt;Type of event sent to listener method
+ &lt;/th&gt;
+
+ &lt;/tr&gt;
+
+ &lt;tr&gt;
+
+ &lt;td&gt;preRenderComponent
+ &lt;/td&gt;
+
+ &lt;td&gt;javax.faces.event.PreRenderComponentEvent
+ &lt;/td&gt;
+
+ &lt;/tr&gt;
+
+ &lt;tr&gt;
+
+ &lt;td&gt;PostAddToView
+ &lt;/td&gt;
+
+ &lt;td&gt;javax.faces.event.PostAddToViewEvent
+ &lt;/td&gt;
+
+ &lt;/tr&gt;
+
+ &lt;tr&gt;
+
+ &lt;td&gt;preValidate
+ &lt;/td&gt;
+
+ &lt;td&gt;javax.faces.event.PreValidateEvent
+ &lt;/td&gt;
+
+ &lt;/tr&gt;
+
+ &lt;tr&gt;
+
+ &lt;td&gt;postValidate
+ &lt;/td&gt;
+
+ &lt;td&gt;javax.faces.event.PostValidateEvent
+ &lt;/td&gt;
+
+ &lt;/tr&gt;
+
+ &lt;/table&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;In addition to these values, the fully qualified class
+ name of any
+ java class that extends
+ &lt;code&gt;javax.faces.event.ComponentSystemEvent&lt;/code&gt;
+ may be used as the
+ value of the "type" attribute.&lt;/p&gt;
+
+ &lt;p&gt;Also, the &lt;code&gt;@javax.faces.event.NamedEvent&lt;/code&gt;
+ annotation may
+ be attached to any java class that extends
+ &lt;code&gt;javax.faces.event.ComponentSystemEvent&lt;/code&gt;.
+ This enables that
+ event to be referenced from this attribute, as descibed in the
+ javadocs
+ for &lt;code&gt;@NamedEvent&lt;/code&gt;.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+
+ </description>
+ <name>type</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression pointing to a method expression of
+ that will be called when the listener's processEvent
+ method would have been called.
+ </description>
+ <name>listener</name>
+ <required>true</required>
+ <method-signature>public void
+ listener(javax.faces.event.ComponentSystemEvent event) throws
+ javax.faces.event.AbortProcessingException
+ </method-signature>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p&gt;Register a named facet on the UIComponent associated with
+ the closest parent UIComponent custom action.&lt;/p&gt;
+
+
+ </description>
+ <tag-name>facet</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.FacetHandler</handler-class>
+ <attribute>
+ <description>
+ Name of the facet to be created.
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Declare the metadata facet for
+ this view. This must be a child of the
+ &lt;code&gt;&amp;lt;f:view&amp;gt;&lt;/code&gt;. This tag must
+ reside within the
+ top level XHTML file for the given viewId, not in a
+ template. The implementation must insure that the direct
+ child of the facet is a &lt;code&gt;UIPanel&lt;/code&gt;, even if
+ there
+ is only one child of the facet. The implementation must set
+ the id of the &lt;code&gt;UIPanel&lt;/code&gt; to be the value of
+ the
+ &lt;code&gt;UIViewRoot.METADATA_FACET_NAME&lt;/code&gt; symbolic
+ constant.&lt;/p&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;The implementation must allow templating for this element
+ according
+ to the following pattern.&lt;/p&gt;
+
+ &lt;p&gt;viewId XHTML page, page01.xhtml&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ &lt;div class="html4strict" style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li
+ class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;ui:composition
+ template=&lt;span class="st0"&gt;&amp;quot;template.xhtml&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&amp;lt;ui:define &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;metadata&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;f:metadata&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;f:viewParam
+ &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;/&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/f:metadata&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:define&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&amp;lt;ui:define &lt;span class="kw3"&gt;name&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;&lt;/span&gt;The
+ big news stories of the day&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:define&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/ui:composition&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+ &lt;p&gt;Note line 4. The page author must ensure that the
+ &lt;code&gt;&amp;lt;f:metadata&amp;gt;&lt;/code&gt; element does not
+ appear on a template or
+ included page. It must reside on the root page that corresponds to
+ the
+ viewId.&lt;/p&gt;
+
+ &lt;p&gt;The template page, template.xhtml&lt;/p&gt;
+
+ &lt;/div&gt;
+
+
+ &lt;div class="html4strict" style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li
+ class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;html&lt;/span&gt; xmlns=&lt;span class="st0"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; xmlns:ui=&lt;span class="st0"&gt;&amp;quot;http://java.sun.com/jsf/facelets&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; xmlns:f=&lt;span class="st0"&gt;&amp;quot;http://java.sun.com/jsf/core&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; xml:&lt;span class="kw3"&gt;lang&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;en&amp;quot;&lt;/span&gt; &lt;span
+ class="kw3"&gt;lang&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;en&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;f:view&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;ui:insert &lt;span
+ class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;metadata&amp;quot;&lt;/span&gt;/&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;div&lt;/span&gt;
+ &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;container&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &lt;span class="sc2"&gt;&amp;lt;ui:insert &lt;span
+ class="kw3"&gt;name&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;content&amp;quot;&lt;/span&gt;/&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &lt;span class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;&lt;/span&gt;/f:view&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="sc2"&gt;&lt;span
+ class="kw2"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p&gt;The page author is not &lt;em&gt;required&lt;/em&gt; to use
+ templating, but if
+ they do, it must be done as shown above, (or with
+ &lt;code&gt;&amp;lt;ui:include&amp;gt;&lt;/code&gt; in a similar
+ manner).&lt;/p&gt;
+
+ &lt;/div&gt;
+
+
+ </description>
+ <tag-name>metadata</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.MetadataHandler</handler-class>
+ </tag>
+ <tag>
+ <description>
+ Load a resource bundle localized for the Locale of the current
+ view, and expose it as a java.util.Map in the request attributes
+ of the current request under the key specified by the value of the
+ "var" attribute of this tag. The Map must behave such that if a
+ get() call is made for a key that does not exist in the Map, the
+ literal string ???KEY??? is returned from the Map, where KEY is
+ the key being looked up in the Map, instead of a
+ MissingResourceException being thrown. If the ResourceBundle does
+ not exist, a JspException must be thrown.
+ </description>
+ <tag-name>loadBundle</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.LoadBundleHandler</handler-class>
+ <attribute>
+ <description>
+ Base name of the resource bundle
+ to be loaded.
+ </description>
+ <name>basename</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of a request scope attribute under which
+ the resource bundle will be exposed as a Map.
+ </description>
+ <name>var</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Add a child UIParameter component to the UIComponent
+ associated with the closest parent UIComponent custom
+ action.
+ </description>
+ <tag-name>param</tag-name>
+ <component>
+ <component-type>javax.faces.Parameter</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ ValueExpression to a backing bean
+ property bound to the component instance for
+ the UIComponent created by this custom action.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ <attribute>
+ <description>
+ Component identifier of the UIParameter component
+ to be created.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of the parameter to be created.
+ </description>
+ <name>name</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value of the parameter to be set.
+ </description>
+ <name>value</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ RELEASE_PENDING
+ - Also update spec for bookmarkable URL (don't forget the two
+ sources for include-view-params).
+ - convey precendence feature using non-normative language
+ vs algorithmic
+ Flag enabling or disabling the inclusion of the parameter
+ </description>
+ <name>disable</name>
+ <type>boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Used inside of the metada facet
+ of a view, this tag causes a &lt;a target="_"
+ href="../../../javadocs/javax/faces/component/UIViewParameter.html"&gt;UIViewParameter&lt;/a&gt;
+ to be attached as metadata for the current view. Because
+ &lt;code&gt;UIViewParameter&lt;/code&gt; extends &lt;code&gt;UIInput&lt;/code&gt;
+ all of the attributes and nested child content for any
+ &lt;code&gt;UIInput&lt;/code&gt; tags are valid on this tag as well.&lt;/p&gt;
+
+ </description>
+ <tag-name>viewParam</tag-name>
+ <component>
+ <component-type>javax.faces.Parameter</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ The name of the request parameter from which the value for this component
+ is retrieved on an initial request or to override the stored value on a
+ postback.
+ </description>
+ <name>name</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression to which the value of the request parameter, as
+ determined by the name attribute, is bound. The resolved value of this
+ expression is used when encoding the view parameter into a bookmarkable link or
+ redirect URL with view parameter encoding enabled. If this attribute is omitted,
+ the value of the request parameter will instead be the local value of the
+ UIViewParameter.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ The maximum number of characters that may
+ be entered in this field.
+ </description>
+ <name>maxlength</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a PhaseListener instance on the UIViewRoot in which
+ this tag is nested.
+ </description>
+ <tag-name>phaseListener</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.PhaseListenerHandler</handler-class>
+ <attribute>
+ <description>
+ Fully qualified Java class name of an PhaseListener to be
+ created and registered.
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value binding expression that evaluates to an object that
+ implements javax.faces.event.PhaseListener.
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.event.PhaseListener</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Add a child UISelectItem component to the UIComponent
+ associated with the closest parent UIComponent custom
+ action.
+ </description>
+ <tag-name>selectItem</tag-name>
+ <component>
+ <component-type>javax.faces.SelectItem</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ Value binding expression to a backing bean
+ property bound to the component instance for
+ the UIComponent created by this custom action.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ <attribute>
+ <description>
+ Component identifier of the UISelectItem
+ component to be created.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Description of this option, for use in
+ development tools.
+ </description>
+ <name>itemDescription</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the option created
+ by this component is disabled. Expressions
+ must evaluate to a boolean. Default value
+ is false.
+ </description>
+ <name>itemDisabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Label to be displayed to the user
+ for this option.
+ </description>
+ <name>itemLabel</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that characters that are sensitive in
+ the value of the &lt;code&gt;itemLabel&lt;/code&gt;
+ attribute must be escaped. This flag is set to "true" by
+ default.
+ </description>
+ <name>escape</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value to be returned to the server if this
+ option is selected by the user.
+ </description>
+ <name>itemValue</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value binding expression pointing at a
+ SelectItem instance containing the
+ information for this option.
+ </description>
+ <name>value</name>
+ <type>javax.faces.model.SelectItem</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the option created by this
+ component represents the special "no selection"
+ option. Expressions must evaluate to a boolean.
+ Default value is false.
+ </description>
+ <name>noSelectionOption</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span class="changed_modified_2_0"&gt;Add&lt;/span&gt; a
+ child UISelectItems component to the UIComponent associated
+ with the closed parent UIComponent custom action.&lt;/p&gt;
+
+ &lt;p class="changed_modified_2_0"&gt;When iterating over the
+ select items, &lt;code&gt;toString()&lt;/code&gt; mest be called on
+ the
+ string rendered attribute values.&lt;/p&gt;
+
+ &lt;p class="changed_added_2_0"&gt;Version 2 of the specification
+ introduces
+ several new attributes, described below. These are: var, itemValue,
+ itemLabel, itemDescription, itemDisabled, and itemLabelEscaped.&lt;/p&gt;
+
+
+ </description>
+ <tag-name>selectItems</tag-name>
+ <component>
+ <component-type>javax.faces.SelectItems</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ Value binding expression to a backing bean
+ property bound to the component instance for
+ the UIComponent created by this custom action.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ <attribute>
+ <description>
+ Component identifier of the UISelectItems
+ component to be created.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;p&gt;Value expression pointing at &lt;span
+ class="changed_modified_2_0"&gt;any &lt;code&gt;Collection&lt;/code&gt;
+ or array.&lt;/span&gt; The member elements may be instances of
+ &lt;code&gt;SelectItem&lt;/code&gt; &lt;span
+ class="changed_added_2_0"&gt;or any Java Object. In the
+ case where the member elements are plain Java Objects,
+ several additional attributes must be used by the page
+ author to correctly identify the data to the enclosing
+ &lt;code&gt;UISelectOne&lt;/code&gt; or &lt;code&gt;UISelectMany&lt;/code&gt;
+ component, as shown in the following example.&lt;/span&gt;
+
+ &lt;div class="syntax"&gt;&lt;div class="html4strict"
+ style="font-family: monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div
+ class="de1"&gt;&lt;span class="sc2"&gt;&amp;lt;h:selectOneListbox
+ &lt;span class="kw3"&gt;size&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;
+ &lt;span class="kw3"&gt;id&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;escape02&amp;quot;&lt;/span&gt;
+ &lt;span class="kw3"&gt;value&lt;/span&gt;=&lt;span class="st0"&gt;&amp;quot;#{select05NoSelection.initialCollectionValues}&amp;quot;&lt;/span&gt;&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &lt;span
+ class="sc2"&gt;&amp;lt;f:selectItems &lt;span class="kw3"&gt;value&lt;/span&gt;=&lt;span
+ class="st0"&gt;&amp;quot;#{select05NoSelection.hobbitList}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;var=&lt;span class="st0"&gt;&amp;quot;n&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;itemValue=&lt;span class="st0"&gt;&amp;quot;#{n}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;itemLabel=&lt;span class="st0"&gt;&amp;quot;#{n.bio}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;itemDescription=&lt;span class="st0"&gt;&amp;quot;#{n.description}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;itemDisabled=&lt;span class="st0"&gt;&amp;quot;#{n.disabled}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;itemLabelEscaped=&lt;span class="st0"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li1"&gt;&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp;
+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
+ &amp;nbsp;noSelectionValue=&lt;span class="st0"&gt;&amp;quot;#{select05NoSelection.hobbitList[0]}&amp;quot;&lt;/span&gt;/&lt;span
+ class="kw2"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
+ &lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span
+ class="sc2"&gt;&lt;span class="kw2"&gt;&amp;lt;&lt;/span&gt;/h:selectOneListbox&amp;gt;&lt;/span&gt;
+ &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;
+
+ &lt;p class="changed_added_2_0"&gt;In the preceding example, the
+ &lt;code&gt;value&lt;/code&gt; attribute on line 1 points to a
+ &lt;code&gt;Collection&amp;lt;HobbitBean&amp;gt;&lt;/code&gt;.
+ &lt;code&gt;HobbitBean&lt;/code&gt; is
+ just a regular Java Object (POJO) that conforms to JavaBeans
+ naming
+ conventions for its properties. The &lt;code&gt;value&lt;/code&gt;
+ attribute on
+ line 2 points to a &lt;code&gt;List&amp;lt;HobbitBean&amp;gt;&lt;/code&gt;,
+ though it could
+ just as well point to a &lt;code&gt;Collection&lt;/code&gt;,
+ array, or
+ &lt;code&gt;javax.faces.model.DataModel&lt;/code&gt;. The
+ attributes on lines 3
+ through 9, inclusive, leverage the fact that the value is a
+ collection
+ of POJOs.
+ &lt;/p&gt;
+
+
+ &lt;/p&gt;
+
+
+ </description>
+ <name>value</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;p class="changed_added_2_0"&gt;Expose the value from the
+ &lt;code&gt;value&lt;/code&gt; attribute under this request
+ scoped key so that it
+ may be referred to in EL for the value of other attributes.&lt;/p&gt;
+
+
+ </description>
+ <name>var</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;evaluates to a
+ &lt;code&gt;Collection&lt;/code&gt;, array, or &lt;code&gt;Map&lt;/code&gt;
+ from which the items
+ to be shown will be rendered.&lt;/p&gt;
+
+ </description>
+ <name>itemValue</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;evaluates to a String that
+ will
+ serve as the label to be shown for the item.&lt;/p&gt;
+
+ </description>
+ <name>itemLabel</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+
+ &lt;p class="changed_added_2_0"&gt;evaluates to a String that
+ will
+ serve as the description to be shown for the item.&lt;/p&gt;
+
+ </description>
+ <name>itemDescription</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;evaluates to a boolean that
+ will
+ determine if the item value is selectable or not.&lt;/p&gt;
+
+ </description>
+ <name>itemDisabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;evaluates to a boolean that
+ will
+ determine if the rendered markup for the item receives normal
+ JSF HTML escaping or not.&lt;/p&gt;
+
+ </description>
+ <name>itemLabelEscaped</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;Is either an EL expression
+ pointing to the element in the value collection whose value
+ should be
+ marked as a &amp;#8220;no selection&amp;#8221; item, or a
+ literal string that
+ exactly matches the value of the item in the collection that
+ must be
+ marked as the &amp;#8220;no selection&amp;#8221; item. If the
+ user selects such
+ an item &lt;strong&gt;and&lt;/strong&gt; the field is marked as
+ required, then it
+ will not pass validation.&lt;/p&gt;
+
+ </description>
+ <name>itemLabelEscaped</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Register an ActionListener instance on the UIComponent
+ associated with the closest parent UIComponent custom action.
+ This actionListener will cause the value given by the "value"
+ attribute to be set into the ValueExpression given by the "target"
+ attribute.&lt;/p&gt;
+
+ &lt;p&gt;The implementation of this tag creates a special
+ &lt;code&gt;ActionListener&lt;/code&gt; instance and registers it on
+ the
+ &lt;code&gt;ActionSource&lt;/code&gt; associated with our most
+ immediate surrounding
+ instance of a tag whose implementation class is a subclass of
+ &lt;code&gt;UIComponentTag&lt;/code&gt;. This tag creates no output
+ to the page
+ currently being created.&lt;/p&gt;
+
+ &lt;p&gt;The &lt;code&gt;ActionListener&lt;/code&gt; instance
+ created and installed by
+ this tag has the following behavior and contract.&lt;/p&gt;
+
+ &lt;ul&gt;
+
+ &lt;li&gt;Only create and register the &lt;code&gt;ActionListener&lt;/code&gt;
+ instance
+ the first time the component for this tag is created&lt;/li&gt;
+
+ &lt;li&gt;The "target" and "value" tag attributes are
+ ValueExpression
+ instances and are stored unevaluated as instance variables of the
+ listener.&lt;/li&gt;
+
+ &lt;li&gt;When the listener executes, perform the following:
+ &lt;ul&gt;
+ Call getValue() on the "value" ValueExpression.
+ &lt;/ul&gt;
+ &lt;ul&gt;
+ If value of the "value" expression is null, call setValue() on
+ the "target" ValueExpression with the null value.
+ &lt;/ul&gt;
+ &lt;ul&gt;
+ If the value of the "value" expression is not null, call getType()
+ on the "value" and "target" ValueExpressions to determine their
+ property types.
+ &lt;/ul&gt;
+ &lt;ul&gt;
+ Coerce the value of the "value" expression to the "target"
+ expression value type following the Expression Language coercion
+ rules. Call setValue() on the "target" ValueExpression with the
+ resulting value.
+ &lt;/ul&gt;
+ &lt;ul&gt;
+ If either coercion or the execution of setValue() fails throw an
+ AbortProcessingException.
+ &lt;/ul&gt;
+ &lt;/li&gt;
+
+ &lt;/ul&gt;
+ </description>
+ <tag-name>setPropertyActionListener</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.SetPropertyActionListenerHandler</handler-class>
+ <attribute>
+ <description>
+ ValueExpression to be stored as the value of the target
+ attribute.
+ </description>
+ <name>value</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ ValueExpression that is the destination of the value
+ attribute.
+ </description>
+ <name>target</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Container action for all JavaServer Faces core and
+ custom component actions used on a nested page via
+ "jsp:include" or any custom action that dynamically
+ includes another page from the same web application,
+ such as JSTL's "c:import".
+ </description>
+ <tag-name>subview</tag-name>
+ <component>
+ <component-type>javax.faces.NamingContainer</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ Value binding expression to a backing bean
+ property bound to the component instance for
+ the UIComponent created by this custom action.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ <attribute>
+ <description>
+ Component identifier of the UINamingContainer
+ component to be created.
+ </description>
+ <name>id</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether this component (and its
+ children) should be rendered. Expressions must
+ evaluate to a boolean.
+ </description>
+ <name>rendered</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a DoubleRangeValidator instance on the
+ UIComponent associated with the closest parent
+ UIComponent custom action.
+ </description>
+ <tag-name>validateDoubleRange</tag-name>
+ <validator>
+ <validator-id>javax.faces.DoubleRange</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Maximum value allowed for this component.
+ </description>
+ <name>maximum</name>
+ <type>java.lang.Double</type>
+ </attribute>
+ <attribute>
+ <description>
+ Minimum value allowed for this component.
+ </description>
+ <name>minimum</name>
+ <type>java.lang.Double</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ DoubleRangeValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.DoubleRangeValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a LengthValidator instance on the
+ UIComponent associated with the closest parent
+ UIComponent custom action.
+ </description>
+ <tag-name>validateLength</tag-name>
+ <validator>
+ <validator-id>javax.faces.Length</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Maximum length allowed for this component.
+ </description>
+ <name>maximum</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ Minimum length allowed for this component.
+ </description>
+ <name>minimum</name>
+ <type>java.lang.Integer</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ LenghtValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.LengthValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a LongRangeValidator instance on the
+ UIComponent associated with the closest parent
+ UIComponent custom action.
+ </description>
+ <tag-name>validateLongRange</tag-name>
+ <validator>
+ <validator-id>javax.faces.LongRange</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Maximum value allowed for this component.
+ </description>
+ <name>maximum</name>
+ <type>java.lang.Long</type>
+ </attribute>
+ <attribute>
+ <description>
+ Minimum value allowed for this component.
+ </description>
+ <name>minimum</name>
+ <type>java.lang.Long</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ LongRangeValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.LongRangeValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>&lt;p&gt;
+
+ &lt;span class="changed_added_2_0"&gt;
+ A validator that delegates the validation of the local value
+ to the Bean Validation API. The validationGroups attribute
+ serves as a filter that instructs the Bean Validation API which
+ contraints to enforce. If there are any constraint violations
+ reported by Bean Validation, the value is considered invalid.
+
+ &lt;/p&gt;
+ </description>
+ <tag-name>validateBean</tag-name>
+ <validator>
+ <validator-id>javax.faces.Bean</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ A comma-separated list of validation groups. A validation group
+ is a fully-qualified class name.
+ </description>
+ <name>validationGroups</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ BeanValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.BeanValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>&lt;p&gt;
+
+ &lt;span class="changed_added_2_0"&gt;
+ A validator that uses the pattern attribute to validate the
+ wrapping component. The entire pattern is matched against
+ the String value of the component. If it matches, it's
+ valid.
+
+ &lt;/p&gt;
+ </description>
+ <tag-name>validateRegex</tag-name>
+ <validator>
+ <validator-id>javax.faces.RegularExpression</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A regular expression pattern. Remember that, like in
+ all Java strings, backslash must be escaped with another
+ backslash.
+ </description>
+ <name>pattern</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ RegexpValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.RegexValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;A validator that enforces
+ the presence of a value. It has the same affect as setting the
+ required attribute on a UIInput to true.&lt;/p&gt;
+
+ </description>
+ <tag-name>validateRequired</tag-name>
+ <validator>
+ <validator-id>javax.faces.Required</validator-id>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ </validator>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an instance of
+ RequiredValidator.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.RequiredValidator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+
+ &lt;p&gt;&lt;span class="changed_modified_2_0"&gt;Register&lt;/span&gt;
+ a named
+ Validator instance on the UIComponent associated with the
+ closest parent UIComponent custom action.&lt;/p&gt;
+
+ &lt;div class="changed_added_2_0"&gt;
+
+ &lt;p&gt;Usage outside of an &lt;code&gt;EditableValueHolder&lt;/code&gt;
+ parent&lt;/p&gt;
+
+ &lt;p&gt;If this element is nested within a
+ &lt;code&gt;UIComponent&lt;/code&gt; tag that has other
+ &lt;code&gt;UIComponent&lt;/code&gt; children, the validator will be
+ automatically added to all the child components as well as
+ this one. The implementation must ensure this occurs even if
+ the parent of this element is not an instance of
+ &lt;code&gt;EditableValueHolder&lt;/code&gt;.&lt;/p&gt;
+
+ &lt;/div&gt;
+
+ </description>
+ <tag-name>validator</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValidateDelegateHandler</handler-class>
+ <attribute>
+ <description>
+ &lt;p class="changed_added_2_0"&gt;A boolean value
+ enabling page level determination of whether or not this
+ validator is enabled on the enclosing component.&lt;/p&gt;
+
+
+ </description>
+ <name>disabled</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Validator identifier of the Validator
+ to be created and registered.
+ </description>
+ <name>validatorId</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression that evaluates to an object that implements
+ the javax.faces.validator.Validator interface.
+ </description>
+ <name>binding</name>
+ <type>javax.faces.validator.Validator</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Register a ValueChangeListener instance on the UIComponent
+ associated with the closest parent UIComponent custom
+ action.
+ </description>
+ <tag-name>valueChangeListener</tag-name>
+ <handler-class>com.sun.faces.facelets.tag.jsf.core.ValueChangeListenerHandler</handler-class>
+ <attribute>
+ <description>
+ Fully qualified Java class name of a
+ ValueChangeListener to be created and registered.
+ </description>
+ <name>type</name>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Value binding expression that evaluates to an object that
+ implements javax.faces.event.ValueChangeListener.
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.event.ValueChangeListener</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ &lt;p class="changed_added_2_0"&gt;If present, this attribute
+ refers
+ to the value of one of the exposed attached objects within the
+ composite component inside of which this tag is nested.&lt;/p&gt;
+
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Create and register a child UIOutput component
+ associated with the closest parent UIComponent
+ custom action, which renders nested body content.
+ </description>
+ <tag-name>verbatim</tag-name>
+ <component>
+ <component-type>javax.faces.Output</component-type>
+ <renderer-type>javax.faces.Text</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Flag indicating that generated markup must
+ be escaped in a manner that is appropriate
+ for the markup language to be rendered.
+ Expressions must evaluate to a boolean.
+ Default value is false.
+ </description>
+ <name>escape</name>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Container for all JavaServer Faces core and custom
+ component actions used on a page.
+ </description>
+ <tag-name>view</tag-name>
+ <component>
+ <component-type>javax.faces.ViewRoot</component-type>
+ <renderer-type/>
+ </component>
+ <attribute>
+ <description>
+ Locale to use for localizing this page. Expressions
+ must evaluate to a java.util.Locale or to a String
+ that is converted to a Locale.
+ </description>
+ <name>locale</name>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Identifier for the RenderKit to use for
+ rendering this page.
+ </description>
+ <name>renderKitId</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Specifies the content-type of the response.
+ </description>
+ <name>contentType</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+
+ <attribute>
+ <description>
+ Specifies the character encoding that should be used for the
+ response.
+ </description>
+ <name>encoding</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+
+ MethodBinding pointing to a method that takes a
+ javax.faces.event.PhaseEvent and returns void. This method
+ will be called before every phase except for restore view.
+ </description>
+ <name>beforePhase</name>
+ <required>false</required>
+ <method-signature>void beforePhase(javax.faces.event.PhaseEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+
+ MethodBinding pointing to a method that takes a
+ javax.faces.event.PhaseEvent and returns void. This method
+ will be called after every phase except for restore view.
+ </description>
+ <name>afterPhase</name>
+ <required>false</required>
+ <method-signature>void afterPhase(javax.faces.event.PhaseEvent)
+ </method-signature>
+ </attribute>
+ </tag>
+</facelet-taglib>
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/html_basic.taglib.xml b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/html_basic.taglib.xml
new file mode 100644
index 000000000..7426c4fda
--- /dev/null
+++ b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/std-taglibs/html_basic.taglib.xml
@@ -0,0 +1,10465 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
+ version="2.0">
+ <description>
+ This tag library contains JavaServer Faces component tags for all
+ UIComponent + HTML RenderKit Renderer combinations defined in the
+ JavaServer Faces Specification.
+ </description>
+ <namespace>http://java.sun.com/jsf/html</namespace>
+ <tag>
+ <description>
+ <![CDATA[<div class="changed_added_2_0">Render an HTML "input" element of type "button".
+ The value of the component is rendered as the button text and the outcome of the
+ component is used to determine the target URL which is activated by onclick. If
+ "image" attribute is specified, render it as the value of the "src" attribute after
+ passing it to the <code>getResourceURL()</code> method of the <code>ViewHandler</code>
+ for this application, and passing the result through the <code>encodeResourceURL()</code>
+ method of the <code>ExternalContext</code>. Any child <code>UIParameter</code> components
+ are appended to the String to be used as the target URL as query parameters before rendering.
+ The entire target URL string must be passed through a call to the <code>encodeResourceURL()</code>
+ method of the <code>ExternalContext</code>. The name of the <code>UIParameter</code> goes on the
+ left hand side, and the value of the <code>UIParameter</code> on the right hand side. The name
+ and the value must be URLEncoded. Each <code>UIParameter</code> instance is separeted by an
+ ampersand, as dictated in the URL spec. The final encoded result will be written out to the
+ onclick attribute of the button as "window.location.href = '<encoded HREF value>'".
+ If the developer has specified a custom onlclick the window.location.href name/value
+ pair will be appended at the end of the developer specified script.
+ If the "fragment" attribute is specified, the value will be included at the end
+ of the resulting URL preceded by a hash mark. If the "styleClass" attribute is specified,
+ render its value as the value of the "class" attribute. If the "id" attribute is specified,
+ follow the same steps as mentioned in the "<a href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding">General
+ Notes on Encoding</a>" regarding the "id" attribute for UIInput components. If the
+ "disabled" attribute is specified, do not render the "onclick" element and assign the
+ "disabled" attribute a value of true.</div>]]>
+ </description>
+ <tag-name>
+ button
+ </tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutcomeTargetButton</component-type>
+ <renderer-type>javax.faces.Button</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.]]>
+ </description>
+ <name>
+ id
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Whether to include page parameters in the target URI.]]>
+ </description>
+ <name>
+ includeViewParams
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The logical outcome used to resolve a navigation case.]]>
+ </description>
+ <name>
+ outcome
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.]]>
+ </description>
+ <name>
+ rendered
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The current value of this component.]]>
+ </description>
+ <name>
+ value
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Object
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Access key that, when pressed, transfers focus
+ to this element.]]>
+ </description>
+ <name>
+ accesskey
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Alternate textual description of the
+ element rendered by this component.]]>
+ </description>
+ <name>
+ alt
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Direction indication for text that does not inherit directionality.
+ Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).]]>
+ </description>
+ <name>
+ dir
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The identifier of the page fragment which should
+ be brought into focus when the target page is
+ rendered. The value of this attribute is appended
+ to the end of target URL following a hash (#) mark.
+ This notation is part of the standard URL syntax.]]>
+ </description>
+ <name>
+ fragment
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<p>
+ Absolute or relative URL of the
+ image to be displayed for this
+ button. If specified, this
+ "input" element will be of type
+ "image". Otherwise, it will be
+ of the type specified by the
+ "type" property with a label
+ specified by the "value"
+ property. <span
+ class="changed_added_2_0">Note
+ that if the value of this
+ attribute starts with "/", the
+ rendered value for this
+ attribute will be prefixed with
+ the context-root for this
+ application.</span>
+ </p>]]>
+ </description>
+ <name>
+ image
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Code describing the language used in the generated markup
+ for this component.]]>
+ </description>
+ <name>
+ lang
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when this element loses focus.]]>
+ </description>
+ <name>
+ onblur
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ clicked over this element.]]>
+ </description>
+ <name>
+ onclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ double clicked over this element.]]>
+ </description>
+ <name>
+ ondblclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when this element receives focus.]]>
+ </description>
+ <name>
+ onfocus
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onkeydown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed and released over this element.]]>
+ </description>
+ <name>
+ onkeypress
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ released over this element.]]>
+ </description>
+ <name>
+ onkeyup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onmousedown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved within this element.]]>
+ </description>
+ <name>
+ onmousemove
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved away from this element.]]>
+ </description>
+ <name>
+ onmouseout
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved onto this element.]]>
+ </description>
+ <name>
+ onmouseover
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ released over this element.]]>
+ </description>
+ <name>
+ onmouseup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[CSS style(s) to be applied when this component is rendered.]]>
+ </description>
+ <name>
+ style
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.]]>
+ </description>
+ <name>
+ styleClass
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.]]>
+ </description>
+ <name>
+ tabindex
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Advisory title information about markup elements generated
+ for this component.]]>
+ </description>
+ <name>
+ title
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ <![CDATA[<div class="changed_added_2_0">Render an HTML "a" anchor element. The value of the
+ component is rendered as the anchor text and the outcome of the component is used
+ to determine the target URL rendered in the "href" attribute. Any
+ child <code>UIParameter</code> components are appended to the String to be
+ output as the value of the "href" attribute as query parameters
+ before rendering. The entire "href" string must be passed through
+ a call to the <code>encodeResourceURL()</code> method of the
+ <code>ExternalContext</code>. The name of the <code>UIParameter</code> goes on
+ the left hand side, and the value of the <code>UIParameter</code> on the right
+ hand side. The name and the value must be URLEncoded. Each
+ <code>UIParameter</code> instance is separated by an ampersand, as dictated in
+ the URL spec. If the "fragment" attribute is specified, the value will be
+ included at the end of the resulting URL preceded by a hash mark.
+ If the "styleClass" attribute is specified, render
+ its value as the value of the "class" attribute. If the "id" attribute
+ is specified, follow the same steps as mentioned in the
+ "<a href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding">General
+ Notes on Encoding</a>" regarding the "id" attribute for UIInput components.
+ If the "disabled" attribute is specified, do not render the HTML "a"
+ anchor element or the "href" element. Instead, render a "span" element.
+ If the "styleClass" attribute is specified, render its value as the value
+ of the "class" attribute on the "span". Render any pass-through attributes
+ on the "span".</div>]]>
+ </description>
+ <tag-name>
+ link
+ </tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutcomeTargetLink</component-type>
+ <renderer-type>javax.faces.Link</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.]]>
+ </description>
+ <name>
+ id
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Whether to include page parameters in the target URI.]]>
+ </description>
+ <name>
+ includeViewParams
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The logical outcome used to resolve a navigation case.]]>
+ </description>
+ <name>
+ outcome
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.]]>
+ </description>
+ <name>
+ rendered
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The current value of this component.]]>
+ </description>
+ <name>
+ value
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Object
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Access key that, when pressed, transfers focus
+ to this element.]]>
+ </description>
+ <name>
+ accesskey
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The character encoding of the resource designated
+ by this hyperlink.]]>
+ </description>
+ <name>
+ charset
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The position and shape of the hot spot on the screen
+ (for use in client-side image maps).]]>
+ </description>
+ <name>
+ coords
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Direction indication for text that does not inherit directionality.
+ Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).]]>
+ </description>
+ <name>
+ dir
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Flag indicating that this element must never
+ receive focus or be included in a subsequent
+ submit.]]>
+ </description>
+ <name>
+ disabled
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The identifier of the page fragment which should
+ be brought into focus when the target page is
+ rendered. The value of this attribute is appended
+ to the end of target URL following a hash (#) mark.
+ This notation is part of the standard URL syntax.]]>
+ </description>
+ <name>
+ fragment
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The language code of the resource designated
+ by this hyperlink.]]>
+ </description>
+ <name>
+ hreflang
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Code describing the language used in the generated markup
+ for this component.]]>
+ </description>
+ <name>
+ lang
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when this element loses focus.]]>
+ </description>
+ <name>
+ onblur
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ clicked over this element.]]>
+ </description>
+ <name>
+ onclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ double clicked over this element.]]>
+ </description>
+ <name>
+ ondblclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when this element receives focus.]]>
+ </description>
+ <name>
+ onfocus
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onkeydown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed and released over this element.]]>
+ </description>
+ <name>
+ onkeypress
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ released over this element.]]>
+ </description>
+ <name>
+ onkeyup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onmousedown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved within this element.]]>
+ </description>
+ <name>
+ onmousemove
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved away from this element.]]>
+ </description>
+ <name>
+ onmouseout
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved onto this element.]]>
+ </description>
+ <name>
+ onmouseover
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ released over this element.]]>
+ </description>
+ <name>
+ onmouseup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The relationship from the current document
+ to the anchor specified by this hyperlink.
+ The value of this attribute is a space-separated
+ list of link types.]]>
+ </description>
+ <name>
+ rel
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[A reverse link from the anchor specified
+ by this hyperlink to the current document.
+ The value of this attribute is a space-separated
+ list of link types.]]>
+ </description>
+ <name>
+ rev
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The shape of the hot spot on the screen
+ (for use in client-side image maps). Valid
+ values are: default (entire region); rect
+ (rectangular region); circle (circular region);
+ and poly (polygonal region).]]>
+ </description>
+ <name>
+ shape
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[CSS style(s) to be applied when this component is rendered.]]>
+ </description>
+ <name>
+ style
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.]]>
+ </description>
+ <name>
+ styleClass
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.]]>
+ </description>
+ <name>
+ tabindex
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Name of a frame where the resource
+ retrieved via this hyperlink is to
+ be displayed.]]>
+ </description>
+ <name>
+ target
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Advisory title information about markup elements generated
+ for this component.]]>
+ </description>
+ <name>
+ title
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The content type of the resource designated
+ by this hyperlink.]]>
+ </description>
+ <name>
+ type
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ <![CDATA[
+
+ <p>Render the markup for a <code>&lt;head&gt;</code> element.</p>
+
+ <p>Decode Behavior</p>
+
+ <ul>
+
+ <p>No action is required during decode for this renderer.</p>
+
+ </ul>
+
+ <p>Encode Behavior</p>
+
+ <ul>
+
+ <p>Render the starting <code>&lt;head&gt;</code> element tag. Any attributes declared on the element must be passed through
+ unmodified to the rendered output.
+ Just before rendering the
+ closing <code>&lt;/head&gt;</code> element tag, render any resources that have been targeted
+ for this "head" element:
+ <ul>
+ <li>Obtain a <code>UIViewRoot</code> instance.</li>
+ <li>Obtain a <code>List</code> of component resources targeted for
+ this "head" element with a call to <code>UIViewRoot.getComponentResources()</code>
+ with the <code>String "head"</code> as the argument.</li>
+ <li>Iterate over the returned <code>List</code> of <code>UIComponent</code> instances
+ and call <code>encodeAll</code> on each <code>UIComponent</code> instance.
+
+ <p>Any attributes declared on the element must be passed through
+ unmodified to the rendered output.</p>
+
+ </ul>
+ Render the ending <code>&lt;/head&gt;</code> element tag.</p>
+
+ ]]>
+ </description>
+ <tag-name>
+ head
+ </tag-name>
+ <component>
+ <component-type>javax.faces.Output</component-type>
+ <renderer-type>javax.faces.Head</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[Direction indication for text that does not inherit directionality.
+ Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).]]>
+ </description>
+ <name>
+ dir
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Code describing the language used in the generated markup
+ for this component.]]>
+ </description>
+ <name>
+ lang
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ <![CDATA[
+
+ <p>Render the markup for a <code>&lt;body&gt;</code> element.</p>
+
+ <p>Decode Behavior</p>
+
+ <ul>
+
+ <p>No action is required during decode for this renderer.</p>
+
+ </ul>
+
+ <p>Encode Behavior</p>
+
+ <ul>
+
+ <p>Render the starting <code>&lt;body&gt;</code> element tag. Just before rendering the
+ closing <code>&lt;/body&gt;</code> element tag, render any resources that have been targeted
+ for this "body" element:
+ <ul>
+ <li>Obtain a <code>UIViewRoot</code> instance.</li>
+
+ <li>Obtain a <code>List</code> of component resources targeted for
+ this "body" element with a call to
+ <code>UIViewRoot.getComponentResources()</code> with the
+ <code>String "body"</code> as the argument. Render the ending
+ <code>&lt;/body&gt;</code> element tag.</li>
+
+ <li>Iterate over the returned <code>List</code> of <code>UIComponent</code> instances
+ and call <code>encodeAll</code> on each <code>UIComponent</code> instance.
+ </ul>
+
+ <p>Any attributes declared on the element must be passed through
+ unmodified to the rendered output.</p>
+
+ ]]>
+ </description>
+ <tag-name>
+ body
+ </tag-name>
+ <component>
+ <component-type>javax.faces.Output</component-type>
+ <renderer-type>javax.faces.Body</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[Direction indication for text that does not inherit directionality.
+ Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).]]>
+ </description>
+ <name>
+ dir
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Code describing the language used in the generated markup
+ for this component.]]>
+ </description>
+ <name>
+ lang
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ clicked over this element.]]>
+ </description>
+ <name>
+ onclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ double clicked over this element.]]>
+ </description>
+ <name>
+ ondblclick
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onkeydown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ pressed and released over this element.]]>
+ </description>
+ <name>
+ onkeypress
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a key is
+ released over this element.]]>
+ </description>
+ <name>
+ onkeyup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when the user agent finishes loading
+ a window or all frames within a frameset.]]>
+ </description>
+ <name>
+ onload
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ pressed down over this element.]]>
+ </description>
+ <name>
+ onmousedown
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved within this element.]]>
+ </description>
+ <name>
+ onmousemove
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved away from this element.]]>
+ </description>
+ <name>
+ onmouseout
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ moved onto this element.]]>
+ </description>
+ <name>
+ onmouseover
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when a pointer button is
+ released over this element.]]>
+ </description>
+ <name>
+ onmouseup
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Javascript code executed when the user agent removes
+ a document from a window or frame.]]>
+ </description>
+ <name>
+ onunload
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[CSS style(s) to be applied when this component is rendered.]]>
+ </description>
+ <name>
+ style
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.]]>
+ </description>
+ <name>
+ styleClass
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Advisory title information about markup elements generated
+ for this component.]]>
+ </description>
+ <name>
+ title
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Renders an HTML "input"
+ element.&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterMap"
+ property of the &lt;code&gt;ExternalContext&lt;/code&gt;. If the
+ value in the
+ &lt;code&gt;Map&lt;/code&gt; for the value of the "clientId"
+ property of the
+ component is &lt;code&gt;null&lt;/code&gt;, create a String by
+ concatenating
+ the value of the "clientId" property of the component with the
+ String ".x" (without the quotes). Create another String in the
+ same manner, but concatenate ".y" (without the quotes). If
+ &lt;code&gt;null&lt;/code&gt; is the value in the &lt;code&gt;Map&lt;/code&gt;
+ for both
+ Strings, return from &lt;code&gt;decode()&lt;/code&gt;. If the value
+ in the
+ &lt;code&gt;Map&lt;/code&gt; for the value of the "clientId"
+ property of the
+ component is not &lt;code&gt;null&lt;/code&gt;, get the value of the
+ "type"
+ attribute, and convert it to lower case. If the result is equal
+ to the String "reset" (without the quotes), return from
+ &lt;code&gt;decode()&lt;/code&gt;. Otherwise, create a
+ &lt;code&gt;javax.faces.event.ActionEvent&lt;/code&gt; around the
+ component,
+ and pass it to the &lt;code&gt;queueEvent()&lt;/code&gt; method of
+ the
+ component, which must be an instance of
+ &lt;code&gt;UICommand&lt;/code&gt;.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render the clientId of the component as the value of the
+ "name"
+ attribute. Render the current value of the component as the value
+ of the "value" attribute. If "image" attribute is specified render
+ it as the value of the "src" attribute after passing it to the
+ &lt;code&gt;getResourceURL()&lt;/code&gt; method of the
+ &lt;code&gt;ViewHandler&lt;/code&gt; for this application, and
+ passing the
+ result through the &lt;code&gt;encodeResourceURL()&lt;/code&gt;
+ method of the
+ &lt;code&gt;ExternalContext&lt;/code&gt;. &lt;span
+ class="changed_added_2_0"&gt;Note that calling
+ &lt;code&gt;getResourceURL()&lt;/code&gt; will prefix the
+ context-root of the
+ current application if the value of the "src" attribute starts
+ with "/".&lt;/span&gt; When handling the "image" attribute, the
+ value must not
+ be escaped. For example, &lt;code&gt;&amp;&lt;/code&gt; must not be
+ turned into
+ &lt;code&gt;&amp;amp;amp;&lt;/code&gt;. If the "styleClass"
+ attribute is
+ specified, render its value as the value of the "class" attribute.
+ If the user has specified an "onclick" attribute, append that
+ JavaScript to any existing JavaScript before rendering.&lt;/p&gt;
+ &lt;p class="changed_added_2_0"&gt;If the component being rendered
+ by
+ this renderer has any &lt;code&gt;UIParameter&lt;/code&gt; children,
+ each one
+ of them must be rendered using the renderer for component-family:
+ "javax.faces.Input" and renderer-type: "javax.faces.Hidden". For
+ discussion, this is called the hiddenRenderer. A component with
+ component-type "javax.faces.Input" must be created for local use
+ in rendering each &lt;code&gt;UIParameter&lt;/code&gt; child. The
+ "id"
+ property of the temporary component must be set to the "name" of
+ the &lt;code&gt;UIParameter&lt;/code&gt;. The "value" property of
+ the
+ temporary component must be set to the "value" of the
+ &lt;code&gt;UIParameter&lt;/code&gt;. For each &lt;code&gt;UIParameter&lt;/code&gt;
+ child, the hiddenRenderer must have its
+ &lt;code&gt;encodeBegin()&lt;/code&gt;, &lt;code&gt;encodeChildren()&lt;/code&gt;,
+ and
+ &lt;code&gt;encodeEnd()&lt;/code&gt; methods called, in order,
+ passing the
+ temporary component as the second argument.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>commandButton</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlCommandButton</component-type>
+ <renderer-type>javax.faces.Button</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ MethodExpression representing the application action to invoke
+ when this component is activated by the user. The expression
+ must evaluate to a public method that takes no parameters, and
+ returns an Object (the toString() of which is called to derive
+ the logical outcome) which is passed to the NavigationHandler
+ for this application.
+ </description>
+ <name>action</name>
+ <required>false</required>
+ <method-signature>java.lang.Object action()</method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing an action listener method that
+ will be notified when this component is activated by the user.
+ The expression must evaluate to a public method that takes an
+ ActionEvent parameter, with a return type of void, &lt;span
+ class="changed_added_2_0"&gt;or to a public method that takes no
+ arguments with a return type of void. In the latter case, the
+ method has no way of easily knowing where the event came from,
+ but this can be useful in cases where a notification is needed
+ that "some action happened".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>actionListener</name>
+ <required>false</required>
+ <method-signature>void actionListener(javax.faces.event.ActionEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that, if this component is activated by the
+ user,
+ notifications should be delivered to interested listeners and
+ actions
+ immediately (that is, during Apply Request Values phase) rather
+ than
+ waiting until Invoke Application phase.
+ </description>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Alternate textual description of the
+ element rendered by this component.
+ </description>
+ <name>alt</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ Absolute or relative URL of the
+ image to be displayed for this
+ button. If specified, this
+ "input" element will be of type
+ "image". Otherwise, it will be
+ of the type specified by the
+ "type" property with a label
+ specified by the "value"
+ property. &lt;span
+ class="changed_added_2_0"&gt;Note
+ that if the value of this
+ attribute starts with "/", the
+ rendered value for this
+ attribute will be prefixed with
+ the context-root for this
+ application.&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>image</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Type of button to create. Valid values are "submit", "button",
+ and "reset". If not specified, or not a valid value, the default
+ value is "submit".
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Render&lt;/span&gt; an HTML "a"
+ anchor
+ element that acts like a form submit button when
+ clicked.&lt;/p&gt;
+ &lt;p&gt;General Behaviour&lt;/p&gt;
+ &lt;p&gt;Both the encode and decode behavior require the ability to
+ get
+ the id/name for a hidden field, &lt;span
+ class="changed_added_2_0"&gt;which may be rendered in markup or
+ which
+ may be programmatically added via client DOM manipulation&lt;/span&gt;,
+ whose value is set by the JavaScript form submit. This name must
+ be constructed as follows:&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;li&gt;&lt;p&gt;Get the clientId for the form of which this
+ component is a
+ child.&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;Append
+ &lt;code&gt;NamingContainer.SEPARATOR_CHAR&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;p&gt;Append a constant string that is the same for all
+ command
+ link components in the tree.&lt;/p&gt;&lt;/li&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;In the following text, this String is called
+ hiddenFieldName.&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the "clientId" property of the component. Obtain the
+ &lt;code&gt;Map&lt;/code&gt; from the "requestParameterMap" property
+ of the
+ &lt;code&gt;ExternalContext&lt;/code&gt;. Derive hiddenFieldName as
+ above.
+ Get the entry in the &lt;code&gt;Map&lt;/code&gt; under the key that
+ is the
+ hiddenFieldName. If the there is no entry, or the entry is the
+ empty String, or the entry is not equal to the value of the
+ "clientId" property, return immediately. If there is an entry,
+ and its value is equal to the value of the "clientId" property,
+ create a new &lt;code&gt;javax.faces.event.ActionEvent&lt;/code&gt;
+ instance
+ around the component and call &lt;code&gt;queueActionEvent()&lt;/code&gt;
+ on
+ the component, passing the event.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;If the value of the &lt;code&gt;disabled&lt;/code&gt;
+ attribute is
+ &lt;code&gt;true&lt;/code&gt;, render a span element. Render all the
+ passthru
+ attributes and the &lt;code&gt;target&lt;/code&gt; attribute as
+ pass-through
+ attributes on the span, even though the &lt;code&gt;target&lt;/code&gt;
+ attribute will have no effect on a span. Render the current value
+ of the component as the content of the span. Return.&lt;/p&gt;
+ &lt;p&gt;If the &lt;code&gt;disabled&lt;/code&gt; attribute is not
+ present, or its
+ value is &lt;code&gt;false&lt;/code&gt;, render an HTML &lt;code&gt;a&lt;/code&gt;
+ element. Render "#" as the value of the "href" attribute. Render
+ the current value of the component as the link text if it is
+ specified. Render JavaScript that is functionally equivalent to
+ the following as the value of the "onclick" attribute:&lt;/p&gt;
+ &lt;p&gt;&lt;code&gt;document.forms['CLIENT_ID']['hiddenFieldName'].value='CLIENT_ID';
+ document.forms['CLIENT_ID']['PARAM1_NAME'].value='PARAM1_VALUE';
+ document.forms['CLIENT_ID']['PARAM2_NAME'].value='PARAM2_VALUE';
+ return false;&lt;/code&gt;&lt;/p&gt;
+ &lt;p&gt;document.forms['CLIENT_ID'].submit()" where hiddenFieldName
+ is
+ as described above, CLIENT_ID is the clientId of the UICommand
+ component, PARAM*_NAME and PARAM*_VALUE are the names and values,
+ respectively, of any nested UIParameter children. The name and
+ the value must be URLEncoded. If an "onclick" attribute was
+ specified by the user, render this JavaScript in a function,
+ and render the user's JavaScript in a function. Render both
+ functions
+ in a choice function as follows:&lt;/p&gt;
+ &lt;p&gt;&lt;code&gt;var a=function(){#USER_FUNCTION#};
+ var b=function(){#JSF_FUNCTION#};
+ return (a()==false) ? false : b();&lt;/code&gt;&lt;/p&gt;
+ &lt;p&gt;where #USER_FUNCTION# is the user's JavaScript and
+ #JSF_FUNCTION# is the JavaScript rendered by JSF. The choice
+ function should operate such that if the user's JavaScript returns
+ true, then the rendered JavaScript will also execute.&lt;/p&gt;
+ &lt;p&gt;If the "styleClass" attribute is specified, render its
+ value as
+ the value of the "class" attribute. Render any non-UIParameter
+ output children as normal inside of the "a" element. These will
+ appear as the link text. Allow the form renderer to output a
+ single "input" element (for the entire page, regardless of how
+ many command link components are in the page) of "type" "hidden"
+ whose "name" is the value of hiddenFieldName, and which must not
+ have a "value" attribute. Multiple occurrences of command link
+ components in the tree should not cause multiple hiddenFieldName
+ hidden fields. Allow the form renderer to output an "input"
+ element of "type" "hidden" for each of the nested UIParameter
+ children, taking the name property (but not the value) from each
+ one in turn. If the "disabled" attribute is specified, do not
+ render the HTML "a" anchor element or its "href" attribute.
+ Instead, render a "span" element. If the "styleClass" attribute
+ is specified, render its value as the value of the "class"
+ attribute on the "span". Render any pass-through attributes on
+ the "span". The content of the span element comes from the value
+ of the component or its children as specified above.&lt;/p&gt;
+ &lt;p&gt;If the user specified a &lt;code&gt;target&lt;/code&gt;
+ attribute, its
+ value must be set using javascript since the &lt;code&gt;onclick&lt;/code&gt;
+ handler will prevent the target attribute from being generated.
+ This must be accomplished using JavaScript that is equivalent to
+ the following.&lt;/p&gt;
+ &lt;p&gt;&lt;code&gt;document.forms['CLIENT_ID'].target='TARGET';&lt;/code&gt;&lt;/p&gt;
+ &lt;p&gt;Where TARGET is the value of the target attribute on the
+ JSP
+ tag.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>commandLink</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlCommandLink</component-type>
+ <renderer-type>javax.faces.Link</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ MethodExpression representing the application action to invoke
+ when this component is activated by the user. The expression
+ must evaluate to a public method that takes no parameters, and
+ returns an Object (the toString() of which is called to derive
+ the logical outcome) which is passed to the NavigationHandler
+ for this application.
+ </description>
+ <name>action</name>
+ <required>false</required>
+ <method-signature>java.lang.Object action()</method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing an action listener method that
+ will be notified when this component is activated by the user.
+ The expression must evaluate to a public method that takes an
+ ActionEvent parameter, with a return type of void, &lt;span
+ class="changed_added_2_0"&gt;or to a public method that takes no
+ arguments with a return type of void. In the latter case, the
+ method has no way of easily knowing where the event came from,
+ but this can be useful in cases where a notification is needed
+ that "some action happened".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>actionListener</name>
+ <required>false</required>
+ <method-signature>void actionListener(javax.faces.event.ActionEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that, if this component is activated by the
+ user,
+ notifications should be delivered to interested listeners and
+ actions
+ immediately (that is, during Apply Request Values phase) rather
+ than
+ waiting until Invoke Application phase.
+ </description>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The character encoding of the resource designated
+ by this hyperlink.
+ </description>
+ <name>charset</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The position and shape of the hot spot on the screen
+ (for use in client-side image maps).
+ </description>
+ <name>coords</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never
+ receive focus or be included in a subsequent
+ submit.
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The language code of the resource designated
+ by this hyperlink.
+ </description>
+ <name>hreflang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The relationship from the current document
+ to the anchor specified by this hyperlink.
+ The value of this attribute is a space-separated
+ list of link types.
+ </description>
+ <name>rel</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A reverse link from the anchor specified
+ by this hyperlink to the current document.
+ The value of this attribute is a space-separated
+ list of link types.
+ </description>
+ <name>rev</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The shape of the hot spot on the screen
+ (for use in client-side image maps). Valid
+ values are: default (entire region); rect
+ (rectangular region); circle (circular region);
+ and poly (polygonal region).
+ </description>
+ <name>shape</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of a frame where the resource
+ retrieved via this hyperlink is to
+ be displayed.
+ </description>
+ <name>target</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The content type of the resource designated
+ by this hyperlink.
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "table" element compliant with the HTML 401
+ specification. Render the "caption" facet, if present, inside a
+ "caption" element immediately below the "table" element. If the
+ "captionClass" attribute is specified, render its value as the
+ value of the "class" attribute on the "caption" element. If the
+ "captionStyle" attribute is specified, render its value as the
+ value of the "style" attribute on the "caption" element.&lt;/p&gt;
+ &lt;p&gt;Please consult the javadoc for &lt;code&gt;UIData&lt;/code&gt;
+ to
+ supplement this specification. If the "styleClass" attribute is
+ specified, render its value as the value of the "class" attribute
+ on the "table" element. Any pass-through attributes are also
+ rendered on the "table" element. &lt;/p&gt;
+ &lt;p&gt;Column Groups&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;If the &lt;code&gt;UIData&lt;/code&gt; component has a
+ "colgroups" facet,
+ render its contents. Consistent with the rules of facets in
+ general, this facet must have only one child. In general, this
+ will be a &lt;code&gt;panel group&lt;/code&gt; component that will
+ contain
+ &lt;code&gt;colgroup&lt;/code&gt; and &lt;code&gt;col&lt;/code&gt;
+ elements per the HTML
+ Table specification. Use of column grouping can improve
+ accessibility. This facet must be rendered before the table
+ header and footer.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Rendering the header&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;If the &lt;code&gt;UIData&lt;/code&gt; component has a
+ "header" facet, or
+ any of the child &lt;code&gt;UIColumn&lt;/code&gt; components has a
+ "header"
+ facet, render a "thead" element. If the &lt;code&gt;UIData&lt;/code&gt;
+ component has a "header" facet, encode its contents inside of "tr"
+ and "th" elements, respectively. Output the value of the
+ "headerClass" attribute of the &lt;code&gt;UIData&lt;/code&gt;
+ component, if
+ present, as the value of the "class" attribute on the "th".
+ Output the number of child &lt;code&gt;UIColumn&lt;/code&gt;
+ components of the
+ &lt;code&gt;UIData&lt;/code&gt; component as the value of the
+ "colspan"
+ attribute on the "th". Output "colgroup" as the value of the
+ "scope" attribute on the "th" element. &lt;/p&gt;
+ &lt;p&gt;If any of the child &lt;code&gt;UIColumn&lt;/code&gt;
+ components has a
+ "header" facet render a "tr" element. For each
+ &lt;code&gt;UIColumn&lt;/code&gt; that actually has a "header"
+ facet, render
+ it inside of a "th" element. Columns that don't have a "header"
+ facet cause an empty "th" element to be rendered. Output the
+ value of the "headerClass" attribute of the &lt;code&gt;UIColumn&lt;/code&gt;
+ component, if present, as the value of the "class" attribute on
+ the "th". If the "headerClass" attribute of the &lt;code&gt;UIColumn&lt;/code&gt;
+ component is not present, output the value of the "headerClass"
+ attribute of the &lt;code&gt;UIData&lt;/code&gt; component, if
+ present, as
+ the value of the "class" attribute on the "th". Output "col" as
+ the value of the "scope" attribute on the "th" element.
+ &lt;/p&gt;
+ &lt;p&gt;Close out the "thead" element.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Rendering the footer&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Follow the same process as for the header, except replace
+ "header" with "footer", "th" with "td", "thead" with "tfoot", and
+ "headerClass" with "footerClass". Do not render any "scope"
+ attribute for the footer.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Rendering the table body&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Look at the value of the "bodyrows" attribute. If present,
+ this must be a comma separated list of integers. Each entry in
+ this list is the row index of the row before which a "tbody"
+ element should be rendered.&lt;/p&gt;
+ &lt;p&gt;If there was no "bodyrows" attribute, or it was empty,
+ render a
+ "tbody" element. Keep track of the result of the "rows" property
+ on the &lt;code&gt;UIData&lt;/code&gt; component. Keep track of the
+ number of
+ rows we have rendered so far. Iterate through the rows. Set the
+ "rowIndex" property of the &lt;code&gt;UIData&lt;/code&gt; component
+ to be
+ correct as we iterate through the rows. Stop rendering children
+ and close out the "tbody" element if the "rowAvailable" property
+ of the &lt;code&gt;UIData&lt;/code&gt; returned false. If the
+ current row
+ index is contained in the "bodyrows" attribute, check if a "tbody"
+ start element was rendered that needs to be closed, and if so,
+ close the "tbody" element. Then render a "tbody" element start.
+ Otherwise, do not render a "tbody" element.&lt;/p&gt;
+ &lt;p&gt;Output a "tr" element. Output the value of the "rowClasses"
+ per the attribute description below. For each
+ &lt;code&gt;UIColumn&lt;/code&gt; child, if the column component has
+ a
+ "rowHeader" attribute with a value of "true", output a "th"
+ element with a "scope" attribute with the value of "row".
+ Otherwise, if the column component has no "rowHeader" attribute,
+ or its value is false, output a "td" element. In either case
+ attach the value of the "columnClasses" attribute of the
+ &lt;code&gt;UIData&lt;/code&gt; component per the attribute
+ description below.
+ Recursively encode each child of each &lt;code&gt;UIColumn&lt;/code&gt;
+ child.
+ Close out the "td" or "th" element. When done with the row, close
+ out the "tr" element. When done with all the rows, close out the
+ "tbody" element.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;When done rendering all the rows, set the "rowIndex"
+ property of
+ the &lt;code&gt;UIData&lt;/code&gt; to -1, and close out the "table"
+ element.&lt;/p&gt;
+ </description>
+ <tag-name>dataTable</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlDataTable</component-type>
+ <renderer-type>javax.faces.Table</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Zero-relative row number of the first row to be displayed. If
+ this
+ property is set to zero, rendering will begin with the first row
+ of
+ the underlying data.
+ </description>
+ <name>first</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of rows to display, starting with the one identified
+ by the
+ "first" property. If this value is set to zero, all available
+ rows in
+ the underlying data model will be displayed.
+ </description>
+ <name>rows</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of a request-scope attribute under which the model data for
+ the
+ row selected by the current value of the "rowIndex" property
+ (i.e.
+ also the current value of the "rowData" property) will be
+ exposed.
+ </description>
+ <name>var</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name or code of the background color for this table.
+ </description>
+ <name>bgcolor</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma separated list of row indices for which a new
+ "tbody" element should be started (and any
+ previously opened one should be ended).
+ </description>
+ <name>bodyrows</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width (in pixels) of the border to be drawn
+ around this table.
+ </description>
+ <name>border</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any caption generated for this table.
+ </description>
+ <name>captionClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this caption is rendered.
+ </description>
+ <name>captionStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Definition of how much space the user agent should
+ leave between the border of each cell and its contents.
+ </description>
+ <name>cellpadding</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Definition of how much space the user agent should
+ leave between the left side of the table and the
+ leftmost column, the top of the table and the top of
+ the top side of the topmost row, and so on for the
+ right and bottom of the table. It also specifies
+ the amount of space to leave between cells.
+ </description>
+ <name>cellspacing</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma-delimited list of CSS style classes that will be applied
+ to the columns of this table. A space separated list of
+ classes may also be specified for any individual column. If
+ the number of elements in this list is less than the number of
+ actual column children of the UIData, no "class"
+ attribute is output for each column greater than the number of
+ elements in the list. If the number of elements in the list
+ is greater than the number of actual column children of the
+ UIData, the elements at the posisiton in the list
+ after the last column are ignored.
+ </description>
+ <name>columnClasses</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any footer generated for this table.
+ </description>
+ <name>footerClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code specifying which sides of the frame surrounding
+ this table will be visible. Valid values are:
+ none (no sides, default value); above (top side only);
+ below (bottom side only); hsides (top and bottom sides
+ only); vsides (right and left sides only); lhs (left
+ hand side only); rhs (right hand side only); box
+ (all four sides); and border (all four sides).
+ </description>
+ <name>frame</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any header generated for this table.
+ </description>
+ <name>headerClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma-delimited list of CSS style classes that will be applied
+ to the rows of this table. A space separated list of classes
+ may also be specified for any individual row. Thes styles are
+ applied, in turn, to each row in the table. For example, if
+ the list has two elements, the first style class in the list
+ is applied to the first row, the second to the second row, the
+ first to the third row, the second to the fourth row, etc. In
+ other words, we keep iterating through the list until we reach
+ the end, and then we start at the beginning again.
+ </description>
+ <name>rowClasses</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code specifying which rules will appear between cells
+ within this table. Valid values are: none (no rules,
+ default value); groups (between row groups); rows
+ (between rows only); cols (between columns only); and
+ all (between all rows and columns).
+ </description>
+ <name>rules</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Summary of this table's purpose and structure, for
+ user agents rendering to non-visual media such as
+ speech and Braille.
+ </description>
+ <name>summary</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width of the entire table, for visual user agents.
+ </description>
+ <name>width</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;span class="changed_modified_2_0"&gt;
+ Renders&lt;/span&gt; an HTML "form" element.
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterMap"
+ property of the &lt;code&gt;ExternalContext&lt;/code&gt;. If the map
+ contains
+ an entry for the "clientId" of this &lt;code&gt;UIForm&lt;/code&gt;
+ component,
+ call &lt;code&gt;setSubmitted(true)&lt;/code&gt; on the form,
+ otherwise call
+ &lt;code&gt;setSubmitted(false)&lt;/code&gt; on the form.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;The value of the "method" attribute must be "post". The
+ value
+ of the "action" attribute must be the result of passing the view
+ identifier of the current view to the &lt;code&gt;getActionURL()&lt;/code&gt;
+ method of the &lt;code&gt;ViewHandler&lt;/code&gt; for this
+ application, then
+ passing that String to the &lt;code&gt;encodeActionURL()&lt;/code&gt;
+ method
+ on the &lt;code&gt;ExternalContext&lt;/code&gt;. The value of the
+ acceptcharset
+ attribute must be rendered as the value of "accept-charset".
+ If the "styleClass" attribute is specified, render its value as the
+ value of the "class" attribute. Render a "name"
+ attribute with a value the same as the "id" attribute as described
+ in "&lt;a
+ href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding"&gt;General
+ Notes on
+ Encoding&lt;/a&gt;" regarding the "id" attribute for UIInput
+ components. &lt;p class="changed_added_2_0"&gt;Obtain the &lt;code&gt;UIViewRoot
+ view identifier&lt;/code&gt; and
+ use it to obtain an &lt;code&gt;action URL&lt;/code&gt; by calling
+ &lt;code&gt;ViewHandler.getActionURL&lt;/code&gt;.
+ Use the &lt;code&gt;action URL&lt;/code&gt; to obtain an &lt;code&gt;encoded
+ action URL&lt;/code&gt; by calling
+ &lt;code&gt;ExternalContext.encodeActionURL&lt;/code&gt;. Obtain an
+ &lt;code&gt;encoded partial action URL&lt;/code&gt; by calling
+ &lt;code&gt;ExternalContext.encodePartialActionURL&lt;/code&gt;
+ using &lt;code&gt;action URL&lt;/code&gt; as the argument.
+ Compare the result from &lt;code&gt;ExternalContext.encodePartialActionURL&lt;/code&gt;
+ with the
+ value from &lt;code&gt;ExternalContext.encodeActionURL()&lt;/code&gt;.
+ If they are different,
+ render a hidden field with the name &lt;code&gt;javax.faces.encodedURL&lt;/code&gt;
+ and the value
+ of this hidden field as the value from &lt;code&gt;ExternalContext.encodePartialActionURL&lt;/code&gt;.&lt;/p&gt;
+ Call &lt;code&gt;ViewHandler.writeState()&lt;/code&gt;
+ before the the close of the "form" element. Render all the
+ necessary hidden fields for all commandLink instances in the page
+ just before the close of the "form" element.
+ &lt;div class="changed_modified_2_0"&gt;
+ Just before rendering the closing &lt;code&gt;&amp;lt;/form&amp;gt;&lt;/code&gt;
+ element tag, render
+ any resources that have been targeted for this form:
+ &lt;ul&gt;
+ &lt;li&gt;Obtain a &lt;code&gt;UIViewRoot&lt;/code&gt; instance.&lt;/li&gt;
+ &lt;li&gt;Obtain a &lt;code&gt;List&lt;/code&gt; of component
+ resources targeted for
+ this form with a call to &lt;code&gt;UIViewRoot.getComponentResources()&lt;/code&gt;
+ with the &lt;code&gt;String "form"&lt;/code&gt; as the argument.&lt;/li&gt;
+ &lt;li&gt;Iterate over the returned &lt;code&gt;List&lt;/code&gt; of
+ &lt;code&gt;UIComponent&lt;/code&gt; instances
+ and call &lt;code&gt;encodeAll&lt;/code&gt; on each &lt;code&gt;UIComponent&lt;/code&gt;
+ instance.
+ &lt;/ul&gt;
+ &lt;/div&gt;
+ &lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;/div&gt;
+ </description>
+ <tag-name>form</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlForm</component-type>
+ <renderer-type>javax.faces.Form</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this form should prepend its id
+ to its descendent's id during the clientId generation process.
+ If this flag is not set, the default value is true.
+ </description>
+ <name>prependId</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ List of content types that a server processing this form
+ will handle correctly
+ </description>
+ <name>accept</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ List of character encodings for input data
+ that are accepted by the server processing
+ this form.
+ </description>
+ <name>acceptcharset</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Content type used to submit the form to the server. If not
+ specified, the default value is
+ "application/x-www-form-urlencoded".
+ </description>
+ <name>enctype</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this form is reset.
+ </description>
+ <name>onreset</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this form is submitted.
+ </description>
+ <name>onsubmit</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of a frame where the response
+ retrieved after this form submit is to
+ be displayed.
+ </description>
+ <name>target</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Renders&lt;/span&gt; an HTML "img"
+ element. Render the clientId as the value of the "id"
+ attribute.&lt;/p&gt;
+ &lt;div class="changed_modified_2_0"&gt;
+ &lt;p&gt;Handling the Value&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;If the "name" attribute is present, execute algorithm &lt;a
+ href="javax.faces.Outputjavax.faces.resource.Script.html#ResourceCommonGetResource"&gt;Common
+ Algorithm for Obtaining A Resource to Render&lt;/a&gt; to obtain a
+ &lt;code&gt;Resource&lt;/code&gt; instance. Call
+ &lt;code&gt;Resource.getRequestPath()&lt;/code&gt; and output the
+ result as the
+ value of the "src" attribute on the rendered markup.&lt;/p&gt;
+ &lt;p&gt;Otherwise, if the "url" attribute is present, treat its
+ value as
+ if it was the value of the "value" attribute. Otherwise, if the
+ "value" attribute is present, render the value of the component as
+ the value of the "src" attribute, after passing it to the
+ &lt;code&gt;getResourceURL()&lt;/code&gt; method of the &lt;code&gt;ViewHandler&lt;/code&gt;
+ for this application, and passing the result through the
+ &lt;code&gt;encodeResourceURL()&lt;/code&gt; method of the
+ &lt;code&gt;ExternalContext&lt;/code&gt;.&lt;/p&gt;
+ &lt;p&gt;When handling the "src" attribute,
+ the value must not be escaped. For example, &lt;code&gt;&amp;&lt;/code&gt;
+ must not
+ be turned into &lt;code&gt;&amp;amp;amp;&lt;/code&gt;. If the
+ "styleClass"
+ attribute is specified, render its value as the value of the "class"
+ attribute.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;/div&gt;
+ </description>
+ <tag-name>graphicImage</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlGraphicImage</component-type>
+ <renderer-type>javax.faces.Image</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Context-relative URL to retrieve the resource associated with
+ this component. This is an alias for the "value" property.
+ </description>
+ <name>url</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Alternate textual description of the
+ element rendered by this component.
+ </description>
+ <name>alt</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Override for the height of this image.
+ </description>
+ <name>height</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this image is to be used as a server side
+ image map. Such an image must be enclosed within a hyperlink
+ ("a"). A value of false causes no attribute to be rendered,
+ while a value of true causes the attribute to be rendered as
+ ismap="ismap".
+ </description>
+ <name>ismap</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;div class="changed_added_2_0"&gt;&lt;p&gt;The &lt;em&gt;libraryName&lt;/em&gt;
+ for this resource.&lt;/p&gt;&lt;/div&gt;
+ </description>
+ <name>library</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ URI to a long description of the image
+ represented by this element.
+ </description>
+ <name>longdesc</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;div class="changed_added_2_0"&gt;&lt;p&gt;The &lt;em&gt;resourceName&lt;/em&gt;
+ for this resource.&lt;/p&gt;&lt;/div&gt;
+ </description>
+ <name>name</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The name of a client side image map (an HTML "map"
+ element) for which this element provides the image.
+ </description>
+ <name>usemap</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Override for the width of this image.
+ </description>
+ <name>width</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "input" element of type
+ "hidden".&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the decode description for the &lt;a
+ href="javax.faces.Inputjavax.faces.Text.html#encode"&gt;Input
+ Text&lt;/a&gt; renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render the clientId of the component as the value of the
+ "name" attribute. Render the current value of the component as
+ the value of the "value" attribute.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>inputHidden</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlInputHidden</component-type>
+ <renderer-type>javax.faces.Hidden</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "input" element of "type" "password".&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the decode description for the &lt;a
+ href="javax.faces.Inputjavax.faces.Text.html#encode"&gt;Input
+ Text&lt;/a&gt; renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;
+ Render the clientId of the component as the value of the "name"
+ attribute. Render the current value of the component as the value
+ of the "value" attribute, if and only if the "redisplay" component
+ attribute is the string "true". If the "styleClass" attribute is
+ specified, render its value as the value of the "class"
+ attribute.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>inputSecret</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlInputSecret</component-type>
+ <renderer-type>javax.faces.Secret</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Alternate textual description of the
+ element rendered by this component.
+ </description>
+ <name>alt</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ If the value of this attribute is "off", render "off" as the
+ value
+ of the attribute. This indicates that the browser should
+ disable its autocomplete feature for this component. This is
+ useful for components that perform autocompletion and do not
+ want the browser interfering. If this attribute is not set or
+ the value
+ is "on", render nothing.
+ </description>
+ <name>autocomplete</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The maximum number of characters that may
+ be entered in this field.
+ </description>
+ <name>maxlength</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that any existing value
+ in this field should be rendered when the
+ form is created. Because this is a potential
+ security risk, password values are not
+ displayed by default.
+ </description>
+ <name>redisplay</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of characters used to determine
+ the width of this field.
+ </description>
+ <name>size</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "input"
+ element of "type" "text".&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterMap"
+ property of the &lt;code&gt;ExternalContext&lt;/code&gt;. If the
+ &lt;code&gt;Map&lt;/code&gt; contains an entry for the "clientId" of
+ the
+ component, pass the value of the entry to the
+ &lt;code&gt;setSubmittedValue()&lt;/code&gt; method of the
+ component, which
+ must be an instance of &lt;code&gt;EditableValueHolder&lt;/code&gt;.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt; Render the clientId of the component as
+ the value of the "name" attribute. Render the current value of
+ the component as the value of the "value" attribute. If the
+ "styleClass" attribute is specified, render its value as the value
+ of the "class" attribute.
+ &lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>inputText</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlInputText</component-type>
+ <renderer-type>javax.faces.Text</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Alternate textual description of the
+ element rendered by this component.
+ </description>
+ <name>alt</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ If the value of this attribute is "off", render "off" as the
+ value
+ of the attribute. This indicates that the browser should
+ disable its autocomplete feature for this component. This is
+ useful for components that perform autocompletion and do not
+ want the browser interfering. If this attribute is not set or
+ the value
+ is "on", render nothing.
+ </description>
+ <name>autocomplete</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The maximum number of characters that may
+ be entered in this field.
+ </description>
+ <name>maxlength</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of characters used to determine
+ the width of this field.
+ </description>
+ <name>size</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "textarea" element.&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the encode description for the &lt;a
+ href="javax.faces.Inputjavax.faces.Text.html#encode"&gt;Input
+ Text&lt;/a&gt; renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt; Render the
+ clientId as the value of the "name" attribute. Render the current
+ valu eof the component inside the "textarea"
+ element.&lt;/p&gt; &lt;/ul&gt;
+ </description>
+ <tag-name>inputTextarea</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlInputTextarea</component-type>
+ <renderer-type>javax.faces.Textarea</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of columns to be displayed.
+ </description>
+ <name>cols</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of rows to be displayed.
+ </description>
+ <name>rows</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Render a single message for a specific component.&lt;/p&gt;
+ &lt;p&gt;Set-up for Rendering&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the "summary" and "detail" properties from
+ &lt;code&gt;UIMessage&lt;/code&gt; component. If not present, keep
+ the
+ empty string as the value, respectively. Obtain the first
+ &lt;code&gt;FacesMessage&lt;/code&gt; to render from the component,
+ using
+ the "for" property of the &lt;code&gt;UIMessage&lt;/code&gt;. This
+ will be
+ the only message we render. Obtain the severity style for this
+ message. If the severity of the message is
+ &lt;code&gt;FacesMessage.SEVERITY_INFO&lt;/code&gt;, the severity
+ style
+ comes from the value of the "infoStyle" attribute. If the
+ severity of the message is
+ &lt;code&gt;FacesMessage.SEVERITY_WARN&lt;/code&gt;, the severity
+ style
+ comes from the value of the "warnStyle" attribute, and so on for
+ each of the severities, &lt;code&gt;INFO, WARN, ERROR&lt;/code&gt;
+ and
+ &lt;code&gt;FATAL&lt;/code&gt;. The same rules apply for obtaining
+ the
+ severity style class, but instead of "infoStyle, warnStyle", etc
+ use "infoClass, warnClass", etc. Obtain the "style",
+ "styleClass" and "layout" attributes from the
+ &lt;code&gt;UIMessage&lt;/code&gt; component. If we have a "style"
+ attribute and a severity style attribute, use the severity style
+ attribute as the value of the "style" attribute. If we have no
+ "style" attribute, but do have a severity style, use the
+ severity style as the value of the "style" attribute. The same
+ precedence rules apply for the style class. Obtain the value of
+ the &lt;code&gt;dir&lt;/code&gt; and &lt;code&gt;lang&lt;/code&gt;
+ attributes.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Rendering&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;For the message renderer, we only render one row, for the
+ first
+ message. For the messages renderer, we render as many rows as we
+ have messages. If any of the "dir", "lang", "style" or
+ "styleClass" attributes has a non-null value (as determined
+ above), render a "span" element, outputting the value of the
+ "style" attribute as the the value of the "style" attribute, and
+ outputting the value of the "styleClass" attribute as the value of
+ the "class" attribute on the "span" element. Output the "dir" and
+ "lang" attributes as well, if they are present. If the
+ &lt;code&gt;UIMessage&lt;/code&gt; has a "tooltip" attribute with
+ the value of
+ "true", and the &lt;code&gt;UIMessage&lt;/code&gt; has "showSummary"
+ and
+ "showDetail" properties with the value "true", if we haven't
+ already written out the "span", output the "summary" as the value
+ of the "title" attribute on the "span". If we haven't already
+ written out a "title" attribute, and "showSummary" is true, output
+ the summary. If "showDetail" is true, output the detail. Close
+ out the span if necessary.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>message</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlMessage</component-type>
+ <renderer-type>javax.faces.Message</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Client identifier of the component for which to display
+ messages.
+ </description>
+ <name>for</name>
+ <required>true</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the detail portion of displayed messages
+ should be included. Default value is "true".
+ </description>
+ <name>showDetail</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the summary portion of displayed
+ messages
+ should be included. Default value is "false".
+ </description>
+ <name>showSummary</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "ERROR".
+ </description>
+ <name>errorClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "ERROR".
+ </description>
+ <name>errorStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "FATAL".
+ </description>
+ <name>fatalClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "FATAL".
+ </description>
+ <name>fatalStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "INFO".
+ </description>
+ <name>infoClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "INFO".
+ </description>
+ <name>infoStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the detail portion of the
+ message should be displayed as a tooltip.
+ </description>
+ <name>tooltip</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "WARN".
+ </description>
+ <name>warnClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "WARN".
+ </description>
+ <name>warnStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span class="changed_modified_2_0"&gt;The&lt;/span&gt;
+ same as for the
+ Message renderer, but output all the messages. &lt;span
+ class="changed_added_2_0"&gt;If an "id" attribute has been
+ specified,
+ it must be rendered on the outermost markup corresponding to this
+ component.&lt;/span&gt; If the value of the "layout" attribute is
+ "table", render nested "table", "tr", and "td" elements, in that
+ order. If the value of the "layout" attribute is "list", or the
+ "layout" attribute is not specified, render nested "ul", "li"
+ elements, in that order. Output the value of the "style" attribute
+ as the value of the "style" attribute, output the value of the
+ "styleClass" attribute as the value of the "class" attribute, and
+ output the dir and lang attributes. Output these values on the
+ "table" element or the "ul" element. Output the values of the
+ "errorStyle", "fatalStyle", "infoStyle", "warnStyle" attributes as
+ the value of the "style" attribute on either the "tr" element or
+ the "li" element. Output the values of the "errorClass",
+ "fatalClass", "infoClass", "warnClass" attributes as the value of
+ the "class" attribute on either the "tr" element or the "li"
+ element. The component is a &lt;code&gt;UIMessages&lt;/code&gt;, and
+ there is
+ no "for" attribute. Therefore, use either &lt;code&gt;null&lt;/code&gt;
+ to
+ obtain the messages from the &lt;code&gt;FacesContext&lt;/code&gt;
+ or the empty
+ string if the components "globalOnly" property is
+ &lt;code&gt;true&lt;/code&gt;. If the layout was "table" close out
+ the table
+ elements, otherwise, close out the list elements.&lt;/p&gt;
+ </description>
+ <tag-name>messages</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlMessages</component-type>
+ <renderer-type>javax.faces.Messages</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Client identifier of the component for which to display
+ messages. This
+ attribute is mutually exclusive with globalOnly and take
+ precedence
+ if used.
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that only global messages (that is, messages not
+ associated with any client identifier) are to be displayed.
+ Default value is "false".
+ </description>
+ <name>globalOnly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the detail portion of displayed messages
+ should be included. Default value is "false".
+ </description>
+ <name>showDetail</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the summary portion of displayed
+ messages
+ should be included. Default value is "true".
+ </description>
+ <name>showSummary</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "ERROR".
+ </description>
+ <name>errorClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "ERROR".
+ </description>
+ <name>errorStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "FATAL".
+ </description>
+ <name>fatalClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "FATAL".
+ </description>
+ <name>fatalStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "INFO".
+ </description>
+ <name>infoClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "INFO".
+ </description>
+ <name>infoStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The type of layout markup to use when rendering
+ error messages. Valid values are "table" (an HTML
+ table) and "list" (an HTML list). If not specified,
+ the default value is "list".
+ </description>
+ <name>layout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether the detail portion of the
+ message should be displayed as a tooltip.
+ </description>
+ <name>tooltip</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to any message
+ with a severity class of "WARN".
+ </description>
+ <name>warnClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to apply to any message
+ with a severity class of "WARN".
+ </description>
+ <name>warnStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Render parameterized text. Obtain the
+ &lt;code&gt;style&lt;/code&gt;, &lt;code&gt;styleClass&lt;/code&gt;,
+ &lt;code&gt;dir&lt;/code&gt;, and
+ &lt;code&gt;lang&lt;/code&gt; attributees from this component. If
+ any are
+ present, render a "span" element. Output the
+ &lt;code&gt;styleClass&lt;/code&gt; attribute (if present) as the
+ value of the
+ &lt;code&gt;class&lt;/code&gt; attribute. Output the &lt;code&gt;style&lt;/code&gt;
+ attribute as the value of the &lt;code&gt;style&lt;/code&gt;
+ attribute.
+ Output the &lt;code&gt;dir&lt;/code&gt; and &lt;code&gt;lang&lt;/code&gt;
+ attributes as
+ pass through attributes. Accrue a list of the values of all child
+ &lt;code&gt;UIParameter&lt;/code&gt; components of this component.
+ If there
+ are one or more accumulated parameter values, convert the list of
+ parameter values to an &lt;code&gt;Object&lt;/code&gt; array, call
+ &lt;code&gt;MessageFormat.format()&lt;/code&gt;, passing the
+ &lt;code&gt;value&lt;/code&gt; of this component as the first
+ argument, and
+ the array of parameter values as the second argument, and render
+ the result. Otherwise, render the &lt;code&gt;value&lt;/code&gt; of
+ this
+ component unmodified.&lt;/p&gt;
+ </description>
+ <tag-name>outputFormat</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutputFormat</component-type>
+ <renderer-type>javax.faces.Format</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that characters that are sensitive
+ in HTML and XML markup must be escaped. This flag
+ is set to "true" by default.
+ </description>
+ <name>escape</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Renders an HTML "label" element. Render the current value
+ of the component as label text if it is specified. If a "for"
+ attribute is
+ specified, find the component specified by the value of the "for"
+ attribute, and render its client id as the value of the "for"
+ attribute.
+ If "styleClass" attribute is specified, render its value as the
+ value
+ of the "class" attribute.
+ </description>
+ <tag-name>outputLabel</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutputLabel</component-type>
+ <renderer-type>javax.faces.Label</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that characters that are sensitive
+ in HTML and XML markup must be escaped. If omitted, this
+ flag is assumed to be "true".
+ </description>
+ <name>escape</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Client identifier of the component for which this element
+ is a label.
+ </description>
+ <name>for</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Render an HTML "a" anchor element. The value of the
+ component is rendered as the value of the "href" attribute. Any
+ child UIParameter components are appended to the String to be
+ output as the value of the "href" attribute as query parameters
+ before rendering. The entire "href" string must be passed through
+ a call to the &lt;code&gt;encodeResourceURL()&lt;/code&gt; method of
+ the
+ &lt;code&gt;ExternalContext&lt;/code&gt;. The name of the
+ UIParameter goes on
+ the left hand side, and the value of the UIParameter on the right
+ hand side. The name and the value must be URLEncoded. Each
+ UIParameter instance is separeted by an ampersand, as dictated in
+ the URL spec. If the "styleClass" attribute is specified, render
+ its value as the value of the "class" attribute. If the "id"
+ attribute
+ is specified, follow the same steps as mentioned in the
+ "&lt;a
+ href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding"&gt;General
+ Notes on Encoding&lt;/a&gt;" regarding the "id" attribute for
+ UIInput components.
+ If the "disabled" attribute is specified, do not render the HTML "a"
+ anchor element or the "href" element. Instead, render a "span"
+ element.
+ If the "styleClass" attribute is specified, render its value as the
+ value
+ of the "class" attribute on the "span". Render any pass-through
+ attributes
+ on the "span".
+ </description>
+ <tag-name>outputLink</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutputLink</component-type>
+ <renderer-type>javax.faces.Link</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The character encoding of the resource designated
+ by this hyperlink.
+ </description>
+ <name>charset</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The position and shape of the hot spot on the screen
+ (for use in client-side image maps).
+ </description>
+ <name>coords</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never
+ receive focus or be included in a subsequent
+ submit.
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The language code of the resource designated
+ by this hyperlink.
+ </description>
+ <name>hreflang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The relationship from the current document
+ to the anchor specified by this hyperlink.
+ The value of this attribute is a space-separated
+ list of link types.
+ </description>
+ <name>rel</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ A reverse link from the anchor specified
+ by this hyperlink to the current document.
+ The value of this attribute is a space-separated
+ list of link types.
+ </description>
+ <name>rev</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The shape of the hot spot on the screen
+ (for use in client-side image maps). Valid
+ values are: default (entire region); rect
+ (rectangular region); circle (circular region);
+ and poly (polygonal region).
+ </description>
+ <name>shape</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name of a frame where the resource
+ retrieved via this hyperlink is to
+ be displayed.
+ </description>
+ <name>target</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The content type of the resource designated
+ by this hyperlink.
+ </description>
+ <name>type</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ If the "styleClass", "style", "dir" or "lang"
+ attributes are present, render a "span" element. If the
+ "styleClass" attribute is present, render its value as the value
+ of the "class" attribute. If the "style" attribute is present,
+ pass it thru. If the "escape" attribute is not present, or it is
+ present and its value is "true" all angle brackets should be
+ converted to the ampersand xx semicolon syntax when rendering the
+ value of the "value" attribute as the value of the component. If
+ the "escape" attribute is present and is "false" the value of the
+ component should be rendered as text without escaping.
+ </description>
+ <tag-name>outputText</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlOutputText</component-type>
+ <renderer-type>javax.faces.Text</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that characters that are sensitive
+ in HTML and XML markup must be escaped. This flag
+ is set to "true" by default.
+ </description>
+ <name>escape</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ <![CDATA[<div class="changed_added_2_0">
+
+ <p>Render the markup for a <code>&lt;script&gt;</code> element that
+ renders the script <code>Resource</code> specified by the optional
+ <code>name</code> attribute and <code>library</code> attributes.</p>
+
+ <p>The implementation of this renderer must have a <a target="_"
+ href="../../javadocs/javax/faces/event/ListenerFor.html"><code>@ListenerFor</code></a>
+ annotation attached to it, at the class level, declaring <a target="_"
+ href="../../javadocs/javax/faces/event/PostAddToViewEvent.html"><code>PostAddToViewEvent.class</code></a>
+ as the value of the <code>systemEventClass</code> attribute. The presence of
+ this annotation on a renderer implies the renderer implements <a
+ target="_"
+ href="../../javadocs/javax/faces/event/ComponentSystemEventListener.html"><code>ComponentSystemEventListener</code></a>,
+ which this renderer must do. The implementation of
+ <code>processEvent()</code> must extract the <code>UIComponent</code>
+ from the argument event and look for the presence of the key
+ "<code>target</code>" in the component's attribute <code>Map</code>. If
+ and only if such a key is present, the implementation of
+ <code>processEvent()</code> must pass the component to <a target="_"
+ href="../../javadocs/javax/faces/component/UIViewRoot.html#addComponentResource(javax.faces.context.FacesContext,%20javax.faces.component.UIComponent)"><code>UIViewRoot.addComponentResource()</code></a>.</p>
+
+ <p>Decode Behavior</p>
+
+ <ul>
+
+ <p>No action is required during decode for this renderer.</p>
+
+ </ul>
+
+ <p>Encode Behavior</p>
+
+ <ul>
+
+ <p><a name="ResourceCommonGetResource">Common Algorithm for Obtaining A Resource to Render</a></p>
+
+ <ul>
+
+ <p>This algorithm is used by all resource renderers to obtain
+ a <code>Resource</code> instance which is then rendered in a
+ specific way depending on what kind of renderer is doing the
+ encoding.</p>
+
+ <ul>
+
+ <li><p>Look in the component attribute <code>Map</code> for a
+ value under the key <em>name</em>.</p></li>
+
+ <li><p>Look in the component attribute <code>Map</code> for a
+ value under the key <em>library</em>. This attribute is
+ optional, therefore, <em>library</em> may be
+ <code>null</code>.</p></li>
+
+ <li><p>Create the resource by calling
+ <code>Application.getResourceHandler.createResource(<em>name</em>,
+ <em>library</em>);</code>.</p></li>
+
+ </p></li>
+
+ </ul>
+
+ </ul>
+
+ <p><a name="ResourceCommonEncode">Common Encode Behavior</a></p>
+
+ <ul>
+
+ <p>This algorithm is used by all resource renderers to render the
+ resource.</p>
+
+ <p><code>encodeBegin()</code> must take no action.</p>
+
+ <p>Because this renderer returns <code>true</code> from
+ <code>getRendersChildren()</code>, the <code>encodeChildren()
+ method must take the following action.</code></p>
+
+ <ul>
+
+ <li><p>If there is no <em>name</em> attribute, and the
+ argument <code>component</code> has no children, and
+ <code>ProjectStage</code> is not
+ <code>ProjectStage.Production</code>, add a
+ <code>FacesMessage</code> for this component's clientId to the
+ <code>FacesContext</code> stating that if no name attribute is
+ present, and no body content is present either, then the user
+ should take action to correct this problem. In this case,
+ <code>encodeChildren()</code> must take no further
+ action.</p></li>
+
+ <li><p>If there is no <em>name</em> attribute and the argument
+ <code>component</code> <b>does</b> have children, the renderer
+ must ensure that those children are encoded as usual.</p></li>
+
+ <li><p>If there <b>is</b> a <em>name</em> attribute and the
+ argument <code>component</code> <b>does</b> have children, the
+ renderer must log a descriptive localized message stating that
+ the child content will be ignored. The resource referenced by
+ the <em>name</em> attribute will be rendered in
+ <code>encodeEnd()</code>.</p></li>
+
+ <li><p>If there <b>is</b> a <em>name attribute</em> and the
+ argument <code>component</code> <b>does not</b> have children,
+ <code>encodeChildren()</code> must take no action.</p></li>
+
+ </ul>
+
+ <p><code>encodeEnd()</code> must take specific action based on
+ the specific kind of resource being rendered.</p>
+
+ </ul>
+
+ <p>Use the algorithm <em>Common Encode Behavior</em> for
+ <code>encodeBegin()</code>, <code>encodeChildren()</code> and
+ <code>getRendersChildren()</code>.</p>
+
+ <p>For <code>encodeEnd()</code>, use the algorithm <em>Common
+ Algorithm for Obtaining A Resource to Render</em> above to
+ obtain a reference to the <code>Resource</code> to be
+ encoded.</p>
+
+ <p>If this is NOT the first time this <code>Resource</code> has
+ been referenced on this request take no action and return.</p>
+
+ <p>Render a script element. Use the result from calling
+ <code>resource.getRequestPath()</code> as the value of the "src"
+ attribue and the result from calling
+ <code>resource.getContentType()</code> as the value of the "type"
+ attribute.</p>
+
+ </p>
+
+
+
+ </ul>
+
+
+
+ </div>]]>
+ </description>
+ <tag-name>
+ outputScript
+ </tag-name>
+ <component>
+ <component-type>javax.faces.Output</component-type>
+ <renderer-type>javax.faces.resource.Script</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[Converter instance registered with this component.]]>
+ </description>
+ <name>
+ converter
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.convert.Converter
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.]]>
+ </description>
+ <name>
+ id
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.]]>
+ </description>
+ <name>
+ rendered
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The current value of this component.]]>
+ </description>
+ <name>
+ value
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Object
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<div class="changed_added_2_0"><p>The <em>libraryName</em> for this resource.</p></div>]]>
+ </description>
+ <name>
+ library
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<div class="changed_added_2_0"><p>The <em>resourceName</em> for this resource.</p></div>]]>
+ </description>
+ <name>
+ name
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<div class="changed_added_2_0"><p>The <em>target</em> area for which this resource will be rendered. For example, <em>target="head"</em> would cause the resource to be rendered within the <em>head</em> element.</p></div>]]>
+ </description>
+ <name>
+ target
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ <![CDATA[<div class="changed_added_2_0">
+
+ <p>Render the markup for a <code>&lt;link&gt;</code> element that
+ renders the style <code>Resource</code> specified by the optional
+ <code>name</code> and <code>library</code> attributes.</p>
+
+ <p>Decode Behavior</p>
+
+ <ul>
+
+ <p>No action is required during decode for this renderer.</p>
+
+ </ul>
+
+ <p>Encode Behavior</p>
+
+ <ul>
+
+ <p>Use the algorithm <em>Common Encode Behavior</em> for
+ <code>encodeBegin()</code>, <code>encodeChildren()</code> and
+ <code>getRendersChildren()</code>.</p>
+
+ <p>For <code>encodeEnd()</code>, use the algorithm <a
+ href="javax.faces.Outputjavax.faces.resource.Script.html#ResourceCommonGetResource">Common
+ Algorithm for Obtaining A Resource to Render</a> to obtain a
+ reference to the <code>Resource</code> to be encoded.</p>
+
+ <p>Output a <code>&lt;link&gt;</code> element. Use the result from
+ calling <code>resource.getRequestPath()</code> as the value of the
+ "href" attribute, the result from calling
+ <code>resource.getContentType()</code> as the value of the "type"
+ attribute, the literal string "stylesheet" as the value of the "rel"
+ attribute, and the literal string "screen" as the value of the "media"
+ attribute.</p>
+
+ <p>The implementation of this renderer must have a <a target="_"
+ href="../../javadocs/javax/faces/event/ListenerFor.html"><code>@ListenerFor</code></a>
+ annotation attached to it, at the class level, declaring <a target="_"
+ href="../../javadocs/javax/faces/event/PostAddToViewEvent.html"><code>PostAddToViewEvent.class</code></a>
+ as the value of the <code>systemEventClass</code> attribute. The presence of
+ this annotation on a renderer implies the renderer implements <a target="_"
+ href="../../javadocs/javax/faces/event/ComponentSystemEventListener.html"><code>ComponentSystemEventListener</code></a>,
+ which this renderer must do. The implementation of
+ <code>processEvent()</code> must extract the <code>UIComponent</code>
+ from the argument event pass it to <a target="_"
+ href="../../javadocs/javax/faces/component/UIViewRoot.html#addComponentResource(javax.faces.context.FacesContext,%20javax.faces.component.UIComponent,%20java.lang.String)"><code>UIViewRoot.addComponentResource()</code></a>, specifying
+ the literal string "<code>head</code>" as the last argument.</p>
+
+ <p>The stylsheet renderer must ensure that any stylesheets are included in the &lt;head&gt; of the document.
+ </p>
+
+ </div>]]>
+ </description>
+ <tag-name>
+ outputStylesheet
+ </tag-name>
+ <component>
+ <component-type>javax.faces.Output</component-type>
+ <renderer-type>javax.faces.resource.Stylesheet</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ <![CDATA[Converter instance registered with this component.]]>
+ </description>
+ <name>
+ converter
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.convert.Converter
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.]]>
+ </description>
+ <name>
+ id
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.]]>
+ </description>
+ <name>
+ rendered
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ boolean
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[The current value of this component.]]>
+ </description>
+ <name>
+ value
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.Object
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<div class="changed_added_2_0"><p>The <em>libraryName</em> for this resource.</p></div>]]>
+ </description>
+ <name>
+ library
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ <![CDATA[<div class="changed_added_2_0"><p>The <em>resourceName</em> for this resource.</p></div>]]>
+ </description>
+ <name>
+ name
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ java.lang.String
+ </type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>
+ binding
+ </name>
+ <required>
+ false
+ </required>
+ <type>
+ javax.faces.component.UIComponent
+ </type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Renders an HTML "table" element, conforming to the
+ rules in the HTML 401 specification. Render the "caption" facet,
+ if present, inside a "caption" element immediately below the "table"
+ element.
+ If the "captionClass" attribute is specified, render its value as
+ the value
+ of the "class" attribute on the "caption" element. If the
+ "captionStyle" attribute
+ is specified, render its value as the value of the "style" attribute
+ on the "caption" element. If the "styleClass" attribute is
+ specified, render
+ its value as the value of the "class" attribute. Render the
+ pass-through
+ attributes in the table below. Render the "header" facet, if
+ present, inside of
+ "thead", "tr", and "th" elements, nested in that order. If the
+ "headerClass" attribute is specifed, render its value as the value
+ of the "class" attribute on the "th" element. Render "colgroup"
+ as the value of the "scope" attribute. Render the value of the
+ "columns" attribute as the value of the "colspan" attribute on the
+ "th" element. Render the "footer" facet if present, using similar
+ logic to the rendering of the "header", but replacing "thead" with
+ "tfoot", "th" with "td", and "headerClass" with "footerClass".
+ Render the children of the &lt;code&gt;UIPanel&lt;/code&gt;
+ component inside
+ of a "tbody" element. Render the children based on the value of
+ the "columns" attribute, creating a new row each time a "columns"
+ worth of children have been rendered. For the start of each row,
+ render a "tr" element. Output the value of the "rowClasses" per
+ the attribute description below. For each child, output a "td"
+ element, attaching the value of the "columnClasses" attribute per
+ the attribute description below. Recursively encode each child.
+ Close out the "td" element. When done with the row, close out the
+ "tr" element. If a child has "rendered==false" it is not rendered,
+ and the column counter must not be incremented.
+ </description>
+ <tag-name>panelGrid</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlPanelGrid</component-type>
+ <renderer-type>javax.faces.Grid</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Name or code of the background color for this table.
+ </description>
+ <name>bgcolor</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma separated list of row indices for which a new
+ "tbody" element should be started (and any
+ previously opened one should be ended).
+ </description>
+ <name>bodyrows</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width (in pixels) of the border to be drawn
+ around this table.
+ </description>
+ <name>border</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any caption generated for this table.
+ </description>
+ <name>captionClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this caption is rendered.
+ </description>
+ <name>captionStyle</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Definition of how much space the user agent should
+ leave between the border of each cell and its contents.
+ </description>
+ <name>cellpadding</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Definition of how much space the user agent should
+ leave between the left side of the table and the
+ leftmost column, the top of the table and the top of
+ the top side of the topmost row, and so on for the
+ right and bottom of the table. It also specifies
+ the amount of space to leave between cells.
+ </description>
+ <name>cellspacing</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma-delimited list of CSS style classes that will be applied
+ to the columns of this table. A space separated list of
+ classes may also be specified for any individual column. If
+ the number of elements in this list is less than the number of
+ actual column children of the UIData, no "class"
+ attribute is output for each column greater than the number of
+ elements in the list. If the number of elements in the list
+ is greater than the number of actual column children of the
+ UIData, the elements at the posisiton in the list
+ after the last column are ignored.
+ </description>
+ <name>columnClasses</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The number of columns to render before
+ starting a new row.
+ </description>
+ <name>columns</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any footer generated for this table.
+ </description>
+ <name>footerClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code specifying which sides of the frame surrounding
+ this table will be visible. Valid values are:
+ none (no sides, default value); above (top side only);
+ below (bottom side only); hsides (top and bottom sides
+ only); vsides (right and left sides only); lhs (left
+ hand side only); rhs (right hand side only); box
+ (all four sides); and border (all four sides).
+ </description>
+ <name>frame</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) that will be
+ applied to any header generated for this table.
+ </description>
+ <name>headerClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Comma-delimited list of CSS style classes that will be applied
+ to the rows of this table. A space separated list of classes
+ may also be specified for any individual row. Thes styles are
+ applied, in turn, to each row in the table. For example, if
+ the list has two elements, the first style class in the list
+ is applied to the first row, the second to the second row, the
+ first to the third row, the second to the fourth row, etc. In
+ other words, we keep iterating through the list until we reach
+ the end, and then we start at the beginning again.
+ </description>
+ <name>rowClasses</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code specifying which rules will appear between cells
+ within this table. Valid values are: none (no rules,
+ default value); groups (between row groups); rows
+ (between rows only); cols (between columns only); and
+ all (between all rows and columns).
+ </description>
+ <name>rules</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Summary of this table's purpose and structure, for
+ user agents rendering to non-visual media such as
+ speech and Braille.
+ </description>
+ <name>summary</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width of the entire table, for visual user agents.
+ </description>
+ <name>width</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Intended for use in situations when only one
+ UIComponent child can be nested, such as in the case of facets.
+ If the "style" or "styleClass" attributes are present, and the
+ "layout"
+ attribute is present with a value of "block", render a "div"
+ element,
+ outputting the value of the "style" attribute as the value of the
+ "style" attribute and the value of the "styleClass" attribute as the
+ value of the "class" attribute. Otherwise, if the "layout" attribute
+ is not present, or the "layout" attribute contains a value other
+ than
+ "block", render a "span" element, outputting the value of the
+ "style" attribute as the value of the "style" attribute, and the
+ value
+ of the "styleClass" attribute as the value of the "class"
+ attribute.
+ </description>
+ <tag-name>panelGroup</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlPanelGroup</component-type>
+ <renderer-type>javax.faces.Group</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ The type of layout markup to use when rendering this group.
+ If the value is "block" the renderer must produce an HTML
+ "div" element. Otherwise HTML "span" element must
+ be produced.
+ </description>
+ <name>layout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" property on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Renders an HTML "input" element of type "checkbox".&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterMap"
+ property of the &lt;code&gt;ExternalContext&lt;/code&gt;. If there
+ is no
+ entry in the &lt;code&gt;Map&lt;/code&gt; for the "clientId" of this
+ component, pass "false" to the &lt;code&gt;setSubmittedValue()&lt;/code&gt;
+ method of the component, which must be an instance of
+ &lt;code&gt;EditableValueHolder&lt;/code&gt;. If there is an entry,
+ and its
+ value is equal, ignoring case and without quotes, to any of the
+ Strings: "on", "yes" or "true" pass true to the
+ &lt;code&gt;setSubmittedValue()&lt;/code&gt; method of the
+ component.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;
+ Render the clientId of the component as the value of the "name"
+ attribute. If the current value of the component is "true",
+ output the "checked" attribute (must be rendered as
+ checked="checked").
+ If the "styleClass" attribute is specified, render its value as the
+ value
+ of the "class" attribute.&lt;/p&gt; &lt;/ul&gt;
+ </description>
+ <tag-name>selectBooleanCheckbox</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectBooleanCheckbox
+ </component-type>
+ <renderer-type>javax.faces.Checkbox</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Render&lt;/span&gt; an HTML checkbox
+ list.&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the &lt;a
+ href="SelectManyListbox.html"&gt;"Decode
+ Behavior for UISelectMany Components"&lt;/a&gt; section.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render a "table" element. If the "styleClass" is specified,
+ render the value of the "styleClass" attribute as the value of the
+ "class" attribute on the "table" element. If the "style", or
+ "border" attributes are specified, pass them thru &lt;span
+ class="changed_added_2_0"&gt;and render their values as the "style"
+ and "border" attributes on the "table", respectively.&lt;/span&gt;
+ If
+ the "layout" attribute is specified, and its value is
+ "pageDirection", render the children elements vertically,
+ otherwise horizontally, in the table. If any of the children are
+ an instance of SelectItemGroup, render them as a nested table.
+ Each of the children are ultimately rendererd as follows. Render
+ an "input" element of "type" "checkbox" for each child component.
+ Render the "name" attribute on the "input" element with the value
+ of the &lt;code&gt;clientId&lt;/code&gt; of the component. Render an
+ "id"
+ attribute on the "input" element. Each "id" value must be unique.
+ If the current SelectItem.isDisabled() returns true, render
+ "disabled" as the value of the "disabled" attribute. Close out
+ the "input" element. Render a "label" element. Render the "for"
+ attribute of the "label" element whose value is the corresponding
+ "input" element's "id" value. Render any "style" as the "class"
+ attribute on the "label" element. &lt;span
+ class="changed_added_2_0"&gt;If the current checkbox would be
+ rendered as being checked, and there is a "selectedClass"
+ attribute, append a space, followed by the value of the
+ "selectedClass" attribute to any existing "class" attribute value
+ on the label element. Otherwise, render the value of the
+ "selectedClass" attribute as the value of the "class" attribute on
+ the label element. If the current checkbox would be rendered as
+ being not checked, and there is a "unselectedClass" attribute,
+ append a space, followed by the value of the "unselectedClass"
+ attribute to any existing "class" attribute value on the label
+ element. Otherwise, render the value of the "unselectedClass"
+ attribute as the value of the "class" attribute on the label
+ element.&lt;/span&gt; Close out the starting "label" element and
+ render
+ the label value from SelectItem.getLabel(). Close out the "label"
+ element. As an exception to the general rules about how to handle
+ the "id" attribute, render it as an attribute on the outer "table"
+ element, the value of which is the &lt;code&gt;clientId&lt;/code&gt;
+ of the
+ component per the rules at the beginning of this specification.
+ The value of the current SelectItem is rendered as the value of
+ the "value" attribute. Coerce the value of the currently rendered
+ child to the type of the parent UISelectMany value following the
+ Expression Language coercion rules, before comparing the values.
+ If the value of the enclosing UISelectMany matches the current
+ value, render "checked" as the value of the "checked" attribute.
+ See the &lt;a
+ href="SelectManyListbox.html"&gt;"Rendering
+ the option elements" &lt;/a&gt; specification for
+ &lt;code&gt;ListboxRenderer&lt;/code&gt; for more detail on how to
+ render the
+ "option" elements in this renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectManyCheckbox</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectManyCheckbox</component-type>
+ <renderer-type>javax.faces.Checkbox</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width (in pixels) of the border to be drawn
+ around the table containing the options list.
+ </description>
+ <name>border</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt; Optional
+ attribute that is a literal string that is the fully qualified
+ class name of a concrete class that implements
+ &lt;code&gt;java.util.Collection&lt;/code&gt;, or an EL
+ expression that
+ evaluates to either 1. such a String, or 2. the
+ &lt;code&gt;Class&lt;/code&gt; object itself. &lt;/p&gt;
+ </description>
+ <name>collectionType</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Orientation of the options list to be created.
+ Valid values are "pageDirection" (list is laid
+ out vertically), or "lineDirection" (list is
+ laid out horizontally). If not specified, the
+ default value is "lineDirection".
+ </description>
+ <name>layout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on selected options.
+ </description>
+ <name>selectedClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on unselected options.
+ </description>
+ <name>unselectedClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Render&lt;/span&gt; an HTML option
+ list.&lt;/p&gt;
+ &lt;p&gt;Decode Behavior&lt;/p&gt;
+ &lt;p&gt;This section documents the decode behavior for all
+ renderers
+ that handle &lt;code&gt;UISelectMany&lt;/code&gt; or &lt;code&gt;UISelectOne&lt;/code&gt;
+ components.&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;&lt;a name="decodeMany"&gt;Decode Behavior for
+ &lt;code&gt;UISelectMany&lt;/code&gt; components&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterValuesMap" property of the
+ &lt;code&gt;ExternalContext&lt;/code&gt;. If the &lt;code&gt;Map&lt;/code&gt;
+ contains
+ an entry for the "clientId" of the component, pass the value of
+ the entry, cast to a &lt;code&gt;String []&lt;/code&gt;, to the
+ &lt;code&gt;setSubmittedValue()&lt;/code&gt; method of the
+ component, which
+ must be an &lt;code&gt;EditableValueHolder&lt;/code&gt;. If the
+ &lt;code&gt;Map&lt;/code&gt; does not contain an entry, create an
+ empty
+ &lt;code&gt;String&lt;/code&gt; array and call
+ &lt;code&gt;setSubmittedValue()&lt;/code&gt; with it.&lt;/p&gt;
+ &lt;p class="changed_modified_2_0"&gt;Please check the javadoc for
+ &lt;a
+ href="../../javadocs/javax/faces/component/UISelectMany.html#getConvertedvalue"&gt;UISelectMany.getConvertedValue()&lt;/a&gt;
+ for additional requirements for renderers that render this kind
+ of component.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;&lt;a name="decodeOne"&gt;Decode Behavior for
+ &lt;code&gt;UISelectOne&lt;/code&gt; components&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Obtain the &lt;code&gt;Map&lt;/code&gt; from the
+ "requestParameterMap"
+ property of the &lt;code&gt;ExternalContext&lt;/code&gt;. If there
+ is a
+ &lt;code&gt;Map&lt;/code&gt; entry for the "clientId" property of
+ the
+ component, pass it to the &lt;code&gt;setSubmittedValue()&lt;/code&gt;
+ method
+ of the component. &lt;span class="changed_added_2_0"&gt;If the
+ &lt;code&gt;Map&lt;/code&gt; does not contain an entry, call
+ &lt;code&gt;setSubmittedValue()&lt;/code&gt; passing an empty
+ &lt;code&gt;String&lt;/code&gt; as the argument.&lt;/span&gt; &lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render an HTML "select" element. Render the clientId of
+ the component as the value of the "name" attribute. If the
+ "styleClass"
+ attribute is specified, render its value as the value of the "class"
+ attribute on the "select" element. If the component is a
+ &lt;code&gt;UISelectMany&lt;/code&gt; instance, render "multiple" as
+ the value of the
+ "multiple" attribute. If the "size" attribute is specified, render
+ its
+ value as the value of the "size" attribute. Otherwise use the number
+ of
+ items as the value of the "size" attribute.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;&lt;a name="option"&gt;Rendering the "option" elements&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;The only valid children of this component are
+ &lt;code&gt;UISelectItem&lt;/code&gt; or &lt;code&gt;UISelectItems&lt;/code&gt;
+ instances. Iterate over the children of this component, and accrue
+ a list of &lt;code&gt;javax.faces.model.SelectItem&lt;/code&gt;
+ instances.
+ &lt;span class="changed_added_2_0"&gt;If the current child is a
+ &lt;code&gt;SelectItem&lt;/code&gt; whose &lt;code&gt;noSelctionProperty&lt;/code&gt;
+ is
+ &lt;code&gt;true&lt;/code&gt;, &lt;b&gt;and&lt;/b&gt; the &lt;code&gt;UISelectOne&lt;/code&gt;
+ or
+ &lt;code&gt;UISelectMany&lt;/code&gt; parent of this option has one
+ or more
+ selected values that &lt;b&gt;are not&lt;/b&gt; the "no selection"
+ &lt;code&gt;SelectItem&lt;/code&gt;, &lt;b&gt;and&lt;/b&gt; the
+ component has a
+ "hideNoSelectionLabel" attribute whose value is &lt;code&gt;true&lt;/code&gt;,
+ then the current option, which is the "no selection" option, must
+ not be rendered.&lt;/span&gt; If the current child is a
+ &lt;code&gt;UISelectItem&lt;/code&gt; create a &lt;code&gt;SelectItem&lt;/code&gt;instance
+ from its &lt;code&gt;itemValue, itemLabel&lt;/code&gt;, &lt;code
+ class="changed_added_2_0"&gt;itemEscaped&lt;/code&gt;, and
+ &lt;code&gt;itemDescription&lt;/code&gt; properties, add it to the
+ list. If
+ the current child is a &lt;code&gt;UISelectItems&lt;/code&gt;
+ instance, call
+ its &lt;code&gt;getValue()&lt;/code&gt; method. If the result is a
+ &lt;code&gt;SelectItem&lt;/code&gt; bean, add it to the list. If the
+ result
+ is an array of &lt;code&gt;SelectItem&lt;/code&gt; beans, add each
+ one to the
+ list. If the result is a &lt;code&gt;Collection&lt;/code&gt; of
+ &lt;code&gt;SelectItem&lt;/code&gt; beans, add each one to the list.
+ If the
+ result is a &lt;code&gt;Map&lt;/code&gt;, create a &lt;code&gt;SelectItem&lt;/code&gt;
+ bean for each entry in the &lt;code&gt;Map&lt;/code&gt; using the
+ key as the
+ label, the value as the value, and &lt;code&gt;null&lt;/code&gt; as
+ the
+ description.&lt;/p&gt;
+ &lt;p&gt;Iterate over the list of &lt;code&gt;SelectItem&lt;/code&gt;
+ beans. If the
+ current element is a &lt;code&gt;SelectItemGroup&lt;/code&gt;,
+ render an
+ "optgroup" element with a "label" attribute, the value of which is
+ the "label" property from the current element, then call
+ &lt;code&gt;getSelectItems()&lt;/code&gt; and render each element as
+ below.
+ If the current element is not a &lt;code&gt;SelectItemGroup&lt;/code&gt;,
+ render an "option" element. Follow the conversion rules in the
+ spec to obtain a renderable &lt;code&gt;String&lt;/code&gt; from the
+ "value"
+ property of the current element, render that as the value of the
+ "value" atribute. Now it is time to see if the current element is
+ the selected value. Call its &lt;code&gt;getSubmittedValue()&lt;/code&gt;
+ method, casting the result to an &lt;code&gt;Object []&lt;/code&gt;,
+ otherwise
+ the component must be a &lt;code&gt;UISelectOne&lt;/code&gt;
+ instance, call
+ its &lt;code&gt;getSubmittedValue()&lt;/code&gt; method and create
+ an
+ &lt;code&gt;Object []&lt;/code&gt; around the result. Determine the
+ type of
+ the resultant array, if the resultant array is non-null, otherwise
+ the type is &lt;code&gt;String&lt;/code&gt;. Coerce the current item
+ value to
+ this type following the Expression Language coercion rules. If
+ the resultant array is non-null, we look in the array for a value
+ that, when we pass the renderable value to its
+ &lt;code&gt;equals()&lt;/code&gt; method, it returns &lt;code&gt;true&lt;/code&gt;,
+ meaning the current element is selected. If the resultant array
+ is &lt;code&gt;null&lt;/code&gt;, if the component is a
+ &lt;code&gt;UISelectMany&lt;/code&gt;, call its &lt;code&gt;getValue()&lt;/code&gt;
+ method. If the result is a &lt;code&gt;List&lt;/code&gt; obtain the
+ values in
+ the list as an array. Otherwise, the component must be a
+ &lt;code&gt;UISelectOne&lt;/code&gt; instance. Call its
+ &lt;code&gt;getValue()&lt;/code&gt; method, which must be an Object
+ array.
+ Look for an element in the resultant array that, 1. when we pass
+ the renderable value to its &lt;code&gt;equals()&lt;/code&gt;
+ method, it
+ returns &lt;code&gt;true&lt;/code&gt; , or 2. if the renderable
+ value is null,
+ and there is a null element in the array, also conclude that the
+ current element is selected. Otherwise the current element is not
+ selected. Now, if the current value is selected, write out an
+ HTML boolean property "selected". If the current
+ SelectItem.isDisabled() returns true, render "disabled" as the
+ value of the "disabled" attribute. &lt;span
+ class="changed_added_2_0"&gt;If the value of the &lt;code&gt;escape&lt;/code&gt;
+ property is true, use the &lt;code&gt;writeText()&lt;/code&gt;
+ method of
+ &lt;code&gt;ResponseWriter&lt;/code&gt; to write out the value of
+ the
+ &lt;code&gt;label&lt;/code&gt; property. Otherwise, use the
+ &lt;code&gt;write()&lt;/code&gt; method of the &lt;code&gt;ResponseWriter&lt;/code&gt;
+ to
+ do so.&lt;/span&gt;&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectManyListbox</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectManyListbox</component-type>
+ <renderer-type>javax.faces.Listbox</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt; Optional
+ attribute that is a literal string that is the fully qualified
+ class name of a concrete class that implements
+ &lt;code&gt;java.util.Collection&lt;/code&gt;, or an EL
+ expression that
+ evaluates to either 1. such a String, or 2. the
+ &lt;code&gt;Class&lt;/code&gt; object itself. &lt;/p&gt;
+ </description>
+ <name>collectionType</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Number of available options to be shown at all times.
+ If not specified, all available options are shown.
+ </description>
+ <name>size</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Render&lt;/span&gt; an HTML option
+ list.&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the &lt;a
+ href="SelectManyListbox.html"&gt;"Decode
+ Behavior for UISelectMany Components"&lt;/a&gt; section.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render an HTML "select" element. Render the clientId of
+ the component as the value of the "name" attribute. If the
+ "styleClass"
+ attribute is specified, render its value as the value of the "class"
+ attribute on the "select" element. If the component
+ to be rendered is a UISelectMany, render "multiple" as the value of
+ the "multiple" attribute. Render "1" as the value of the "size"
+ attribute. See the &lt;a
+ href="SelectManyListbox.html"&gt;"Rendering the option
+ elements" &lt;/a&gt; specification for &lt;code&gt;ListboxRenderer&lt;/code&gt;
+ for
+ more detail on how to render the "option" elements in this
+ renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectManyMenu</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectManyMenu</component-type>
+ <renderer-type>javax.faces.Menu</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt; Optional
+ attribute that is a literal string that is the fully qualified
+ class name of a concrete class that implements
+ &lt;code&gt;java.util.Collection&lt;/code&gt;, or an EL
+ expression that
+ evaluates to either 1. such a String, or 2. the
+ &lt;code&gt;Class&lt;/code&gt; object itself. &lt;/p&gt;
+ </description>
+ <name>collectionType</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Render an HTML option list.&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the &lt;a
+ href="SelectManyListbox.html"&gt;"Decode
+ Behavior for UISelectOne Components"&lt;/a&gt; section.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render an HTML "select" element. Render the clientId of
+ the component as the value of the "name" attribute. If the
+ "styleClass"
+ attribute is specified, render its value as the value of the "class"
+ attribute on the "select" element. If the component
+ to be rendered is a UISelectMany, render "multiple" as the value of
+ the "multiple" attribute. If the "size" attribute is specified,
+ render its value as the value of the "size" attribute. Otherwise
+ use the number of items as the value of the "size" attribute. See
+ the &lt;a href="SelectManyListbox.html"&gt;"Rendering the option
+ elements" &lt;/a&gt; specification for &lt;code&gt;ListboxRenderer&lt;/code&gt;
+ for
+ more detail on how to render the "option" elements in this
+ renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectOneListbox</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectOneListbox</component-type>
+ <renderer-type>javax.faces.Listbox</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Number of available options to be shown at all times.
+ If not specified, all available options are shown.
+ </description>
+ <name>size</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;Render an HTML option list.&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the &lt;a
+ href="SelectManyListbox.html"&gt;"Decode
+ Behavior for UISelectOne Components"&lt;/a&gt; section.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render an HTML "select" element. Render the clientId of the
+ component as the value of the "name" attribute. If the
+ "styleClass" attribute is specified, render its value as the value
+ of the "class" attribute on the "select" element. If the component
+ to be rendered is a UISelectMany, render "true" as the value of
+ the "multiple" attribute. Use the number of items as the value of
+ the "size" attribute. See the &lt;a
+ href="SelectManyListbox.html"&gt;"Rendering
+ the option elements" &lt;/a&gt; specification for
+ &lt;code&gt;ListboxRenderer&lt;/code&gt; for more detail on how to
+ render the
+ "option" elements in this renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectOneMenu</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectOneMenu</component-type>
+ <renderer-type>javax.faces.Menu</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </description>
+ <name>onmouseup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when text within this
+ element is selected by the user.
+ </description>
+ <name>onselect</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this component will prohibit changes by
+ the user. The element may receive focus unless it has also
+ been disabled. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as readonly="readonly".
+ </description>
+ <name>readonly</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style(s) to be applied when this component is rendered.
+ </description>
+ <name>style</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Space-separated list of CSS style class(es) to be applied when
+ this element is rendered. This value must be passed through
+ as the "class" attribute on generated markup.
+ </description>
+ <name>styleClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Position of this element in the tabbing order
+ for the current document. This value must be
+ an integer between 0 and 32767.
+ </description>
+ <name>tabindex</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Advisory title information about markup elements generated
+ for this component.
+ </description>
+ <name>title</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The ValueExpression linking this component to a property in a
+ backing bean
+ </description>
+ <name>binding</name>
+ <required>false</required>
+ <type>javax.faces.component.UIComponent</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ &lt;p&gt;&lt;span
+ class="changed_modified_2_0"&gt;Render&lt;/span&gt; a set of html
+ "input" elements of type "radio".&lt;/p&gt;
+ &lt;p&gt;&lt;a name="decode"&gt;Decode Behavior&lt;/a&gt;&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;See the &lt;a
+ href="SelectManyListbox.html"&gt;"Decode
+ Behavior for UISelectOne Components"&lt;/a&gt; section.&lt;/p&gt;
+ &lt;/ul&gt;
+ &lt;p&gt;Encode Behavior&lt;/p&gt;
+ &lt;ul&gt;
+ &lt;p&gt;Render a "table" element. If the "styleClass" is specified,
+ render the value of the "styleClass" attribute as the value of the
+ "class" attribute on the "table" element. If the "style", "border"
+ attributes are specified, pass them thru &lt;span
+ class="changed_added_2_0"&gt;and render their values as the "style"
+ and "border" attributes on the "table", respectively.&lt;/span&gt;.
+ If
+ the "layout" attribute is specified, and its value is
+ "pageDirection", render the children elements vertically,
+ otherwise horizontally, in the table. If any of the children are
+ an instance of SelectItemGroup, render them as a nested table.
+ Each of the children are ultimately rendered as follows. Render
+ an "input" element of "type" "radio" for each child component.
+ Render the "name" attribute on the "input" element with the value
+ of the &lt;code&gt;clientId&lt;/code&gt; of the component. Render an
+ "id"
+ attribute on the "input" element. Each "id" value must be unique.
+ If the current SelectItem.isDisabled() returns true, render
+ "disabled" as the value of the "disabled" attribute. Close out
+ the "input" element. Render a "label" element. Render the "for"
+ attribute of the "label" element whose value is the corresponding
+ "input" element's "id" value. Render any "style" as the "class"
+ attribute on the "label" element. Close out the starting "label"
+ element and render the label value from SelectItem.getLabel().
+ Close out the "label" element. As an exception to the general
+ rules about how to handle the "id" attribute, render it as an
+ attribute on the outer "table" element, the value of which is the
+ &lt;code&gt;clientId&lt;/code&gt; of the component per the rules at
+ the
+ beginning of this specification. Coerce the value of the
+ currently rendered child to the type of the parent UISelectOne
+ value using the Expression Language coercion rules before
+ comparing the values. If the value of the currently rendered
+ child is equal to the value of the parent UISelectOne, render an
+ appropriate HTML boolean value indicating "checked" for the
+ enclosing "input". See the &lt;a
+ href="SelectManyListbox.html"&gt;"Rendering
+ the option elements" &lt;/a&gt; specification for
+ &lt;code&gt;ListboxRenderer&lt;/code&gt; for more detail on how to
+ render the
+ "option" elements in this renderer.&lt;/p&gt;
+ &lt;/ul&gt;
+ </description>
+ <tag-name>selectOneRadio</tag-name>
+ <component>
+ <component-type>javax.faces.HtmlSelectOneRadio</component-type>
+ <renderer-type>javax.faces.Radio</renderer-type>
+ </component>
+ <attribute>
+ <description>
+ Converter instance registered with this component.
+ </description>
+ <name>converter</name>
+ <required>false</required>
+ <type>javax.faces.convert.Converter</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the converter message, replacing any message
+ that comes from the converter.
+ </description>
+ <name>converterMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The component identifier for this component. This value must be
+ unique within the closest parent component that is a naming
+ container.
+ </description>
+ <name>id</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <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>
+ <name>immediate</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating whether or not this component should be rendered
+ (during Render Response Phase), or processed on any subsequent
+ form submit. The default value for this property is true.
+ </description>
+ <name>rendered</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that the user is required to provide a submitted
+ value for this input component.
+ </description>
+ <name>required</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validation message for the "required"
+ facility, if the "required" facility is used.
+ </description>
+ <name>requiredMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ MethodExpression representing a validator method that will be
+ called
+ during Process Validations to perform correctness checks on the
+ value of this component. The expression must evaluate to a
+ public
+ method that takes FacesContext, UIComponent, and Object
+ parameters,
+ with a return type of void.
+ </description>
+ <name>validator</name>
+ <required>false</required>
+ <method-signature>void validate(javax.faces.context.FacesContext,
+ javax.faces.component.UIComponent, java.lang.Object)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ A ValueExpression enabled attribute that, if present, will be
+ used as the text of the validator message, replacing any
+ message that comes from the validator.
+ </description>
+ <name>validatorMessage</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ The current value of this component.
+ </description>
+ <name>value</name>
+ <required>false</required>
+ <type>java.lang.Object</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p&gt;
+ MethodExpression representing a value change listener method
+ that will be notified when a new value has been set for this
+ input component. The expression must evaluate to a public
+ method that takes a &lt;code&gt;ValueChangeEvent&lt;/code&gt;
+ parameter,
+ with a return type of void, &lt;span class="changed_added_2_0"&gt;or
+ to a public method that takes no arguments with a return type
+ of void. In the latter case, the method has no way of easily
+ knowing what the new value is, but this can be useful in cases
+ where a notification is needed that "this value
+ changed".&lt;/span&gt;
+ &lt;/p&gt;
+ </description>
+ <name>valueChangeListener</name>
+ <required>false</required>
+ <method-signature>void
+ valueChange(javax.faces.event.ValueChangeEvent)
+ </method-signature>
+ </attribute>
+ <attribute>
+ <description>
+ Access key that, when pressed, transfers focus
+ to this element.
+ </description>
+ <name>accesskey</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Width (in pixels) of the border to be drawn
+ around the table containing the options list.
+ </description>
+ <name>border</name>
+ <required>false</required>
+ <type>int</type>
+ </attribute>
+ <attribute>
+ <description>
+ Direction indication for text that does not inherit
+ directionality.
+ Valid values are "LTR" (left-to-right) and "RTL"
+ (right-to-left).
+ </description>
+ <name>dir</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Flag indicating that this element must never receive focus or
+ be included in a subsequent submit. A value of false causes
+ no attribute to be rendered, while a value of true causes the
+ attribute to be rendered as disabled="disabled".
+ </description>
+ <name>disabled</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on disabled options.
+ </description>
+ <name>disabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ CSS style class to apply to the rendered label
+ on enabled options.
+ </description>
+ <name>enabledClass</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ &lt;p class="changed_modified_2_0"&gt;
+ Flag indicating that, if this component is activated by the
+ user,
+ The "no selection option", if any, must be hidden.&lt;/p&gt;
+ </description>
+ <name>hideNoSelectionOption</name>
+ <required>false</required>
+ <type>boolean</type>
+ </attribute>
+ <attribute>
+ <description>
+ A localized user presentable name for this component.
+ </description>
+ <name>label</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Code describing the language used in the generated markup
+ for this component.
+ </description>
+ <name>lang</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Orientation of the options list to be created.
+ Valid values are "pageDirection" (list is laid
+ out vertically), or "lineDirection" (list is
+ laid out horizontally). If not specified, the
+ default value is "lineDirection".
+ </description>
+ <name>layout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus.
+ </description>
+ <name>onblur</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element loses focus
+ and its value has been modified since gaining focus.
+ </description>
+ <name>onchange</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ clicked over this element.
+ </description>
+ <name>onclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ double clicked over this element.
+ </description>
+ <name>ondblclick</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when this element receives focus.
+ </description>
+ <name>onfocus</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed down over this element.
+ </description>
+ <name>onkeydown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ pressed and released over this element.
+ </description>
+ <name>onkeypress</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a key is
+ released over this element.
+ </description>
+ <name>onkeyup</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ pressed down over this element.
+ </description>
+ <name>onmousedown</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved within this element.
+ </description>
+ <name>onmousemove</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved away from this element.
+ </description>
+ <name>onmouseout</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ moved onto this element.
+ </description>
+ <name>onmouseover</name>
+ <required>false</required>
+ <type>java.lang.String</type>
+ </attribute>
+ <attribute>
+ <description>
+ Javascript code executed when a pointer button is
+ released over this element.
+ </des