
<!--
 TEI P5 DTD module tagdocs. Generated 2008-11-01T14:15:24Z. 
Copyright 2008 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.
A copy of the GNU General Public
	    License is stored on the TEI web site
	    along with this file; you can also contact the Free
	    Software Foundation, Inc., 59 Temple Place, Suite 330,
	    Boston, MA 02111-1307, USA, for a copy.
For information about the TEI, including contact
		details, consult the TEI web
	      site at http://www.tei-c.org/. 
		
Edition: 1.2.0. Last updated on October 31st 2008.
Documentation of TEI modules
-->

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

<!--doc:(alternate identifier) supplies the recommended XML name for an element, class,
  attribute, etc. in some language. -->
<!ELEMENT %n.altIdent; %om.RR; %macro.xtext;>
<!ATTLIST %n.altIdent; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.altIdent;
 %att.global.attributes;
 %att.typed.attributes; >
]]>

<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; ((%model.glossLike;)*,(%n.datatype;)?,(%n.defaultVal;)?,(%n.valList; |
 %n.valDesc;)?,(%n.exemplum;)*,(%n.remarks;)*)>
<!ATTLIST %n.attDef; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.attRef;
 %att.global.attributes;
name %data.word;  #REQUIRED >
]]>

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

<!--doc:(class specification) 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; ((%model.glossLike;)*,(%n.classes;)?,(%n.attList;)?,(%n.exemplum;)*,(%n.remarks;)*,(%n.listRef;)*)>
<!ATTLIST %n.classSpec; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.classSpec;
 %att.global.attributes;
 %att.identified.attributes;
type (model|
atts) #REQUIRED
generate (alternation|
sequence|
sequenceOptional|
sequenceOptionalRepeatable|
sequenceRepeatable) #IMPLIED >
]]>

<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.classes;
 %att.global.attributes;
mode (change|
replace) "replace"  >
]]>

<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.code;
 %att.global.attributes;
lang %data.word;  #IMPLIED >
]]>

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

<!--doc:(content model) contains the text of a declaration for the schema
documented. -->
<!ELEMENT %n.content; %om.RR; (%macro.schemaPattern; |
 %n.valList;)*>
<!ATTLIST %n.content; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.datatype;
 %att.global.attributes;
minOccurs %data.count;  "1" 
maxOccurs CDATA "1"  >
]]>

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

<!--doc:(default value) specifies the default declared value for an attribute. -->
<!ELEMENT %n.defaultVal; %om.RR;  (#PCDATA)>
<!ATTLIST %n.defaultVal; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.defaultVal;
 %att.global.attributes; >
]]>

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

<!--doc:(example) contains any kind of illustrative example.  -->
<!ELEMENT %n.eg; %om.RR;  (#PCDATA)>
<!ATTLIST %n.eg; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.eg;
 %att.global.attributes;
 %att.xmlspace.attributes; >
]]>

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

<!--doc:(example of XML) contains a single well-formed XML fragment demonstrating the
  use of some XML element or attribute, in which the egXML
  element itself functions as the root element.  -->
<!ELEMENT %n.egXML; %om.RR; (%macro.anyXML;)*>
<!ATTLIST %n.egXML; xmlns CDATA "http://www.tei-c.org/ns/Examples">
<!ATTLIST %n.egXML;
 %att.global.attributes;
 %att.xmlspace.attributes; >
]]>

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

<!--doc:(element specification) documents the structure, content, and purpose of a single
element type. -->
<!ELEMENT %n.elementSpec; %om.RR; ((%model.glossLike;)*,(%n.classes;)?,(%n.content;)?,(%n.attList;)?,(%n.exemplum;)*,(%n.remarks;)*,(%n.listRef;)*)>
<!ATTLIST %n.elementSpec; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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 % equiv 'INCLUDE' >
<![ %equiv; [

<!--doc:(equivalent) specifies a component which is considered equivalent to the
  parent element, either by co-reference, or by external link. -->
<!ELEMENT %n.equiv; %om.RR; EMPTY>
<!ATTLIST %n.equiv; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.equiv;
 %att.global.attributes;
 %att.internetMedia.attributes;
name %data.name;  #IMPLIED
uri %data.pointer;  #IMPLIED
filter %data.pointer;  #IMPLIED >
]]>

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

