<?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 PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
    [ <!ENTITY taglib SYSTEM "file:build/docbook/tag-reference.xml">
        <!ENTITY introduction SYSTEM "file:introduction.xml">
        <!ENTITY architecture SYSTEM "file:architecture.xml">
        <!ENTITY using-tobago SYSTEM "file:using-tobago.xml">]>
<book lang="en">
  <bookinfo>
    <title>Tobago Reference Manual</title>
    <copyright>
      <year>2005</year>
      <holder>The Apache Software Foundation</holder>
    </copyright>
  </bookinfo>

  &introduction;

  &architecture;

  &using-tobago;

  <chapter id="configuration">
    <title>Configuring Tobago</title>
    <para></para>
  </chapter>

  <chapter id="example-address">
    <title>Example: Addressbook</title>
    <para>A text about the addressbook example...</para>
  </chapter>

  <chapter id="features">
    <title>Features</title>
    <sect1 id="features.themes">
      <title>Themes</title>
      <sect2 id="features.themes.config">
        <title>ThemeConfig</title>
        <para>
          <example>
            <title>Test Listing</title>
            <programlisting lang="java">public static void main()
              {...}</programlisting>
          </example>
        </para>
      </sect2>
      <!--    <sect2>[CSS]</sect2>-->
      <!--    <sect2>[Developing Themes]</sect2>-->
    </sect1>
    <sect1 id="features.multiform">
      <title>Multiform</title>
      <para></para>
    </sect1>
    <sect1 id="features.action-listener">
      <title>ActionListenerImpl</title>
      <para></para>
    </sect1>
    <sect1 id="features.controls">
      <title>Controls</title>
      <sect2 id="features.controls.standard">
        <title>Standard Controls</title>
        <para>content</para>
      </sect2>
      <sect2 id="features.controls.sheet">
        <title>Sheet</title>
        <para></para>
      </sect2>
      <sect2 id="features.controls.tree">
        <title>Tree</title>
        <para></para>
      </sect2>
    </sect1>
    <sect1 id="features.converter">
      <title>Converter</title>
      <para></para>
    </sect1>
    <sect1 id="features.var-resolver">
      <title>VariableResolverImpl</title>
      <para></para>
    </sect1>
    <sect1 id="features.servlet.non-faces-request">
      <title>NonFacesRequestServlet</title>
      <para></para>
    </sect1>
    <sect1>
      <title>ClearValidatorsActionListener ?</title>
      <para></para>
    </sect1>
  </chapter>

  <chapter id="api">
    <title>API-Doc + Source-Doc</title>
    <sect1 id="api.components">
      <title>Components</title>
      <para></para>
    </sect1>
    <sect1 id="api.state">
      <title>State</title>
      <para></para>
      <sect2 id="api.state.page">
        <title>PageState</title>
      </sect2>
      <sect2 id="api.state.sheet">
        <title>SheetState</title>
      </sect2>
      <sect2 id="api.state.tree">
        <title>TreeState</title>
      </sect2>
    </sect1>
  </chapter>

  <!--  <chapter>[Custom Controls]</chapter>-->

  <chapter id="tips">
    <title>Tips and Tricks</title>
    <sect1 id="tips.mbeans">
      <title>How to access to managed beans from java code</title>
      <para></para>
    </sect1>
  </chapter>

  <appendix id="requirements">
    <title>Requirements</title>
    <sect1 id="requirements.java">
      <title>Java, JSP, Servlet</title>
      <para></para>
    </sect1>
  </appendix>

  <index></index>
  <!--
  AddressDemo (Code)
  Standard-Setup (Code)
  -->

</book>