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

  <title>Lang</title>

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

    <menu name="Commons Lang">
      <item name="Overview" href="/index.html"/>
      <item name="Download" href="http://commons.apache.org/downloads/download_lang.cgi"/>
      <item name="User guide" href="/userguide.html"/>
      <item name="Release History" href="/release-history.html"/>
      <item name="Javadoc (2.3 release)" href="api-release/index.html"/>
    </menu>

    <menu name="Development">
      <item name="Building" href="/building.html"/>
      <item name="Mailing lists" href="/mail-lists.html"/>
      <item name="Team" href="/team-list.html"/>
      <item name="Proposal" href="/proposal.html"/>
      <item name="Developer guide" href="/developerguide.html"/>
      <item name="SVN repository" href="http://svn.apache.org/viewvc/commons/proper/lang/trunk/"/>
      <item name="Javadoc (SVN latest)" href="apidocs/index.html"/>
    </menu>

    &commons;

  </body>
</project>
