<?xml version='1.0' encoding='UTF-8'?>
<!--
 * 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 book SYSTEM 'dtd/book.dtd'>
<book title='&ParserName; Documentation' 
      copyright='1999-2007 The Apache Software Foundation'>
 <external label='Home' href='http://xerces.apache.org/'/>
 <separator/>
 <document label='Readme' title='&ParserNameLong; Readme'
           id='index' source='readme.xml'/>
 <document label="Charter" title='Xerces Project Charter'
           id='charter' source='charter.xml'/>
 <releases label='Release Info' title='Release Information'
           id='releases' source='releases.xml'/>
 <separator/>
 <document label='Installation' title='Installation Instructions'
           id='install' source='install.xml'/>
 <external label='Download' href='http://xerces.apache.org/xerces2-j/download.cgi'/>
 <hidden  title='Download' id='download' source='download.xml'/>
 <document label='Bug-Reporting' title='Reporting Bugs'
           id='jira' source='bugzilla.xml'/>

 <separator/>
 <faqs label='FAQs' title='Frequently Asked Questions' id='faqs'>
  <faq title='Common FAQs' id='faq-common' source='faq-common.xml'/>
  <faq title='General FAQs' id='faq-general' source='faq-general.xml'/>
  <faq title='Caching &amp; Preparsing Grammars' id='faq-grammars' source='faq-grammars.xml'/>
  <faq title='Configuring Parser' id='faq-pcfp' source='faq-pcfp.xml'/>
  <faq title='Xerces Native Interface FAQs' id='faq-xni' source='faq-xni.xml'/>
  <faq title='Building and Running FAQs' 
       id='faq-build' source='faq-build.xml'/>
  <faq title='Writing Applications FAQs' 
       id='faq-write' source='faq-write.xml'/>
  <faq title='Programming with SAX' 
       id='faq-sax' source='faq-sax.xml'/>
  <faq title='Programming with DOM' 
       id='faq-dom' source='faq-dom.xml'/>
  <faq title='Using XML Schemas' 
       id='faq-xs' source='faq-xs.xml'/>
  <faq title='Using XInclude' 
       id='faq-xinclude' source='faq-xinclude.xml'/>
  <faq title='Using XML Catalogs'
       id='faq-xcatalogs' source='faq-xcatalogs.xml'/>
  <faq title='Performance FAQs' 
       id='faq-performance' source='faq-performance.xml'/>
  <faq title='FAQs for Contributors' id='faq-contributing' source='faq-contributing.xml'/>
 </faqs>
 <document label='Samples' title='Sample Programs'
           id='samples' source='samples.xml'/>
 <hidden title='DOM Samples' id='samples-dom' source='samples-dom.xml'/>
 <hidden title='SAX Samples' id='samples-sax' source='samples-sax.xml'/>
 <hidden title='JAXP Samples' id='samples-jaxp' source='samples-jaxp.xml'/>
 <hidden title='Socket Samples' id='samples-socket' source='samples-socket.xml'/>
 <hidden title='User Interface Samples'
         id='samples-ui' source='samples-ui.xml'/>
 <hidden title='XNI Samples' id='samples-xni' source='samples-xni.xml'/>
 <document label='API JavaDoc' title='API JavaDoc'
           id='api' source='api.xml'/>
 <!--
 <external label='API JavaDoc' href='apiDocs/index.html'/>
 -->
 <hidden title='XNI Design Details' 
         id='xni-design' source='xni-design.xml'/>
 <hidden title='XNI Core Interfaces' 
         id='xni-core' source='xni-core.xml'/>
 <hidden title='XNI Parser Configuration'
         id='xni-config' source='xni-config.xml'/>
 <hidden title='Xerces2 Components' id='xni-xerces2' source='xni-xerces2.xml'/>

 <separator/>
 <settings title='Parser Features' label='Features' 
           id='features' source='features.xml'/>
 <settings title='Parser Properties' label='Properties' 
           id='properties' source='properties.xml'/>
 <separator/>

 <document label='XNI Manual' title='Xerces Native Interface'
           id='xni' source='xni.xml'/>
 <document   label='XML Schema' title='XML Schema' id='xml-schema' source='xml-schema.xml'/>
 <document label ='SAX' title='Simple API for XML' id='sax' source='sax.xml'/>
 <document label ='DOM' title='The Document Object Model' id='dom' source='dom.xml'/>
 <hidden title='DOM Level 3 Implementation' id='dom3' source='dom3.xml'/>
 <document label='Limitations' title='Parser Limitations'
           id='limitations' source='limitations.xml'/>
 <separator/>
 
 <document label='Source Repository' title='Source Repository'
           id='source-repository'  source='source-repository.xml'/>
 <external label='User Mail Archive'
           href='http://mail-archives.apache.org/mod_mbox/xerces-j-users/'/>
 <external label='Dev Mail Archive'
           href='http://mail-archives.apache.org/mod_mbox/xerces-j-dev/'/>

</book>
