<!-- 
   ____________________________________________________________________________  
  |                                                                            |
  |    VERSION:   This version 0.4 of the ChessMLite Document type definition  |
  |                                                                            |
  |   REV-DATE:   19.06.00                                                     |
  |____________________________________________________________________________|
  
-->

<!ENTITY % entities     SYSTEM "chessmlite.ent"> <!-- 190600 -->
<!ENTITY % person       SYSTEM "person.mod">
<!ENTITY % game         SYSTEM "game.mod">
<!ENTITY % move         SYSTEM "move.mod">
<!ENTITY % problem      SYSTEM "problem.mod">
<!ENTITY % references   SYSTEM "references.mod">
<!ENTITY % event        SYSTEM "event.mod">

%entities;
%person;
%game;
%move;
%problem;
%references;
%event;

<!ELEMENT  chessml	(%supplemental; , (chessgame|chessproblem)*)>  		<!--1806000-->
<!ATTLIST  chessml                              
           %author;
           %lang;
           %title;       
           %id;             
           generator       NMTOKENS        #IMPLIED 
           lastmod         CDATA           #IMPLIED
           version         CDATA           #FIXED "0.4" 
           level           CDATA           #FIXED "0">

<!ELEMENT  head	(((white,black)|(author)+), date?, dedication?)> 
<!ATTLIST  head         source          IDREFS          #IMPLIED        
                        section         CDATA           #IMPLIED
                        stage           NMTOKEN         #IMPLIED 
                        boardnum        CDATA           #IMPLIED
                        lastmod         CDATA           #IMPLIED
                        time            CDATA           #IMPLIED
                        event           ID              #IMPLIED
        		%annotator;
                        copyright       CDATA           #IMPLIED>                     
                        
<!ELEMENT  body         (setup?,classification?,((moves)*|(stipulation|condition|twin|solution|theme)*))>
<!ATTLIST  body 	%lang;	
                        ply-count       CDATA           #IMPLIED
                        type            CDATA           #IMPLIED> 
