<?xml encoding="ISO-8859-1"?>

<!--
   DTD for student project management - DRAFT !!
   assembly all the DTD's
   info.dtd + specification.dtd + execution.dtd + results.dtd + resources.dtd ...


   VERSIONS:

   0.6 Changes: 
       - changed ldap-id: attributes (dn and host) instead of CDATA
       - added simple HTML-like links <a href="xxx">yyy</a>
       - added problems element to workpackage
       - added approval attribute to stamp entity (all tags)
       - added id attribute on stamp entity
       - added depends-on attribute to workpackage
       - defaults for years and month :)

   0.7 Changes:
       - made content in teacher-comment optional
       - added comment-status attribute to teacher comment
       - added to workpage: update-freq and update-day

   0.8 Changes:
       - student-answer added to teacher comments
       - added a idref attribute to a element (experimental)
   0.8a - use 2 digits for days and month (because of Xtract)
        - require at least ONE child (or DATA) for elements + NOT: *
          (note that mixed content tags CAN'T HAVE a +)

   0.9 - audit elements for workpackages (one for each WP also ?)

   1.0 - new start 5/2000 for STAF-Fanny
   1.1 - work the specification (Vivian, 23/05/2000)
        
   Copyright: Daniel.Schneider@tecfa.unige.ch
              http://tecfa.unige.ch/tecfa-people/schneider.html

   This DTD and associated programs will be released under GPL or
   as freeware.

   Design rationale:
   - Should allow simple student project management (all of simple systems,
     texts, and research projects)
   - Should allow student-teacher interaction
   - Should be more or less human readable
   - I went for a rather hierachical tree, e.g. specficiationS instead of
     (specification)+ because I have the feeling that this will make tool
     programming and XSLT easier.

   ToDO:
   - figure how to represent dates (unix-time or humain readable)
   - Regular audit for workpackages (for each date + approval stamp ??)        
   - who does what

   OPEN THINGS for STAF-Fanny
   - ressource (CAMPUS ???)
   - analysis reports (which DTD, a DTD ? ????)
                           -->

<!-- ****************************** ENTITY Declarations ******************* -->


<!--   ... these are used as macros to make the code more tight   -->
<!ENTITY % info-dtd SYSTEM 'info.dtd'>
<!ENTITY % spec-dtd SYSTEM 'specification.dtd'>
<!ENTITY % exec-dtd SYSTEM 'execution.dtd'>
<!ENTITY % results-dtd SYSTEM 'results.dtd'>
<!ENTITY % resources-dtd SYSTEM 'resources.dtd'>
<!ENTITY % problems-dtd SYSTEM 'problems.dtd'>
<!ENTITY % discussion-dtd SYSTEM 'discussion.dtd'>
<!ENTITY % evaluation-dtd SYSTEM 'evaluation.dtd'>
<!ENTITY % misc-info-dtd SYSTEM 'misc-info.dtd'>
<!ENTITY % content-dtd SYSTEM 'content.dtd'>
<!ENTITY % report-dtd SYSTEM 'report.dtd'>
<!ENTITY % title-dtd SYSTEM 'title.dtd'>
<!ENTITY % audit-dtd SYSTEM 'audits.dtd'>

<!ENTITY % stamp '
  id ID #IMPLIED        
  creation-day NMTOKEN #IMPLIED
  creation-month (00|01|02|03|04|05|06|07|08|09|10|11|12) "07"
  creation-year (0|1999|2000|2001) "2000"
  created-by NMTOKEN #IMPLIED
  mod-day NMTOKEN #IMPLIED
  mod-month (00|01|02|03|04|05|06|07|08|09|10|11|12) "07"
  mod-year (0000|1999|2000|2001) "2000"
  mod-by NMTOKEN #IMPLIED
  version NMTOKEN #IMPLIED
  status (draft|final|obsolete) #IMPLIED
  approval (ok|not-ok|attention) #IMPLIED        
  main-author CDATA #IMPLIED
'
>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   -->
<!-- ****************************** The project ********************

    Main elements of the project (TOP Node)
  -->

<!ELEMENT project (info,
                  (specification)?,
                  (execution)?,
                  (results)?,
                  (resources)?
                 ) >

%info-dtd;
%spec-dtd;
%exec-dtd;
%results-dtd;
%resources-dtd;
%problems-dtd;
%discussion-dtd;
%evaluation-dtd;
%misc-info-dtd;
%report-dtd;
%content-dtd;
%title-dtd;
%audit-dtd;

