<!-- TEI P4 DTD. Generated 2003-07-15T12:47:29+01:00 by odd2dtd.xsl -->

<!-- 26.1: Feature System Declaration-->
<!--Text Encoding Initiative Consortium:
Guidelines for Electronic Text Encoding and Interchange.
Document TEI P4, 2002.
Copyright (c) 2002 TEI Consortium. Permission to copy in any form
is granted, provided this notice is included in all copies.
These materials may not be altered; modifications to these DTDs should
be performed only as specified by the Guidelines, for example in the
chapter entitled 'Modifying the TEI DTD'
These materials are subject to revision by the TEI Consortium. Current versions
are available from the Consortium website at http://www.tei-c.org-->
<!--First, we declare basic parameter entities and entities for
TEI generic identifiers.-->
<!ENTITY % TEI.elementNames PUBLIC '-//TEI P4//ENTITIES Generic Identifiers//EN' 'teigis2.ent' >%TEI.elementNames;

<!--Declare entities for TEI keywords.-->
<!ENTITY % TEI.keywords.ent PUBLIC '-//TEI P4//ENTITIES TEI Keywords//EN' 'teikey2.ent' >%TEI.keywords.ent;

<!--Declare element classes for content models, shared
attributes for element classes, and global attributes.  (This all
happens within the file teiclas2.ent.)-->
<!ENTITY % TEI.elementClasses PUBLIC '-//TEI P4//ENTITIES TEI ElementClasses//EN' 'teiclas2.ent' >%TEI.elementClasses;

