<?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="Codec">

  <title>Codec</title>

  <body>
    <links>
      <item name="Apache Commons" href="http://commons.apache.org/"/>
    </links>

    <menu name="Commons Codec">
      <item name="Overview" href="/index.html"/>
      <item name="Download" href="http://commons.apache.org/downloads/download_codec.cgi"/>
      <item name="Users guide" href="/userguide.html"/>
      <item name="Javadoc (1.3 release)" href="api-release/index.html"/>
    </menu>

    <menu name="Development">
	  <!-- remove release notes when building.html added -->
      <item name="Release notes" href="/changes-report.html"/>          
      <!--item name="Building" href="/building.html"/-->
      <item name="Mailing lists" href="/mail-lists.html"/>
      <item name="Team" href="/team-list.html"/>
      <!--item name="Tasks" href="/tasks.html"/-->
      <item name="Proposal" href="/proposal.html"/>
      <item name="SVN repository" href="http://svn.apache.org/viewvc/commons/proper/codec/trunk/"/>
      <item name="Javadoc (SVN latest)" href="apidocs/index.html"/>
    </menu>

    &commons;

  </body>
</project>
