FaceletComposite.display-label=Facelet Composite
FaceletComposite.description=This tag library allows composite facelet components to be defined

actionSource.display-label=actionSource
actionSource.description=Declares that the composite component whose contract is declared by the \
 &lt;composite:interface&gt;  \
in which this element is nested exposes an implementation of \
ActionSource2 \
suitable for use as the target of attached objects in the using page.

attribute.display-label=attribute
attribute.description=Declares an attribute that may be given to an instance of the composite component tag for this composite component

editableValueHolder.display-label=editableValueHolder
editableValueHolder.description=Declares that the composite component whose contract is declared by the \
 &lt;composite:interface&gt;  \
in which this element is nested exposes an implementation of \
EditableValueHolder \
suitable for use as the target of attached objects in the using page. 

extension.display-label=extension
extension.description=Used within a \
&lt;composite:interface&gt; \
section, within any sub-element of that section, to include XML content not defined by this specification.

facet.display-label=facet
facet.description=Declares that this composite component supports a facet with the name given by the value of the "name" attribute. 

implementation.display-label=implementation
implementation.description=Defines the implementation of the composite component. \
There must be zero or one of these in a composite component markup file. If a \
 &lt;composite:interface&gt;  \
element appears, there must be a corresponding \
&lt;composite-implementation&gt; element.   
If no  &lt;composite:interface&gt;  element appears, \
the &lt;composite-implementation&gt; element is optional. 

insertChildren.display-label=insertChildren
insertChildren.description=This element is used in the composite-implementation 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;composite-implementation&gt;  section.

insertFacet.display-label=insertFacet
insertFacet.description=The presence of this tag in a \
 &lt;composite-implementation&gt; section \
must cause the named facet to be taken from the facet map of the top level component \
and inserted as a facet child of the component in which this element is nested.

interface.display-label=interface
interface.description=This element declares the usage contract for a composite component. 

renderFacet.display-label=renderFacet
renderFacet.description=This element is used in the \
&lt;composite:implementation&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. 
<p>
The implementation of this tag handler must insert a component \
with component-type javax.faces.Output \ 
and renderer-type javax.faces.CompositeFacet \
as a child at this point in the component tree.
<p>
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 UIComponent.FACETS_KEY. \
The value for this key must be the evaluated value of the "name" attribute.

valueHolder.display-label=valueHolder
valueHolder.description=Declares that the composite component whose contract is declared by the \
&lt;composite:interface&gt; \
in which this element is nested exposes an implementation of \
ValueHolder \
suitable for use as the target of attached objects in the using page. 


interface_name.description=The name of this composite component. Advisory only. The real name is taken from the filename.
componentType.description=The component-type of the UIComponent that will serve as the composite component root for this composite component. The declared component-family for this component must be javax.faces.NamingContainer.
displayName.description=The name to display in a tool palette containing this component. 
preferred.description=Is this a "preferred" component.
expert.description=Is this component only for expert users.
shortDescription.description=A short description of the purpose of this component. 

name.description=The name of the attribute as it must appear on the composite component tag in the using page.
attribute_targets.description=If this element has a method-signature attribute, the value of the targets attribute must be interpreted as a space (not tab) separated list of client ids (relative to the top level component) of components within the &lt;composite:implementation&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 MethodExpression from the composite component tag in the using page must be applied. If this element has a method-signature attribute, but no targets attribute, the value of the name attribute is used as the single entry in the list. If the value of the name attribute is not one of the special values listed in the description of the name attribute, targets (or its derived value) need not correspond to the id of an inner component.
default.description=If this attribute is not required, and a value is not supplied by the page author, use this as the default value.
required.description=True if the page author must supply a value for this attribute.
method-signature.description=Declares that this attribute must be a MethodExpression 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.
type.description=Declares that this attribute must be a ValueExpression whose expected type is given by the value of this attribute. If not specified, and no "method-signature" attribute is present, java.lang.Object is assumed. This attribute is mutually exclusive with the "type" attribute. If both attributes are present, the "method-signature" attribute is ignored. 

insertFacet_name.description=The name of the facet child on the top level component which must be inserted as a facet child of the component in which this element is nested.
actionSource_name.description=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 <composite:implementation> ActionListener should be mapped to. 
targets.description=If present, this must be a space (not tab) separated list of client ids (relative to the top level component) of components within the <composite:implementation> section. Space is used as the delimiter for compatibility with the IDREFS and NMTOKENS data types from the XML Schema.

valueHolder_name.description=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 <composite:implementation> ActionListener should be mapped to. 

 