<!--Declare element classes for feature structure
declarations.-->
<!ENTITY % x.boolean "" >
<!ENTITY % m.boolean "%x.boolean; %n.any; | %n.none;"> 
<!ENTITY % x.binary "" >
<!ENTITY % m.binary "%x.binary; %n.minus; | %n.plus;"> 
<!ENTITY % x.singleVal "" >
<!ENTITY % m.singleVal "%x.singleVal; %m.binary; | %m.boolean; | %n.dft; | %n.msr; | %n.nbr; | %n.rate; | %n.str; | %n.sym; | %n.uncertain;"> 
<!ENTITY % x.complexVal "" >
<!ENTITY % m.complexVal "%x.complexVal; %n.alt; | %n.fs; | %n.vAlt;"> 
<!ENTITY % x.featureVal "" >
<!ENTITY % m.featureVal "%x.featureVal; %m.complexVal; | %n.null; | %m.singleVal;"> 
<!--Now, we declare the elements for FSDs proper.-->
<!-- 26.2: Feature System Declaration-->
<!ENTITY % teiFsd2 'INCLUDE' >
<![ %teiFsd2; [

<!ELEMENT %n.teiFsd2; %om.RR;  ((%n.teiHeader;), (%n.fsDecl;)+)> 
<!ATTLIST %n.teiFsd2;
      %a.global;
      TEIform CDATA 'teiFsd2'  >
]]>  
<!ENTITY % fsDecl 'INCLUDE' >
<![ %fsDecl; [

<!ELEMENT %n.fsDecl; %om.RR;   ((%n.fsDescr;)?, (%n.fDecl;)+, (%n.fsConstraints;)?)> 
<!ATTLIST %n.fsDecl;
      %a.global;
      type CDATA #REQUIRED
      baseType CDATA #IMPLIED
      TEIform CDATA 'fsDecl'  >
]]>  
<!ENTITY % fsDescr 'INCLUDE' >
<![ %fsDescr; [

<!ELEMENT %n.fsDescr; %om.RO;  %paraContent;> 
<!ATTLIST %n.fsDescr;
      %a.global;
      TEIform CDATA 'fsDescr'  >
]]>  
<!-- end of 26.2-->
<!-- 26.3: Feature definitions-->
<!ENTITY % fDecl 'INCLUDE' >
<![ %fDecl; [

<!ELEMENT %n.fDecl; %om.RR;   ((%n.fDescr;)?, (%n.vRange;), (%n.vDefault;)?)> 
<!ATTLIST %n.fDecl;
      %a.global;
      name NMTOKEN #REQUIRED
      org (unit | set | bag | list) "unit"
      TEIform CDATA 'fDecl'  >
]]>  
<!ENTITY % fDescr 'INCLUDE' >
<![ %fDescr; [

<!ELEMENT %n.fDescr; %om.RO;  %paraContent;> 
<!ATTLIST %n.fDescr;
      %a.global;
      TEIform CDATA 'fDescr'  >
]]>  
<!ENTITY % vRange 'INCLUDE' >
<![ %vRange; [

<!ELEMENT %n.vRange; %om.RO;   (%m.featureVal;)> 
<!ATTLIST %n.vRange;
      %a.global;
      TEIform CDATA 'vRange'  >
]]>  
<!ENTITY % vDefault 'INCLUDE' >
<![ %vDefault; [

<!ELEMENT %n.vDefault; %om.RR;  ((%m.featureVal;)+ | (%n.if;)+)> 
<!ATTLIST %n.vDefault;
      %a.global;
      TEIform CDATA 'vDefault'  >
]]>  
<!ENTITY % if 'INCLUDE' >
<![ %if; [

<!ELEMENT %n.if; %om.RR;   (((%n.fs;) | %n.f; | %n.fAlt;), (%n.then;), (%m.featureVal;) )> 
<!ATTLIST %n.if;
      %a.global;
      TEIform CDATA 'if'  >
]]>  
<!ENTITY % then 'INCLUDE' >
<![ %then; [

<!ELEMENT %n.then; %om.RO;  EMPTY> 
<!ATTLIST %n.then;
      %a.global;
      TEIform CDATA 'then'  >
]]>  
<!-- end of 26.3-->
<!-- 26.4: Feature structure constraints-->
<!ENTITY % fsConstraints 'INCLUDE' >
<![ %fsConstraints; [

<!ELEMENT %n.fsConstraints; %om.RR;   (%n.cond; | %n.bicond;)*> 
<!ATTLIST %n.fsConstraints;
      %a.global;
      TEIform CDATA 'fsConstraints'  >
]]>  
<!ENTITY % cond 'INCLUDE' >
<![ %cond; [

<!ELEMENT %n.cond; %om.RO;   (((%n.fs;) | %n.f; | %n.fAlt;), (%n.then;), ((%n.fs;) | %n.f; | %n.fAlt;))> 
<!ATTLIST %n.cond;
      %a.global;
      TEIform CDATA 'cond'  >
]]>  
<!ENTITY % bicond 'INCLUDE' >
<![ %bicond; [

<!ELEMENT %n.bicond; %om.RO;   (((%n.fs;) | %n.f; | %n.fAlt;), (%n.iff;), ((%n.fs;) | %n.f; | %n.fAlt;))> 
<!ATTLIST %n.bicond;
      %a.global;
      TEIform CDATA 'bicond'  >
]]>  
<!ENTITY % iff 'INCLUDE' >
<![ %iff; [

<!ELEMENT %n.iff; %om.RO;  EMPTY> 
<!ATTLIST %n.iff;
      %a.global;
      TEIform CDATA 'iff'  >
]]>  
<!-- end of 26.4-->
<!--The elements for feature structures themselves
are declared in teifs2.dtd-->
<!ENTITY % TEI.fs.dtd PUBLIC '-//TEI P4//DTD Auxiliary Document Type:  Feature System Declaration//EN' 'teifs2.dtd' >%TEI.fs.dtd;

<!--Finally, declare the TEI header and core tag
sets.-->
<!ENTITY % TEI.header.dtd PUBLIC '-//TEI P4//ELEMENTS TEI Header//EN' 'teihdr2.dtd' >%TEI.header.dtd;

<!ENTITY % TEI.core.dtd PUBLIC '-//TEI P4//ELEMENTS Core Elements//EN' 'teicore2.dtd' >%TEI.core.dtd;

<!-- end of 26.1-->