<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee https://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
		version="2.0">

	<description>Spring Framework JSP Tag Library</description>
	<tlib-version>4.0</tlib-version>
	<short-name>spring</short-name>
	<uri>http://www.springframework.org/tags</uri>

	<tag>
		<description>Sets default HTML escape value for the current page.
		Overrides a "defaultHtmlEscape" context-param in web.xml, if any.</description>
		<name>htmlEscape</name>
		<tag-class>org.springframework.web.servlet.tags.HtmlEscapeTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>Set the default value for HTML escaping, to be put
			into the current PageContext.</description>
			<name>defaultHtmlEscape</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Escapes its enclosed body content, applying HTML escaping and/or JavaScript
		escaping. The HTML escaping flag participates in a page-wide or application-wide setting
		(i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</description>
		<name>escapeBody</name>
		<tag-class>org.springframework.web.servlet.tags.EscapeBodyTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value. Overrides the
			default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set JavaScript escaping for this tag, as boolean value.
			Default is 'false'.</description>
			<name>javaScriptEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Retrieves the message with the given code, or text if code isn't resolvable.
		The HTML escaping flag participates in a page-wide or application-wide setting
		(i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</description>
		<name>message</name>
		<tag-class>org.springframework.web.servlet.tags.MessageTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>A MessageSourceResolvable argument (direct or through JSP EL).
			Fits nicely when used in conjunction with Spring's own validation error classes
			which all implement the MessageSourceResolvable interface. For example, this
			allows you to iterate over all of the errors in a form, passing each error
			(using a runtime expression) as the value of this 'message' attribute, thus
			effecting the easy display of such error messages.</description>
			<name>message</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The code (key) to use when looking up the message.
			If code is not provided, the text attribute will be used.</description>
			<name>code</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set optional message arguments for this tag, as a (comma-)
			delimited String (each String argument can contain JSP EL), an Object array
			(used as argument array), or a single Object (used as single argument).
			You can additionally use nested spring:argument tags.</description>
			<name>arguments</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The separator character to be used for splitting the
			arguments string value; defaults to a 'comma' (',').</description>
			<name>argumentSeparator</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Default text to output when a message for the given code
			could not be found. If both text and code are not set, the tag will
			output null.</description>
			<name>text</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The string to use when binding the result to the page,
			request, session or application scope. If not specified, the result
			gets outputted to the writer (i.e. typically directly to the JSP).</description>
			<name>var</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The scope to use when exporting the result to a variable.
			This attribute is only used when var is also set. Possible values are
			page, request, session and application.</description>
			<name>scope</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value.
			Overrides the default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set JavaScript escaping for this tag, as boolean value.
			Default is 'false'.</description>
			<name>javaScriptEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Retrieves the theme message with the given code, or text if code isn't
		resolvable. The HTML escaping flag participates in a page-wide or application-wide setting
		(i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml).</description>
		<name>theme</name>
		<tag-class>org.springframework.web.servlet.tags.ThemeTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>A MessageSourceResolvable argument (direct or through JSP EL).</description>
			<name>message</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The code (key) to use when looking up the message.
			If code is not provided, the text attribute will be used.</description>
			<name>code</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set optional message arguments for this tag, as a (comma-)
			delimited String (each String argument can contain JSP EL), an Object array
			(used as argument array), or a single Object (used as single argument).
			You can additionally use nested spring:argument tags.</description>
			<name>arguments</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The separator character to be used for splitting the
			arguments string value; defaults to a 'comma' (',').</description>
			<name>argumentSeparator</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Default text to output when a message for the given code
			could not be found. If both text and code are not set, the tag will
			output null.</description>
			<name>text</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The string to use when binding the result to the page,
			request, session or application scope. If not specified, the result
			gets outputted to the writer (i.e. typically directly to the JSP).</description>
			<name>var</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The scope to use when exporting the result to a variable.
			This attribute is only used when var is also set. Possible values are
			page, request, session and application.</description>
			<name>scope</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value.
			Overrides the default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set JavaScript escaping for this tag, as boolean value.
			Default is 'false'.</description>
			<name>javaScriptEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Argument tag based on the JSTL fmt:param tag. The purpose is to
		support arguments inside the spring:message and spring:theme tags.</description>
		<name>argument</name>
		<tag-class>org.springframework.web.servlet.tags.ArgumentTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>The value of the argument.</description>
			<name>value</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
			<type>java.lang.Object</type>
		</attribute>
	</tag>

	<tag>
		<description>Provides Errors instance in case of bind errors. The HTML escaping
		flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag
		or a "defaultHtmlEscape" context-param in web.xml).</description>
		<name>hasBindErrors</name>
		<tag-class>org.springframework.web.servlet.tags.BindErrorsTag</tag-class>
		<body-content>JSP</body-content>
		<variable>
			<name-given>errors</name-given>
			<variable-class>org.springframework.validation.Errors</variable-class>
		</variable>
		<attribute>
			<description>The name of the bean in the request, that needs to be
			inspected for errors. If errors are available for this bean, they
			will be bound under the 'errors' key.</description>
			<name>name</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value.
			Overrides the default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Sets a nested path to be used by the bind tag's path.</description>
		<name>nestedPath</name>
		<tag-class>org.springframework.web.servlet.tags.NestedPathTag</tag-class>
		<body-content>JSP</body-content>
		<variable>
			<name-given>nestedPath</name-given>
			<variable-class>java.lang.String</variable-class>
		</variable>
		<attribute>
			<description>Set the path that this tag should apply. E.g. 'customer'
			to allow bind paths like 'address.street' rather than
			'customer.address.street'.</description>
			<name>path</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Provides BindStatus object for the given bind path. The HTML escaping
		flag participates in a page-wide or application-wide setting (i.e. by HtmlEscapeTag
		or a "defaultHtmlEscape" context-param in web.xml).</description>
		<name>bind</name>
		<tag-class>org.springframework.web.servlet.tags.BindTag</tag-class>
		<body-content>JSP</body-content>
		<variable>
			<name-given>status</name-given>
			<variable-class>org.springframework.web.servlet.support.BindStatus</variable-class>
		</variable>
		<attribute>
			<description>The path to the bean or bean property to bind status
			information for. For instance account.name, company.address.zipCode
			or just employee. The status object will exported to the page scope,
			specifically for this bean or bean property.</description>
			<name>path</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set whether to ignore a nested path, if any.
			Default is to not ignore.</description>
			<name>ignoreNestedPath</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value. Overrides
			the default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Provides transformation of variables to Strings, using an appropriate
		custom PropertyEditor from BindTag (can only be used inside BindTag). The HTML
		escaping flag participates in a page-wide or application-wide setting (i.e. by
		HtmlEscapeTag or a 'defaultHtmlEscape' context-param in web.xml).</description>
		<name>transform</name>
		<tag-class>org.springframework.web.servlet.tags.TransformTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>The value to transform. This is the actual object you want
			to have transformed (for instance a Date). Using the PropertyEditor that
			is currently in use by the 'spring:bind' tag.</description>
			<name>value</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The string to use when binding the result to the page,
			request, session or application scope. If not specified, the result gets
			outputted to the writer (i.e. typically directly to the JSP).</description>
			<name>var</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The scope to use when exported the result to a variable.
			This attribute is only used when var is also set. Possible values are
			page, request, session and application.</description>
			<name>scope</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as boolean value. Overrides
			the default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>URL tag based on the JSTL c:url tag. This variant is fully
		backwards compatible with the standard tag. Enhancements include support
		for URL template parameters.</description>
		<name>url</name>
		<tag-class>org.springframework.web.servlet.tags.UrlTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>The URL to build. This value can include template place holders
			that are replaced with the URL encoded value of the named parameter. Parameters
			must be defined using the param tag inside the body of this tag.</description>
			<name>value</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Specifies a remote application context path. The default is the
			current application context path.</description>
			<name>context</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The name of the variable to export the URL value to.</description>
			<name>var</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The scope for the var. 'application', 'session', 'request' and
			'page' scopes are supported. Defaults to page scope. This attribute has no
			effect unless the var attribute is also defined.</description>
			<name>scope</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as a boolean value. Overrides the
			default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set JavaScript escaping for this tag, as a boolean value.
			Default is 'false'.</description>
			<name>javaScriptEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Parameter tag based on the JSTL c:param tag. The sole purpose is to
		support params inside the spring:url tag.</description>
		<name>param</name>
		<tag-class>org.springframework.web.servlet.tags.ParamTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>The name of the parameter.</description>
			<name>name</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The value of the parameter.</description>
			<name>value</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

	<tag>
		<description>Evaluates a Spring expression (SpEL) and either prints the result
		or assigns it to a variable.</description>
		<name>eval</name>
		<tag-class>org.springframework.web.servlet.tags.EvalTag</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<description>The expression to evaluate.</description>
			<name>expression</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The name of the variable to export the evaluation result to.</description>
			<name>var</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>The scope for the var. 'application', 'session', 'request' and
			'page' scopes are supported. Defaults to page scope. This attribute has no
			effect unless the var attribute is also defined.</description>
			<name>scope</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set HTML escaping for this tag, as a boolean value. Overrides the
			default HTML escaping setting for the current page.</description>
			<name>htmlEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<description>Set JavaScript escaping for this tag, as a boolean value.
			Default is 'false'.</description>
			<name>javaScriptEscape</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>

    <function>
        <description>Helps to prepare a URL to a Spring MVC controller method.</description>
        <name>mvcUrl</name>
        <function-class>org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder</function-class>
        <function-signature>org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder.MethodArgumentBuilder fromMappingName(java.lang.String)</function-signature>
    </function>

</taglib>
