<!--
  Copyright 1999-2004 The Apache Software Foundation or its licensors,
  as applicable.

  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.
-->
<!-- ===================================================================

     Apache Documentation DTD (Version 1.2)

PURPOSE:
  This DTD was developed to create a simple yet powerful document
  type for software documentation for use with the Apache projects.
  It is an XML-compliant DTD and it's maintained by the Apache XML
  project.

TYPICAL INVOCATION:

  <!DOCTYPE document PUBLIC
       "-//APACHE//DTD Documentation Vx.y//EN"
       "document-vxy.dtd">

  where

    x := major version
    y := minor version

NOTES:
  Many of the design patterns used in this DTD were take from the
  W3C XML Specification DTD edited by Eve Maler <elm@arbortext.com>.

  Where possible, great care has been used to reuse HTML tag
  names to reduce learning efforts and to allow HTML editors to be
  used for complex authorings like tables and lists.

EXTENSIBILITY:
  This DTD includes several empty placeholders that can be used to
  extend it. These placeholders are implemented with empty entities. Here
  is the list of those empty entities and what they are used for:

    - local.inline: this entity should contain extended definitions of
                    elements that can be used 'inline', or directly inside
                    the content. An example for this entity could be

                        <!ENTITY % local.inline "|citation">

    - local.blocks: this entity should contain extended definitions of
                    elements that behave as 'blocks', thus can be visually
                    rendered as areas on the canvas. An example for this
                    entity could be:

                        <!ENTITY % local.blocks "|poem">

    - local.sections: this entity should contain extended definitions of
                      elements that behave as 'sections', thus can be considered
                      containers of block-level elements. An example for
                      this entity could be:

                        <!ENTITY % local.sections "|chapter">

    - local.headers: this entity should contain extended definitions of
                     elements that behave as parts of the document header.
                     An example for this header could be:

                        <!ENTITY % local.headers ", notes?">

    - local.footers: this entity should contain extended definitions of
                     elements that behave as parts of the document footer.
                     An example for this header could be:

                        <!ENTITY % local.footers ", annotations*">

FIXME:
  - should "form" tags be included?

CHANGE HISTORY:
[Version 1.0]
  19991121 Initial version. (SM)
  19991123 Replaced "res" with more standard "strong" for emphasis. (SM)
  19991124 Added "fork" element for window forking behavior. (SM)
  19991124 Added "img-inline" element to separate from "img". (SM)
  19991129 Removed "affiliation" from "author". (SM)
  19991129 Made "author" empty and moved "name|email" as attributes. (SM)
  19991215 Simplified table section. (SM)
  19991215 Changed "img-block" in more friendly "figure". (SM)
  20000125 Added the "icon" image. (SM)
  20000126 Allowed "anchor" in all levels. (SM)
  20000404 Removed the "role" attribute from common-xxx.att. (SM)
  20000815 Allowed "code" inside "strong" and "em". (SM)
[Version 1.1]
  20011212 Used public identifiers for external entities. (SM)
  20011212 Removed xlink attributes since not used. (SM)
  20011212 Removed "connect" since not required at this level. (SM)
  20011218 Added "warning" as a block level object. (SM)
  20011218 Removed explicitly numbered sections ("s1|s2|s3|s4"). (SM)
  20011218 Added "section" element. (SM)
  20011218 Allowed "body" to have blocks without a section. (SM)
  20011218 Removed "sl" since not really different from "ul". (SM)
  20020214 Moved empty placeholder entity declarations up front (SNS)
  20020214 Corrected content model of content.mix parameter entity (SNS)
  20020519 The DTDs are now modular so various parts can be re-used (SNS)
  20020606 Made title into an child element of its parent instead of an attribute (SNS)
  20020613 Move the declarations of ISO character entity sets to module (DC)
[Version 1.2]
  20030320 Make @href required for link elements. (SNS)
  20030320 Allow links (link|jump|fork) and inline elements (br|img|icon|acronym) inside title. (SNS)
  20030419 Allow inline content (strong|em|code|sub|sup|br|img|icon|acronym|link|jump|fork) in strong and em. (JT)
  20030419 Allow paragraphs (p|source|note|warning|fixme), table and figure|anchor inside li. (JT)
  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), table, figure|anchor inside dd. (JT)
  20030419 Allow paragraphs (p|source|note|warning|fixme), lists (ol|ul|dl), table, figure|anchor inside tables (td|dh). (JT)

==================================================================== -->


<!-- =============================================================== -->
<!-- Include the Common ISO Character Entity Sets -->
<!-- =============================================================== -->

<!ENTITY % common-charents PUBLIC
    "-//APACHE//ENTITIES Common Character Entity Sets V1.0//EN"
    "common-charents-v10.mod">
%common-charents;

<!-- =============================================================== -->
<!-- Document -->
<!-- =============================================================== -->

<!ENTITY % document PUBLIC
    "-//APACHE//ENTITIES Documentation V1.2//EN"
    "document-v12.mod">
%document;

<!-- =============================================================== -->
<!-- End of DTD -->
<!-- =============================================================== -->
