<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
    http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
        "http://java.sun.com/j2ee/dtds/web-jsptaglib_1_1.dtd">
<taglib>
  <tlibversion>2.0</tlibversion>
  <jspversion>1.2</jspversion>
  <shortname>FreeMarker JUnit Test Support</shortname>
  <uri>http://freemarker.sf.net/taglibs/freemarker-junit-test-tag-autodeploy-tld-3</uri>
  <tag>
    <name>simpletag</name>
    <tagclass>freemarker.ext.jsp.taglibmembers.TestSimpleTag3</tagclass>
  </tag>
</taglib>