
<!--

	  TEI P5 DTD module tagdocs. 
	  Generated 2006-01-30T20:24:13Z
Copyright 2005 TEI Consortium.
This is free software; you can redistribute it and/or
	    modify it under the terms of the GNU General Public
	    License as published by the Free Software Foundation;
	    either version 2 of the License, or (at your option) any
	    later version.
This material is distributed in the hope that it will be
	    useful, but WITHOUT ANY WARRANTY; without even the implied
	    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
	    PURPOSE. See the GNU General Public License for more
	    details.
You should have received a copy of the GNU General Public
	    License along with this file; if not, write to the Free
	    Software Foundation, Inc., 59 Temple Place, Suite 330,
	    Boston, MA 02111-1307, USA.
To contact the TEI Consortium use the following addresses.
	    For general (non-technical) enquiries: 
		  target="mailto:info@tei-c.org"/>info@tei-c.orgFor membership enquiries: membership@tei-c.orgFor technical enquiries, particularly about the
		Guidelines, DTDs, schemas, or software available from
		the TEI-C: editors@tei-c.orgFor up to date information, consult the TEI web site at http://www.tei-c.org/P5
-->

<!ENTITY % att 'INCLUDE' >
<![ %att; [

<!--doc:(attribute) contains the name of an attribute appearing within running text. -->
<!ELEMENT %n.att; %om.RR;   (#PCDATA)>
<!ATTLIST %n.att;
 %att.global.attributes;
 scheme %data.enumerated;  "TEI"  >
]]>

<!ENTITY % attDef 'INCLUDE' >
<![ %attDef; [

<!--doc:(attribute definition) contains the definition of a single attribute. -->
<!ELEMENT %n.attDef; %om.RR;  (%macro.glossSeq;,(%n.datatype;)?,(%n.defaultVal;)?,(%n.valList; | %n.valDesc;)?,(%n.exemplum;)?,(%n.remarks;)?)>
<!ATTLIST %n.attDef;
 %att.global.attributes;
 %att.identified.attributes;
 usage (req|mwa|rec|rwa|opt) "opt" 
 ns %data.namespace;  "http://www.tei-c.org/ns/1.0"  >
]]>

<!ENTITY % attList 'INCLUDE' >
<![ %attList; [

<!--doc:() contains documentation for all the attributes associated with this
element, as a series of attDef elements. -->
<!ELEMENT %n.attList; %om.RR;  (%n.attRef; | %n.attDef; | %n.attList;)*>
<!ATTLIST %n.attList;
 %att.global.attributes;
 org (group|choice) "group"  >
]]>

<!ENTITY % attRef 'INCLUDE' >
<![ %attRef; [

<!--doc:(attribute pointer) points to the definition of an attribute or group of attributes. -->
<!ELEMENT %n.attRef; %om.RR; EMPTY>
<!ATTLIST %n.attRef;
 %att.global.attributes;
 name %data.word;  #REQUIRED >
]]>

<!ENTITY % classSpec 'INCLUDE' >
<![ %classSpec; [

<!--doc:() contains reference information for a TEI element class; 
that is a group of 
  elements which appear together in  content models, or 
  which share some common attribute, or both. -->
<!ELEMENT %n.classSpec; %om.RR;  (%macro.glossSeq;,(%n.classes;)?,(%n.attList;)?,(%n.exemplum;)*,(%n.remarks;)?,(%n.listRef;)*)>
<!ATTLIST %n.classSpec;
 %att.global.attributes;
 %att.identified.attributes;
 type (model|atts) #REQUIRED >
]]>

<!ENTITY % classes 'INCLUDE' >
<![ %classes; [

<!--doc:() specifies all the classes of which the documented element or
class is a member or subclass. -->
<!ELEMENT %n.classes; %om.RR;  (%n.memberOf;)*>
<!ATTLIST %n.classes;
 %att.global.attributes; >
]]>

<!ENTITY % code 'INCLUDE' >
<![ %code; [

<!--doc:() contains literal code from some formal language such as a
programming language -->
<!ELEMENT %n.code; %om.RR;   (#PCDATA)>
<!ATTLIST %n.code;
 %att.global.attributes;
 lang %data.word;  #IMPLIED >
]]>

<!ENTITY % content 'INCLUDE' >
<![ %content; [

<!--doc:(schema declaration) contains the text of a declaration for the schema
documented. -->
<!ELEMENT %n.content; %om.RR;  (%macro.schemapattern;)*>
<!ATTLIST %n.content;
 %att.global.attributes; >
]]>

<!ENTITY % datatype 'INCLUDE' >
<![ %datatype; [

<!--doc:() specifies the declared value for an attribute, by referring to
  any datatype defined by the chosen schema language. -->
<!ELEMENT %n.datatype; %om.RR;  (%macro.schemapattern;)*>
<!ATTLIST %n.datatype;
 %att.global.attributes; >
]]>

<!ENTITY % defaultVal 'INCLUDE' >
<![ %defaultVal; [

<!--doc:() specifies the default declared value for an attribute. -->
<!ELEMENT %n.defaultVal; %om.RR;   (#PCDATA)>
<!ATTLIST %n.defaultVal;
 %att.global.attributes; >
]]>

<!ENTITY % eg 'INCLUDE' >
<![ %eg; [

<!--doc:() contains any kind of illustrative example.  -->
<!ELEMENT %n.eg; %om.RR;   (#PCDATA)>
<!ATTLIST %n.eg;
 %att.global.attributes; >
]]>

<!ENTITY % egXML 'INCLUDE' >
<![ %egXML; [

<!--doc:() contains a single well-formed XML example demonstrating the use of some XML element or
  attribute.  -->
<!ELEMENT %n.egXML; %om.RR;   (#PCDATA)>
<!ATTLIST %n.egXML;
 %att.global.attributes; >
]]>

<!ENTITY % elementSpec 'INCLUDE' >
<![ %elementSpec; [

<!--doc:() documents the structure, content, and purpose of a single
element type. -->
<!ELEMENT %n.elementSpec; %om.RR;  (%macro.glossSeq;,(%n.classes;)?,(%n.content;)?,(%n.attList;)?,(%n.exemplum;)*,(%n.remarks;)?,(%n.listRef;)*)>
<!ATTLIST %n.elementSpec;
 %att.global.attributes;
 %att.identified.attributes;
 ns %data.namespace;  "http://www.tei-c.org/ns/1.0" 
 usage (req|mwa|rec|rwa|opt) "opt"  >
]]>

<!ENTITY % exemplum 'INCLUDE' >
<![ %exemplum; [

<!--doc:() contains a single example demonstrating the use of an element,
  together with optional paragraphs of commentary. -->
<!ELEMENT %n.exemplum; %om.RR;  ((%model.pLike;)*,(%n.egXML; | %n.eg;),(%model.pLike;)*)>
<!ATTLIST %n.exemplum;
 %att.global.attributes; >
]]>

<!ENTITY % gi 'INCLUDE' >
<![ %gi; [

<!--doc:(generic identifier) contains the name (generic identifier) of an element. -->
<!ELEMENT %n.gi; %om.RR;   (#PCDATA)>
<!ATTLIST %n.gi;
 %att.global.attributes;
 scheme %data.enumerated;  "TEI"  >
]]>

<!ENTITY % ident 'INCLUDE' >
<![ %ident; [

<!--doc:identifies or names any kind of object -->
<!ELEMENT %n.ident; %om.RR;   (#PCDATA)>
<!ATTLIST %n.ident;
 %att.global.attributes;
 %att.typed.attributes; >
]]>

<!ENTITY % listRef 'INCLUDE' >
<![ %listRef; [

<!--doc:(list of references) supplies a list of significant references to places where this
  element is discussed, in the current document or elsewhere. -->
<!ELEMENT %n.listRef; %om.RR;  (%n.ptr;)*>
<!ATTLIST %n.listRef;
 %att.global.attributes; >
]]>

<!ENTITY % macroSpec 'INCLUDE' >
<![ %macroSpec; [

<!--doc:() documents the function and implementation of a pattern.  -->
<!ELEMENT %n.macroSpec; %om.RR;  (%macro.glossSeq;,(%n.stringVal; | %n.content;)+,(%n.exemplum;)*,(%n.remarks;)?,(%n.listRef;)*)>
<!ATTLIST %n.macroSpec;
 %att.global.attributes;
 %att.identified.attributes;
 type (pe|epe|ge|dt) #IMPLIED >
]]>

<!ENTITY % memberOf 'INCLUDE' >
<![ %memberOf; [

<!--doc:specifies  class membership of the parent element or class. -->
<!ELEMENT %n.memberOf; %om.RR; %macro.xtext;>
<!ATTLIST %n.memberOf;
 %att.global.attributes;
 key %data.name;  #IMPLIED >
]]>

<!ENTITY % moduleRef 'INCLUDE' >
<![ %moduleRef; [

<!--doc:references a module which is to be incorporated into a schema. -->
<!ELEMENT %n.moduleRef; %om.RR;  (%n.content;)?>
<!ATTLIST %n.moduleRef;
 %att.global.attributes;
 key CDATA #IMPLIED
 url CDATA #IMPLIED >
]]>

<!ENTITY % moduleSpec 'INCLUDE' >
<![ %moduleSpec; [

<!--doc:documents the structure, content, and purpose of a single
module, i.e. a named and externally visible group of declarations. -->
<!ELEMENT %n.moduleSpec; %om.RR;  (%macro.glossSeq;,(%n.exemplum;)*,(%n.remarks;)?,(%n.listRef;)*)>
<!ATTLIST %n.moduleSpec;
 %att.global.attributes;
 %att.identified.attributes;
 type CDATA  #IMPLIED >
]]>

<!ENTITY % remarks 'INCLUDE' >
<![ %remarks; [

<!--doc:() contains any commentary or discussion about the usage of an
element, attribute, class, or entity not otherwise documented within the
containing element. -->
<!ELEMENT %n.remarks; %om.RR; %macro.componentSeq;>
<!ATTLIST %n.remarks;
 %att.global.attributes; >
]]>

<!ENTITY % schemaSpec 'INCLUDE' >
<![ %schemaSpec; [

<!--doc:generates a TEI-conformant schema and documentation for it. -->
<!ELEMENT %n.schemaSpec; %om.RR;  (%macro.glossSeq;,(%n.moduleRef; | %n.specGrpRef; | %model.oddDecl;)*)>
<!ATTLIST %n.schemaSpec;
 %att.global.attributes;
 %att.identified.attributes;
 type %data.namespace;  #IMPLIED
 start CDATA "TEI" 
 ns %data.namespace;  "http://www.tei-c.org/ns/1.0"  >
]]>

<!ENTITY % specDesc 'INCLUDE' >
<![ %specDesc; [

<!--doc:(Element or class description) indicates that a description of the specified element or class should
          be included at this point within a document. -->
<!ELEMENT %n.specDesc; %om.RR; EMPTY>
<!ATTLIST %n.specDesc;
 %att.global.attributes;
 key %data.name;  #IMPLIED
 atts CDATA #IMPLIED >
]]>

<!ENTITY % specGrp 'INCLUDE' >
<![ %specGrp; [

<!--doc:(specification group) contains any convenient grouping of specifications for use within
  the current module. -->
<!ELEMENT %n.specGrp; %om.RR;  (%model.oddDecl; | %model.oddRef; | %model.divPart;)*>
<!ATTLIST %n.specGrp;
 %att.global.attributes; >
]]>

<!ENTITY % specGrpRef 'INCLUDE' >
<![ %specGrpRef; [

<!--doc:(reference to a specification group) indicates that the  declarations contained by the
  specGrp referenced should be inserted at this point. -->
<!ELEMENT %n.specGrpRef; %om.RR; EMPTY>
<!ATTLIST %n.specGrpRef;
 %att.global.attributes;
 target %data.pointer;  #REQUIRED >
]]>

<!ENTITY % specList 'INCLUDE' >
<![ %specList; [

<!--doc:marks where a list of descriptions is to be inserted into the prose documentation. -->
<!ELEMENT %n.specList; %om.RR;  (%n.specDesc;)+>
<!ATTLIST %n.specList;
 %att.global.attributes; >
]]>

<!ENTITY % stringVal 'INCLUDE' >
<![ %stringVal; [

<!--doc:() contains the intended expansion for the entity documented
by an patternSpec element, enclosed by quotation marks. -->
<!ELEMENT %n.stringVal; %om.RR;   (#PCDATA)>
<!ATTLIST %n.stringVal;
 %att.global.attributes; >
]]>

<!ENTITY % tag 'INCLUDE' >
<![ %tag; [

<!--doc:() contains text of a complete start- or end-tag, possibly
including attribute specifications, but excluding the opening and
closing markup delimiter characters. -->
<!ELEMENT %n.tag; %om.RR;   (#PCDATA)>
<!ATTLIST %n.tag;
 %att.global.attributes;
 scheme (TEI|DBK) "TEI"  >
]]>

<!ENTITY % val 'INCLUDE' >
<![ %val; [

<!--doc:(value) contains a single attribute value. -->
<!ELEMENT %n.val; %om.RR;   (#PCDATA)>
<!ATTLIST %n.val;
 %att.global.attributes; >
]]>

<!ENTITY % valDesc 'INCLUDE' >
<![ %valDesc; [

<!--doc:(value description) specifies any semantic or syntactic constraint on the value that
an attribute may take, additional to the information carried by the
datatype element. -->
<!ELEMENT %n.valDesc; %om.RR; %macro.phraseSeq;>
<!ATTLIST %n.valDesc;
 %att.global.attributes;
 mode (add|delete|change|replace) "add"  >
]]>

<!ENTITY % valItem 'INCLUDE' >
<![ %valItem; [

<!--doc:(value definition) contains a single value and gloss  pair for an attribute. -->
<!ELEMENT %n.valItem; %om.RR;  (%macro.glossSeq;)>
<!ATTLIST %n.valItem;
 %att.global.attributes;
 %att.identified.attributes; >
]]>

<!ENTITY % valList 'INCLUDE' >
<![ %valList; [

<!--doc:(value list) contains one or more valItem elements defining possible
  values for an attribute. -->
<!ELEMENT %n.valList; %om.RR;  (%n.valItem;)+>
<!ATTLIST %n.valList;
 %att.global.attributes;
 mode (add|delete|change|replace) "add" 
 type (closed|semi|open) "open"  >
]]>
