<taglib>
	<tag>
		<description>
			This works the same as ActionListener or ValueChangeListener, but for an AJAX container. Add the specified class
			as a listener for AjaxEvent (sent in case of an AJAX request
			for this container).
		</description>

		<name>ajaxListener</name>

		<tag-class>org.ajax4jsf.taglib.html.jsp.AjaxListenerTag</tag-class>

		<body-content>JSP</body-content>

		<attribute>
			<description> Fully qualified Java class name of an AjaxListener to be created and registered.</description>
			<name>type</name>
			<required>true</required>
            <deferred-value>
                <type>java.lang.String</type>
            </deferred-value>
		</attribute>
	</tag>

	<tag>
		<description>
			This tag get bean by EL expression '#{'+name+'}' and store bean instance in component tree. After restoring view state, bean is putted to request-scope attributes with name.
			Since, every view will be use own instance of bean for expressions '#{name....}'
		</description>
		<name>keepAlive</name>

		<tag-class>org.ajax4jsf.taglib.html.jsp.KeepAliveTag</tag-class>

		<body-content>JSP</body-content>

		<attribute>
			<description> name of bean for EL-expressions.</description>
			<name>beanName</name>
			<required>true</required>
			<deferred-value>
				<type>java.lang.String</type>
			</deferred-value>
		</attribute>

		<attribute>
			<description> if true, bean value restored in ajax requests only.</description>
			<name>ajaxOnly</name>
			<required>false</required>
			<deferred-value>
				<type>java.lang.String</type>
			</deferred-value>
		</attribute>
	</tag>
</taglib>