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

<!--
 * Copyright 2000-2004 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.
-->
<!-- $Id$ -->

<book title="Xalan XSL Transformer User's Guide" copyright="2004 The Apache Software Foundation">
  <resources source="sbk:/sources/xalan/resources.xml"/>
  <external href="../index.html" label="Home"/>
  <separator/>
  <document id="index" label="Xalan-J 2.6.0" source="xalan/index.xml"/>
<!--  Commenting this out for now.  We have info in the Release Notes that discusses 
      changes in the release.
  <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/> -->
  <separator/>
  <document id="overview" label="Overview" source="xalan/overview.xml"/>
  <document id="downloads" label="Downloads" source="xalan/downloads.xml"/>  
  <document id="getstarted" label="Getting Started" source="xalan/getstarted.xml"/>
  <document id="xsltc_usage" label="Using XSLTC" source="xalan/xsltc_usage.xml"/>   
  <separator/>
  <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
  <separator/>
  <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
  <document id="commandline" label="Command Line" source="xalan/commandline.xml"/>
  <hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>  
  <separator/>
  <document id="usagepatterns" label="Usage Patterns" source="xalan/usagepatterns.xml"/>
  <document id="features" label="Features" source="xalan/features.xml"/>
  <separator/>
  <document id="trax" label="TrAX" source="xalan/trax.xml"/>
  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>  
  <external href="apidocs/index.html" label="API (Javadoc)"/>
  <separator/>
  <document id="extensions" label="Extensions" source="xalan/extensions.xml"/>
  <document id="extensionslib" label="Extensions Library" source="xalan/extensionslib.xml"/>
  <document id="extensions_xsltc" label="XSLTC Exts" source="xalan/extensions_xsltc.xml"/>
  <separator/>
  <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
  <document id="builds" label="Xalan-Java Builds" source="xalan/builds.xml"/>
  <hidden id="history" source="xalan/history.xml"/>
  <hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
  <separator/>
  <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
  <external href="xsltc/index.html" label="XSLTC Design"/>  
  <separator/>
  <external href="readme.html#bugs" label="Bugs"/>  
  <external href="http://xml.apache.org/xalan-j/test/overview.html" label="Testing"/>
<!--  Temporarily commenting this section out.  We need to overhaul the list.
  <separator/>
  <external href="readme.html#developer-list" label="Credits"/>
  <external href="xsltc/todo.html#developer-list" label="XSLTC Credits"/> -->
</book>
