<?xml version="1.0" encoding="UTF-8"?>
<!--DTD d'un module pour e-miage version 1.1 Grenoble 01/03/2002         -->
<!--premières modifs après réunion groupe infra et fonc du 26/02/2002-->
<!ELEMENT module (header, body)>
<!ELEMENT header (identifiant, titre, date_debut?, prerequis_module?, coordinateur, chefdeprojetmodulaire, auteurs?, objectifs, programme, methodes?, outils?, bibliographie?, sitesweb?)>
<!ELEMENT body ((chapitre | devoir)+, exercices?, annales?)>
<!ELEMENT prerequis EMPTY>
<!ATTLIST prerequis
	reference IDREFS #REQUIRED
>
<!--L'ELEMENT prerequis est une reference interne au document, il permet-->
<!--de representer la structure d'un graphe de chapitres ou devoirs     -->
<!--par ex si C1 et C2 sont des identifiants de chapitres, "C1 C2" peut etre la reference des 
prerequis du chapitre d'identifiant C3-->
<!ELEMENT chapitre (prerequis?, preambule, session+)>
<!ATTLIST chapitre
	intitule CDATA #REQUIRED
	refauteur IDREFS #REQUIRED
	identifiant ID #REQUIRED
>
<!ELEMENT preambule (#PCDATA)>
<!ELEMENT devoir (prerequis?, enonce, solution?)>
<!ATTLIST devoir
	echeance CDATA #REQUIRED
>
<!ELEMENT enonce (#PCDATA)>
<!ATTLIST enonce
	reference CDATA #IMPLIED
>
<!ELEMENT solution (#PCDATA)>
<!ATTLIST solution
	reference CDATA #IMPLIED
>
<!--Une session est aussi appelée séquence. Elle organise un contenu       -->
<!--coherent avec une partie expositive (cours) des exercices et des tests.-->
<!--Chaque element constitutif est decrit par un attribut reference        -->
<!--qui peut etre aussi bien une clef dans une BD ou une URL.              -->
<!--En l'abscence de reference, le contenu d'un element peut etre decrit   -->
<!--entre ses balises                                                      -->
<!ELEMENT session (preambule?, cours*, (exercice | activite)*)>
<!ATTLIST session
	intitule CDATA #REQUIRED
	dureesession CDATA #REQUIRED
	echeance CDATA #IMPLIED
>
<!-- l'attribut dureesession doit s'exprimer en nombre de jours ouvrables-->
<!-- Il n'y a qu'un cours (expose du sujet) par session -->
<!ELEMENT cours (#PCDATA)>
<!ATTLIST cours
	intitule CDATA #REQUIRED
	reference CDATA #IMPLIED
>
<!--<!ELEMENT cours (contenu | reference*)>

<!ELEMENT reference EMPTY>
<!ATTLIST reference 
	intitule CDATA #REQUIRED
	identifiant CDATA #REQUIRED>
	
	<!ELEMENT contenu (#PCDATA)>-->
<!-- une activité est une simulation ou un test ou ....-->
<!ELEMENT activite (#PCDATA)>
<!ATTLIST activite
	nature (test | simulation | autre) #IMPLIED
	reference CDATA #IMPLIED
>
<!--Les elements annales et bibliographie sont des complements du module      -->
<!ELEMENT annales (sujet+)>
<!ELEMENT sujet (preambule?, exercice+)>
<!ATTLIST sujet
	date CDATA #REQUIRED
	duree CDATA #REQUIRED
>
<!-- l'attribut duree doit s'exprimer en minutes-->
<!ELEMENT exercices (preambule?, exercice+)>
<!ELEMENT exercice (enonce, solution?)>
<!-- reprise des ELEMENT de Dublin Core pour biblio-->
<!ELEMENT bibliographie (ressource+)>
<!ELEMENT ressource (title?, creator*, subject?, description?, publisher*, contributor*, date?, type?, format?, identifier?, source?, language*, relation?, coverage?, rights?)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT creator (#PCDATA)>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT contributor (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT format (#PCDATA)>
<!ELEMENT identifier (#PCDATA)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT language (#PCDATA)>
<!ELEMENT relation (#PCDATA)>
<!ELEMENT coverage (#PCDATA)>
<!ELEMENT rights (#PCDATA)>
<!-- Fin des ELEMENT de Dublin Core-->
<!ELEMENT sitesweb (site+)>
<!ELEMENT site (url, commentaire)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT commentaire (#PCDATA)>
<!--Elements constitutifs de l'en-tete du module                   -->
<!ELEMENT identifiant (#PCDATA)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT date_debut (#PCDATA)>
<!ELEMENT prerequis_module (#PCDATA)>
<!ELEMENT coordinateur (#PCDATA)>
<!ELEMENT objectifs (objectif+)>
<!ELEMENT objectif (#PCDATA)>
<!ELEMENT programme (#PCDATA)>
<!ELEMENT methodes (methode+)>
<!ELEMENT methode (#PCDATA)>
<!ELEMENT outils (outil*)>
<!ELEMENT outil (#PCDATA)>
<!ELEMENT chefdeprojetmodulaire (auteur)>
<!-- une liste d'auteurs de chapitresavec leurs coordonnées-->
<!ELEMENT auteurs (auteur+)>
<!ELEMENT auteur (nom, prenom, ad_mail, ad_postale)>
<!ATTLIST auteur
	identifiant ID #REQUIRED
>
<!-- la reference à un ou plusieurs auteurs de chapitre se fera par ces identifiants-->
<!ELEMENT ad_mail (#PCDATA)>
<!ELEMENT ad_postale (#PCDATA)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
