<?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++"/>  
  <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>
