<?xml encoding='US-ASCII'?>
<!-- $Id$ -->
<!ENTITY % person SYSTEM 'person.dtd'>
%person;
<!ELEMENT schedule (person*,milestone*)>
<!ATTLIST schedule date CDATA #REQUIRED>
<!ELEMENT milestone (title,depends*,task*)>
<!ATTLIST milestone id    ID    #REQUIRED
                    date  CDATA #IMPLIED
		    owner IDREF #IMPLIED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT depends EMPTY>
<!ATTLIST depends idref IDREF #REQUIRED>
<!ELEMENT task (title,detail?,contributor*)>
<!ATTLIST task date   CDATA #IMPLIED
               driver IDREF #IMPLIED
               status (working|verify|done) 'working'>
<!ELEMENT detail (#PCDATA)>
<!ELEMENT contributor EMPTY>
<!ATTLIST contributor idref IDREF #REQUIRED>
