<jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:spring="http://www.springframework.org/tags" version="2.0">
	<jsp:output omit-xml-declaration="yes"/>
	
	<jsp:directive.attribute name="id" type="java.lang.String" required="true" description="The identifier for this tag (do not change!)"/>
	<jsp:directive.attribute name="label" type="java.lang.String" required="false" description="The label for this category (if not set the resource bundle is used)"/>
	<jsp:directive.attribute name="render" type="java.lang.Boolean" required="false" description="Indicate if the contents of this tag and all enclosed tags should be rendered (default 'true')" />
	<jsp:directive.attribute name="z" type="java.lang.String" required="false" description="Used for checking if element has been modified (to recalculate simply provide empty string value)"/>
	
	<c:if test="${empty render or render}">

		<c:if test="${empty label}">
			<spring:message code="menu_category_${fn:toLowerCase(fn:substringAfter(id,'_'))}_label" var="label"/>
		</c:if>
		
		<li id="${fn:escapeXml(id)}">
			<h2>
				<c:out value="${label}" />
			</h2>
			<ul>
				<jsp:doBody />
			</ul>
		</li>
	
	</c:if>
</jsp:root>