<?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 'https://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"                href="/apidocs/index.html"/>
        <item name="Javadoc 2.x Archive"    href="https://javadoc.io/doc/org.apache.commons/commons-dbcp2/latest/index.html"/>
        <item name="Javadoc 1.x Archive"    href="https://javadoc.io/doc/commons-dbcp/commons-dbcp/latest/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="https://git-wip-us.apache.org/repos/asf?p=commons-dbcp.git;a=tree;f=doc;hb=HEAD"/>
        <item name="Downloads"              href="/download_dbcp.cgi"/>
        <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&#xA0;Lists"     href="/mail-lists.html"/>
        <item name="Issue&#xA0;Tracking"    href="/issue-tracking.html"/>
        <item name="Team"                   href="/team-list.html"/>
        <item name="Source&#xA0;Repository" href="/scm.html"/>
      </menu>

    </body>
</project>
