<!-- ===================================================================

     Apache XGump DTD (Version 1.0)

PURPOSE:
  Gump descriptor DTD

TYPICAL INVOCATION:

  <!DOCTYPE module PUBLIC
       "-//APACHE//DTD Gump Descriptor Vx.y//EN"
       "xgump-draft.dtd">

  where

    x := major version
    y := minor version

AUTHORS:
  Steven Noels <stevenn@apache.org>

FIXME:
* cannot yet include the module of ISO character entity sets because
forrest.xgump has trouble with the catalog entity resolver at startup.

CHANGE HISTORY:
[Version 1.0]
  20020611 Initial version. (SN)

COPYRIGHT:
  Copyright (c) 2002 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//ENTITIES Documentation V1.1//EN"
    "document-v11.mod">
%document;

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

<!-- =============================================================== -->
<!-- Include the Common elements -->
<!-- =============================================================== -->

<!ENTITY % common PUBLIC
    "-//APACHE//ENTITIES Common Elements V1.0//EN"
    "common-elems-v10.mod">
%common;

<!-- =============================================================== -->
<!-- Include the Todo module -->
<!-- =============================================================== -->

<!ENTITY % todo PUBLIC
    "-//APACHE//ENTITIES Todo V1.1//EN"
    "todo-v11.mod">
%todo;

<!-- =============================================================== -->
<!-- Include the Changes module -->
<!-- =============================================================== -->

<!ENTITY % changes PUBLIC
    "-//APACHE//ENTITIES Changes V1.1//EN"
    "changes-v11.mod">
%changes;

<!-- =============================================================== -->
<!-- Document type element -->
<!-- =============================================================== -->

<!ELEMENT module (url, forrest?, cvs, mailing-lists, description,
                  detailed, what, why, who, todo, changes, licence,
                  credits, project+)>
<!ATTLIST module
  name CDATA #REQUIRED>

  <!ELEMENT url EMPTY>
  <!ATTLIST url
    href CDATA #REQUIRED>

  <!ELEMENT forrest (skin)>
  <!ATTLIST forrest
    version CDATA #REQUIRED>

    <!ELEMENT skin EMPTY>
    <!ATTLIST skin
      name CDATA #REQUIRED
      style CDATA #REQUIRED>

  <!ELEMENT cvs EMPTY>
  <!ATTLIST cvs
    repository CDATA #REQUIRED>

  <!ELEMENT mailing-lists (mailing-list+)>

    <!ELEMENT mailing-list EMPTY>
    <!ATTLIST mailing-list
      user CDATA #REQUIRED
      mail CDATA #REQUIRED
      subscribe CDATA #REQUIRED
      unsubscribe CDATA #REQUIRED>

  <!ELEMENT description (%content.mix;)*>

  <!ELEMENT detailed (%blocks;)>

  <!ELEMENT what (goal+)>

    <!ELEMENT goal (%content.mix;)*>

  <!ELEMENT why (%content.mix;)*>

  <!ELEMENT who (person+)>

  <!ELEMENT licence (%content.mix;)*>

  <!ELEMENT credits (credit+)>

    <!ELEMENT credit (%content.mix;)*>

  <!ELEMENT project (url?, description?, version?, package?, ant?,
                     depend*, work*, home, jar+, javadoc?)>
  <!ATTLIST project name CDATA #REQUIRED>

    <!ELEMENT package (#PCDATA)>

    <!ELEMENT ant EMPTY>
    <!ATTLIST ant
      target CDATA #REQUIRED>

    <!ELEMENT depend EMPTY>
    <!ATTLIST depend
      project CDATA #REQUIRED>

    <!ELEMENT work EMPTY>
    <!ATTLIST work
      nested CDATA #REQUIRED>

    <!ELEMENT home EMPTY>
    <!ATTLIST home
      nested CDATA #REQUIRED>

    <!ELEMENT jar EMPTY>
    <!ATTLIST jar
      name CDATA #REQUIRED
      id CDATA #IMPLIED>

    <!ELEMENT javadoc EMPTY>
    <!ATTLIST javadoc
      parent CDATA #REQUIRED>

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