<?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 org.apache.commons.menus SYSTEM 'http://commons.apache.org/build/maven-build.dtd'>
<project name="DBCP">
  <bannerRight>
    <name>Commons DBCP</name>
    <src>/images/dbcp-logo-white.png</src>
    <href>/index.html</href>
  </bannerRight>
    <body>
      <menu name="Commons&#xA0;DBCP">
        <item name="Overview" href="/index.html" />
        <item name="Configuration" href="/configuration.html" />
        <item name="Javadoc (1.2.2 release)" href="http://commons.apache.org/dbcp/api-1.2.2/index.html"/>
        <item name="Javadoc (1.3 release)" href="http://commons.apache.org/dbcp/api-1.3/index.html"/>
        <item name="Javadoc (1.4 release)" href="http://commons.apache.org/dbcp/api-1.4/index.html"/>
        <item name="Javadoc (1.4.1-SNAPSHOT)" href="apidocs/index.html"/>
        <item name="Developers&#xA0;Guide" href="/guide/index.html" collapse="true">
        <item name="JNDI&#xA0;Howto"  href="/guide/jndi-howto.html"/>
        <item name="Class&#xA0;Diagrams" href="/guide/classdiagrams.html"/>
        <item name="Sequence&#xA0;Diagrams" href="/guide/sequencediagrams.html"/>
        </item>
        <item name="Examples" href="http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/"/>
        <item name="Downloads" href="/downloads.html"/>
        <item name="Wiki" href="http://wiki.apache.org/commons/DBCP"/>
      </menu>
  
      <menu name="Development">
        <item name="History" href="/changes-report.html"/>
        <item name="Building"  href="/building.html"/>
        <item name="Mailing lists" href="/mail-lists.html"/>
        <item name="Issue Tracking" href="/issue-tracking.html"/>
        <item name="Team"  href="/team-list.html"/>
        <item name="Source Repository" href="/source-repository.html"/>
      </menu>

    </body>
</project>
