<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--

    Copyright (c) 2002, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE taglib PUBLIC '-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN' 'http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd'>

<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>i18n</shortname>
<info>taglib for localized jsps</info>

<tag>
<name>message</name>
<tagclass>samples.i18n.simple.i18ntag.MessageTag</tagclass>
<bodycontent>JSP</bodycontent>
<info>Get Message from Bundle</info>

<attribute>
<name>key</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

<attribute>
<name>language</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

<attribute>
<name>country</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

<attribute>
<name>variant</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

</tag>

</taglib>
