<?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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">

    <description>Airsonic tag library</description>
    <display-name>Airsonic tag library</display-name>
    <tlib-version>1.1</tlib-version>
    <short-name>sub</short-name>
    <uri>http://airsonic.org/taglib/sub</uri>

    <tag>
        <description>
            Creates a URL with optional query parameters. Similar to 'c:url', but
            you may specify which character encoding to use for the URL query
            parameters.  If no encoding is specified, the following steps are performed:
            a) Parameter values are encoded as the hexadecimal representation of the UTF-8 bytes of the original string.
            b) Parameter names are prepended with the suffix "Utf8Hex"
        </description>
        <name>url</name>
        <tag-class>org.airsonic.player.taglib.UrlTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <description>
                Name of the exported scoped variable for the
                processed url. The type of the scoped variable is
                String.
            </description>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <description>URL to be processed.</description>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <description>The encoding to use. Default is ISO-8859-1.</description>
            <name>encoding</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <description>Adds a parameter to a containing 'url' tag.</description>
        <name>param</name>
        <tag-class>org.airsonic.player.taglib.ParamTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <description>Name of the query string parameter.</description>
            <name>name</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <description>Value of the parameter.</description>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <description>
            Converts a byte-count to a formatted string suitable for display to the user, with respect
            to the current locale.
        </description>
        <name>formatBytes</name>
        <tag-class>org.airsonic.player.taglib.FormatBytesTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <description>The byte count.</description>
            <name>bytes</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <description>
            Escapes the characters in a string using JavaScript rules.
        </description>
        <name>escapeJavaScript</name>
        <tag-class>org.airsonic.player.taglib.EscapeJavaScriptTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <description>The string to escape.</description>
            <name>string</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

</taglib>
