<?xml version="1.0"?>
<!DOCTYPE book SYSTEM "../style/dtd/book.dtd">

<!--
 * Copyright 2000-2014 The Apache Software Foundation.
 *
 * Licensed 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.
-->

<book title="Apache Xalan Project " copyright="2014 The Apache Software Foundation">
  <document id="index" label="Apache Xalan" source="xalan-apache-org/index.xml"/>
  <document id="charter" label="Charter" source="xalan-apache-org/charter.xml"/>
  <external href="http://wiki.apache.org/xalan" label = "Xalan Wiki"/>
  <separator/>  
<!--
  <external href="http://xml.apache.org/xalan-c" label="Xalan C++"/>  
  <external href="http://xml.apache.org/xalan-j" label="Xalan Java 2"/>
-->
<group label="Projects">
  <external href="xalan-c/index.html" label="Xalan C++ 1.11"/>  
  <external href="xalan-j/index.html" label="Xalan Java 2.7.2"/>
  <external href="old/xalan-j/index.html" label="Xalan Java 2.7.1"/>
</group>
  <separator/>
<group label="Mail Lists">
  <external href="http://marc.info/?l=xalan-dev" label="Developers"/>
  <external href="http://marc.info/?l=xalan-c-users" label="C Users"/>
  <external href="http://marc.info/?l=xalan-j-users" label="J Users"/>
</group>
  <separator/>
<group label="Resources">
  <external href="http://www.apache.org/" label="Apache"/>
  <external href="http://www.apache.org/foundation/getinvolved.html" label="Get Involved"/>
  <external href="http://www.apache.org/licenses/" label="Licenses"/>
  <external href="http://www.apache.org/foundation/sponsorship.html" label="Sponsorship"/>
  <external href="http://www.apache.org/foundation/thanks.html" label="Thanks"/>
  <external href="http://www.apache.org/security/" label="Security"/>
</group>
  <separator/>
</book>