<!--doc:groups an example demonstrating the use of an element along
with optional paragraphs of commentary. -->
<!ELEMENT %n.exemplum; %om.RR; ((%model.pLike;)*,(%n.egXML; |
 %n.eg;),(%model.pLike;)*)>
<!ATTLIST %n.exemplum; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.exemplum;
 %att.global.attributes;
 %att.typed.attributes;
 %att.translatable.attributes; >
]]>

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

<!--doc:(element name) contains the name (generic identifier) of an element. -->
<!ELEMENT %n.gi; %om.RR;  (#PCDATA)>
<!ATTLIST %n.gi; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.gi;
 %att.global.attributes;
scheme %data.enumerated;  "TEI"  >
]]>

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

<!--doc:(identifier) contains an identifier or name for an object of some kind in a formal language. -->
<!ELEMENT %n.ident; %om.RR;  (#PCDATA)>
<!ATTLIST %n.ident; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.listRef;
 %att.global.attributes; >
]]>

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

<!--doc:(macro specification) documents the function and implementation of a pattern.  -->
<!ELEMENT %n.macroSpec; %om.RR; ((%model.glossLike;)*,(%n.stringVal; |
 %n.content;)+,(%n.exemplum;)*,(%n.remarks;)*,(%n.listRef;)*)>
<!ATTLIST %n.macroSpec; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.macroSpec;
 %att.global.attributes;
 %att.identified.attributes;
type (pe|
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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.memberOf;
 %att.global.attributes;
key %data.name;  #IMPLIED
mode (add|
delete) "add"  >
]]>

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

<!--doc:(module reference) references a module which is to be incorporated into a schema. -->
<!ELEMENT %n.moduleRef; %om.RR; (%n.content;)?>
<!ATTLIST %n.moduleRef; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.moduleRef;
 %att.global.attributes;
key CDATA #IMPLIED
url %data.pointer;  #IMPLIED >
]]>

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

<!--doc:(module specification) 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; ((%model.glossLike;)*,(%n.exemplum;)*,(%n.remarks;)?,(%n.listRef;)*)>
<!ATTLIST %n.moduleSpec; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; (%model.pLike;)+>
<!ATTLIST %n.remarks; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.remarks;
 %att.global.attributes;
 %att.translatable.attributes; >
]]>

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

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

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

<!--doc:(specification 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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.specGrpRef;
 %att.global.attributes;
target %data.pointer;  #REQUIRED >
]]>

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

<!--doc:(specification list) marks where a list of descriptions is to be inserted into the prose documentation. -->
<!ELEMENT %n.specList; %om.RR; (%n.specDesc;)+>
<!ATTLIST %n.specList; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.specList;
 %att.global.attributes; >
]]>

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

<!--doc:contains the intended expansion for the entity documented
by a macroSpec element, enclosed by quotation marks. -->
<!ELEMENT %n.stringVal; %om.RR;  (#PCDATA)>
<!ATTLIST %n.stringVal; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.tag;
 %att.global.attributes;
type (start|
end|
empty|
pi|
comment|
ms) #IMPLIED
scheme (TEI|
DBK|
XX) "TEI"  >
]]>

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

<!--doc:(value) contains a single attribute value. -->
<!ELEMENT %n.val; %om.RR;  (#PCDATA)>
<!ATTLIST %n.val; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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.limited;>
<!ATTLIST %n.valDesc; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.valDesc;
 %att.global.attributes;
mode (add|
delete|
change|
replace) "add"  >
]]>

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

<!--doc:documents a single attribute-value within a list of possible
  or mandatory items. -->
<!ELEMENT %n.valItem; %om.RR; (%model.glossLike;)*>
<!ATTLIST %n.valItem; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!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; xmlns CDATA "http://www.tei-c.org/ns/1.0">
<!ATTLIST %n.valList;
 %att.global.attributes;
mode (add|
delete|
change|
replace) "add" 
type (closed|
semi|
open) "open"  >
]]>
