<!-- Every document has a unique URL identifying it, optional
     properties and document body.

     The URL has to be unique, but not necessarily meaningful. We like
     to use HTTP URLs to the on-line copy of the documentation. There
     is no need to keep a version number in there, we use CVS. Drafts
     and revisions should be marked in the document properties.

 -->
<!ELEMENT document ( properties?, body )>
<!ATTLIST document
    url ID #REQUIRED>


<!-- The document properties describe the document, lists the author
     and may optionally include status information. Multiple authors
     can be specified for the same document.

 -->
<!ELEMENT properties ( title, abstract, author*, status? )>


<!-- Title should be short, yet descriptive, say four to eight words
     long.

 -->
<!ELEMENT title (#PCDATA)>


<!-- Abstract should be limited to a single paragraph, give a brief
     overview of the subject matter, and try to grab the reader's
     attention. You may use markup in the abstract, but keep in mind
     that it might not display everywhere the abstract appears.

 -->
<!ELEMENT abstract (#PCDATA)>


<!-- This is the proper place to indicate the document status and
     version. Typically documents start their life as drafts, evolve
     into final drafts and from there to version 1.0.

 -->
<!ELEMENT status (#PCDATA)>


<!-- The author name comes as the text contents, the e-mail address
     and LDAP URL are attributes. This is the display name, i.e. full
     name, nickname, Jr. etc.

     If the author has a record in an LDAP directory, the LDAP URL may
     be included to obtain more information about the author. For
     example:

       <author email="arkin@intalio.com"
               ldap="ldap.intalio.com/uid=arkin,o=people,dc=intalio,dc=com">
         Assaf Arkin</author>

 -->
<!ELEMENT author (#PCDATA)>
<!ATTLIST author
    email   CDATA #IMPLIED
    ldap    CDATA #IMPLIED>


<!-- The body is broken into four parts, all of them are optional.

     The title is only required if the document properties were not
     specified, otherwise the title in the document properties will
     be used.

     The header includes any text (and markup) that appears at the
     top of the document, just below the title and above the table
     of contents and any sections.

     The section tag allows sections to be titled, numbered, and
     linked to from the table of contents and elsewhere in the
     document. The table of contents will appear if there is at least
     one section in the document body.

     Documents that have no sections in them will contain a header
     with the document contents.

 -->
<!ELEMENT body ( title?, header?, section+ )>


<!-- The contents of the header appears just below the title and above
     the table of contents. Documents that have no sections in them
     will contain a header with the document contents.

     The header contents may include any XHTML markup that can appear
     in the body of an HTML document. Use the paragraph markup as it
     was intended to be used.

 -->
<!ELEMENT header ANY>


<!-- Sections are titled, numbered, linked and nested.

     The title of the section will appear just above the section
     contents. An link to the section can be made using the section's
     title as the anchor point.

     Sections are automatically numbered, and collected in a table of
     contents.

     Sections can be nested to any number of level. Two to three
     levels make the most sense.

 -->
<!ELEMENT section ANY>
<!ATTLIST section
    title NMTOKEN #REQUIRED>
