<!-- ===================================================================
     
     Apache Specification DTD (Version 1.1)

PURPOSE:
  This DTD was developed to create a simple yet powerful document 
  type for software specifications 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 Specification Vx.y//EN"
       "specification-vxy.dtd">

  where 
  
    x := major version
    y := minor version
      
NOTES:  

AUTHORS:
  Stefano Mazzocchi <stefano@apache.org>
  
FIXME:

CHANGE HISTORY:
[Version 1.0]
  19991129 Initial version. (SM)
[Version 1.1]
  20011212 Used public identifiers for external entities (SM)
    
COPYRIGHT:
  Copyright (c) @year@ The Apache Software Foundation.
  
  Permission to copy in any form is granted provided this notice is 
  included in all copies. Permission to redistribute is granted 
  provided this file is distributed untouched in all its parts and 
  included files.
  
==================================================================== -->

<!-- =============================================================== -->
<!-- Include the Documentation DTD -->
<!-- =============================================================== -->

<!ENTITY % document PUBLIC
    "-//APACHE//DTD Documentation V1.1//EN"
    "document-v11.dtd">
%document;


<!-- =============================================================== -->
<!-- Extend the Documentation DTD -->
<!-- =============================================================== -->

<!-- extend the local.xxx entities -->
<!ENTITY % local.blocks "|bl">


<!-- =============================================================== -->
<!-- Document Type Definition -->
<!-- =============================================================== -->

<!ELEMENT specification (header?, body, appendices?, footer?)>
<!ATTLIST specification %common.att;>

    <!ELEMENT appendices (%sections;)+>
    <!ATTLIST appendices %common.att;>

<!-- =============================================================== -->
<!-- Bibliography List -->
<!-- =============================================================== -->

    <!-- Bibliography list -->
    <!ELEMENT bl (bi)+>
    <!ATTLIST bl %common.att;>

        <!-- Book item -->
        <!ELEMENT bi EMPTY>
        <!ATTLIST bi %common.att;
                     %name.att;
                     %title.att;
                     %link.att;
                     authors CDATA #REQUIRED
                     date    CDATA #IMPLIED>

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