<?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.
-->

<!-- Character mnemonic entities -->

<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
%HTMLspecial;

<!-- HTTPD Version -->

<!ENTITY % HTTPD-VERSION SYSTEM "version.ent">
%HTTPD-VERSION;

<!-- Generic tag entities -->

<!ENTITY % inlinetags "em | strong | code | a | br | directive | module |
program | img | cite | q | dfn | var | transnote | glossary | phonetic | since">

<!ENTITY % blocktags "p | example | note | table | ul | ol | dl | pre | 
highlight | blockquote">

<!ENTITY % Block "(%blocktags;)*">
<!ENTITY % Inline "(#PCDATA | %inlinetags;)*">
<!ENTITY % BlockOrInline "(#PCDATA | %inlinetags; | %blocktags;)*">

<!-- Common Elements -->

<!ELEMENT title %Inline;>

<!ELEMENT summary %Block;>

<!ELEMENT seealso %Inline;>

<!ELEMENT modulelist (module)+>

<!-- a page may have one or more sections. Each section is named by an
     unique id. A section must have a title and some text. It may have
     subsections and a list of related modules and directives -->
<!ELEMENT section (title, related?, (section | %blocktags;)*)>
<!ATTLIST section id ID #IMPLIED>

<!-- the lists of related modules and/or related directives -->
<!ELEMENT related (modulelist | directivelist)+>

<!-- list of related directives -->
<!ELEMENT directivelist (directive)+>

<!ELEMENT module (#PCDATA)>
<!ATTLIST module status   CDATA  #IMPLIED
                 outdated (true) #IMPLIED>

<!ELEMENT directive (#PCDATA)>
<!-- name attribute is preferred over contents when generating links,
     and idtype is used to disambiguate two directives sharing the
     same name but with different type (for example section and non-section).
-->
<!ATTLIST directive  module CDATA  #IMPLIED
                     type   CDATA  #IMPLIED
                     idtype CDATA  #IMPLIED
                     status CDATA  #IMPLIED
                     name   CDATA  #IMPLIED >

<!ELEMENT program (#PCDATA)>

<!ELEMENT p %Inline;>
<!ATTLIST p class CDATA  #IMPLIED>

<!-- the indent element is used to indent code examples. example/indent and
     code/indent is now replacing pre. -->
<!ELEMENT indent ( #PCDATA | indent | %inlinetags; )*>

<!ELEMENT em %Inline;>

<!ELEMENT strong %Inline;>

<!ELEMENT code (#PCDATA | indent | %inlinetags;)*>

<!ELEMENT cite %Inline;>

<!ELEMENT q %Inline;>

<!ELEMENT dfn %Inline;>

<!ELEMENT var %Inline;>

<!ELEMENT since %Inline;>

<!-- translators note -->
<!ELEMENT transnote %Inline;>

<!ELEMENT a %Inline;>
<!ATTLIST a  href CDATA #IMPLIED
             name CDATA #IMPLIED
             id   CDATA #IMPLIED
             rel  CDATA #IMPLIED >

<!ELEMENT br EMPTY>

<!-- Note: The example and note elements should not have more then one
           title. -->
<!ELEMENT example (#PCDATA | title | indent | %inlinetags; | %blocktags;)*>

<!ELEMENT note (#PCDATA | title | %inlinetags; | %blocktags;)*>
<!ATTLIST note type CDATA #IMPLIED>

<!ELEMENT table (columnspec | tr)+>
<!ATTLIST table summary     CDATA  #IMPLIED
                width       CDATA  #IMPLIED
                bgcolor     CDATA  #IMPLIED
                cellspacing CDATA  #IMPLIED
                cellpadding CDATA  #IMPLIED
                border      CDATA  #IMPLIED
                style       CDATA  #IMPLIED>

<!ELEMENT columnspec (column)+>

<!ELEMENT column EMPTY>
<!ATTLIST column width CDATA #IMPLIED>

<!ELEMENT tr (th | td)+>
<!ATTLIST tr valign CDATA #IMPLIED >

<!ELEMENT th %BlockOrInline;>
<!ATTLIST th  colspan  CDATA  #IMPLIED
              rowspan  CDATA  #IMPLIED
              class    CDATA  #IMPLIED >

<!ELEMENT td %BlockOrInline;>
<!ATTLIST td  colspan  CDATA  #IMPLIED
              rowspan  CDATA  #IMPLIED
              class    CDATA  #IMPLIED >

<!ELEMENT ul (li+)>

<!ELEMENT ol (li+)>
<!ATTLIST ol type CDATA  #IMPLIED>

<!ELEMENT li %BlockOrInline;>
<!ATTLIST li class    CDATA   #IMPLIED >

<!ELEMENT dl (dd | dt)+>

<!ELEMENT dt %Inline;>

<!ELEMENT dd %BlockOrInline;>

<!ELEMENT pre %Inline;>

<!ELEMENT highlight %Inline;>
<!ATTLIST highlight language CDATA #IMPLIED>

<!ELEMENT img EMPTY>
<!ATTLIST img
  src         CDATA   #REQUIRED
  alt         CDATA   #REQUIRED
  border      CDATA   #IMPLIED
  height      CDATA   #IMPLIED
  width       CDATA   #IMPLIED >

<!ELEMENT blockquote %Block;>
<!ATTLIST blockquote cite CDATA #IMPLIED >

<!-- The path and title of the parent document -->
<!ELEMENT parentdocument (#PCDATA)>
<!ATTLIST parentdocument href CDATA #REQUIRED >

<!-- The glossary element defines a special case of link. The referenced
     target is the name of an anchor within the glossary -->
<!ELEMENT glossary %Inline;>
<!ATTLIST glossary ref CDATA #IMPLIED>

<!-- The phonetic element should be used only within the glossary. It
     describes a pronunciation -->
<!ELEMENT phonetic (#PCDATA)>

