<!-- ************************************************************** -->
<!--
NAME:     Music Encoding Initiative (MEI) DTD
          File      = meiHead.dtd 
          Vers Date = 2006/09/01

NOTICE:   Copyright (c) 2001-2006 Perry Roland and the Rector and
          Visitors of the University of Virginia.  Licensed under
          the Educational Community License version 1.0.  See
          mei17b.dtd for License details.

PURPOSE:  This file contains declarations for elements found in the
          MEI header.

NOTE:     Sub-elements declared in the meiShared DTD have been noted
          below. Also, the elements referred to by the entity
          %m.textinline are declared in the meiShared DTD.
                                                                    -->
<!-- ************************************************************** -->

<!-- The meihead element contains general information about the
encoded file. The sourcedesc element is required where the MEI file is
a transcription of existing music. In the case where the data is
originally created in MEI form, the sourcedesc element is not
required. -->
<!ELEMENT meihead  (%n.meiid;, %n.filedesc;, (%n.projectdesc;)?,
                   (%n.editorialdecl;)?, (%n.profiledesc;)?,
                   (%n.revisiondesc;)?, (%n.sourcedesc;)?)>
<!ATTLIST meihead
          %a.common;
          %a.bibl;
          %a.text;>

<!-- A formal or informal identifier for the MEI file. -->
<!ENTITY % meiid 'INCLUDE'>
<![%meiid;[
<!ELEMENT %n.meiid;  (#PCDATA)>
<!ATTLIST %n.meiid;
          meiform            CDATA                 #FIXED 'meiid'
          %a.common;
          %a.bibl;>
]]>

<!-- Filedesc contains a full bibliographic description of the
MEI file. -->
<!ENTITY % filedesc 'INCLUDE'>
<![%filedesc;[
<!ELEMENT %n.filedesc;  (%n.titlestmt;, (%n.editionstmt;)?, %n.pubstmt;,
                        (%n.seriesstmt;)?, (%n.extent;)?,
                        (%n.fingerprint;)?, (%n.notesstmt;)?)>
<!ATTLIST %n.filedesc;
          meiform            CDATA                 #FIXED 'filedesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Container for title and responsibility meta-data. The title
element is declared in the meiShared DTD.-->
<!ENTITY % titlestmt 'INCLUDE'>
<![%titlestmt;[
<!ELEMENT %n.titlestmt; ((%n.title;)+, (%n.respstmt;)?)>
<!ATTLIST %n.titlestmt;
          meiform            CDATA                 #FIXED 'titlestmt'
          %a.common;
          %a.bibl;>
]]>

<!-- A statement of responsibility names one or more individuals or
groups responsible for creation or realization of the intellectual or
artistic content. -->
<!ENTITY % respstmt 'INCLUDE'>
<![%respstmt;[
<!ELEMENT %n.respstmt; (%n.agent;)+>
<!ATTLIST %n.respstmt;
          meiform            CDATA                 #FIXED 'respstmt'
          %a.common;
          %a.bibl;>
]]>

<!-- Contains the name of an individual or a corporate body, i.e. 'Henry
VIII, King of England' or 'The Beatles'. The identifier and date
elements are declared in the meiShared DTD. They are available here in
order to record any identifiers, e.g., 'The Younger', or dates, e.g.,
birth and death, associated with the agent.  Publication dates must be
encoded in the date element within the pubstmt element. When name parts
are needed, use corpname and persname sub-elements instead of the form
attribute. -->
<!ENTITY % agent 'INCLUDE'>
<![%agent;[
<!ELEMENT %n.agent; (#PCDATA|%n.corpname;|%n.date;|%n.identifier;|%n.persname;)*>
<!ATTLIST %n.agent;
          meiform            CDATA                 #FIXED 'agent'
          %a.common;
          %a.bibl;
          %a.name;
          form               (persname|corpname)   #IMPLIED
          role               CDATA                 #IMPLIED>
]]>

<!-- Container for meta-data pertaining to the edition. -->
<!ENTITY % editionstmt 'INCLUDE'>
<![%editionstmt;[
<!ELEMENT %n.editionstmt; (%n.edition;, (%n.respstmt;)*)+>
<!ATTLIST %n.editionstmt;
          meiform            CDATA                 #FIXED 'editionstmt'
          %a.common;
          %a.bibl;>
]]>

<!-- The edition designation is a word or phrase that normally
indicates a difference in either content or form between the
item being described and a related item previously issued by
the same publisher/distributor (e.g. 2nd edition, version 2.0,
etc.), or simultaneously issued by either the same publisher/
distributor or another publisher/distributor (e.g. large print
edition, British edition, etc.). The %m.anchoredtext entity is
used here in order to disallow the pb element. -->
<!ENTITY % edition 'INCLUDE'>
<![%edition;[
<!ELEMENT %n.edition; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.edition;
          meiform            CDATA                 #FIXED 'edition'
          %a.common;
          %a.bibl;>
]]>

<!-- Publication meta-data. The geogname, address, date, and identifier
elements are declared in the meiShared DTD. -->
<!ENTITY % pubstmt 'INCLUDE'>
<![%pubstmt;[
<!ELEMENT %n.pubstmt;  ((%n.geogname;)?, (%n.address;)*, (%n.respstmt;)?,
                       (%n.date;)?, (%n.identifier;)*, (%n.availability;)*,
                       (%n.pubstatus;)?)+>
<!ATTLIST %n.pubstmt;
          meiform            CDATA                 #FIXED 'pubstmt'
          %a.common;
          %a.bibl;>
]]>

<!-- Availability information/qualifications. -->
<!ENTITY % availability 'INCLUDE'>
<![%availability;[
<!ELEMENT %n.availability;  ((%n.acqsource;, ((%n.accessdesc;),
                            (%n.price;)?)*)*, (%n.userestrict;)?,
                            (%n.sysreq;)?)>
<!ATTLIST %n.availability;
          meiform            CDATA                 #FIXED 'availability'
          %a.common;
          %a.bibl;>
]]>

<!-- Source from which access to this item may be obtained, e.g. vendor,
repository, etc. The %m.anchoredtext entity is used here in order to
disallow the pb element. -->
<!ENTITY % acqsource 'INCLUDE'>
<![%acqsource;[
<!ELEMENT %n.acqsource;   (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.acqsource;
          meiform            CDATA                 #FIXED 'acqsource'
          %a.common;
          %a.bibl;>
]]>

<!-- Description of the access that may be obtained. The %m.anchoredtext
entity is used here in order to disallow the pb element. -->
<!ENTITY % accessdesc 'INCLUDE'>
<![%accessdesc;[
<!ELEMENT %n.accessdesc; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.accessdesc;
          meiform            CDATA                 #FIXED 'accessDesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Usage restrictions, e.g., copyright statement in the filedesc, or
(re-)publication rights in the sourcedesc. The %m.anchoredtext entity is
used here in order to disallow the pb element. -->
<!ENTITY % userestrict 'INCLUDE'>
<![%userestrict;[
<!ELEMENT %n.userestrict; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.userestrict;
          meiform            CDATA                 #FIXED 'userestrict'
          %a.common;
          %a.bibl;>
]]>

<!-- The cost of access. The %m.anchoredtext entity is used here in
order to disallow the pb element. -->
<!ENTITY % price 'INCLUDE'>
<![%price;[
<!ELEMENT %n.price; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.price;
          meiform            CDATA                 #FIXED 'price'
          %a.common;
          %a.bibl;
          units              CDATA                 #IMPLIED>
]]>

<!-- System requirements for using the electronic item. The
%m.anchoredtext entity is used here in order to disallow the pb
element. -->
<!ENTITY % sysreq 'INCLUDE'>
<![%sysreq;[
<!ELEMENT %n.sysreq; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.sysreq;
          meiform            CDATA                 #FIXED 'sysreq'
          %a.common;
          %a.bibl;>
]]>

<!-- Publication status, e.g., published vs. unpublished. The
%m.anchoredtext entity is used here in order to disallow the pb
element. -->
<!ENTITY % pubstatus 'INCLUDE'>
<![%pubstatus;[
<!ELEMENT %n.pubstatus; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.pubstatus;
          meiform            CDATA                 #FIXED 'pubstatus'
          %a.common;
          %a.bibl;>
]]>

<!-- Groups information about the series, if any, to which a
publication belongs. In this context, the title element records the
series title, the respStmt element records the person or group
responsible for the series, and the identifier element contains a
series identifier. The list element should be used when it is necessary
to enumerate the contents of the series. The seriesstmt is provided
within seriesstmt for the description of a sub-series. The title, list,
and identifier elements are declared in the meiShared DTD. -->
<!ENTITY % seriesstmt 'INCLUDE'>
<![%seriesstmt;[
<!ELEMENT %n.seriesstmt; ((%n.title;)+, %n.respstmt;, (%n.identifier;)*,
                         (%n.list;|(%n.seriesstmt;)*))>
<!ATTLIST %n.seriesstmt;
          meiform            CDATA                 #FIXED 'seriesstmt'
          %a.common;
          %a.bibl;>
]]>

<!-- The extent element is used to express size in terms other than
physical dimensions, such as number of pages, number of records in file,
number of bytes, performance duration for music, audio recordings and
visual projections, etc. For physical dimensions use the dimensions
element. The %m.anchoredtext entity is used here in order to disallow
the pb element. -->
<!ENTITY % extent 'INCLUDE'>
<![%extent;[
<!ELEMENT %n.extent; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.extent;
          meiform            CDATA                 #FIXED 'extent'
          %a.common;
          %a.bibl;
          units              CDATA                 #IMPLIED>
]]>

<!-- Traditionally, an identifier constructed by combining groups of
characters transcribed from specified pages of a printed item. For an
electronic item, however, the fingerprint should be a checksum. The
checksum makes it possible to signal differences between copies of the
item. -->
<!ENTITY % fingerprint 'INCLUDE'>
<![%fingerprint;[
<!ELEMENT %n.fingerprint; (#PCDATA)>
<!ATTLIST %n.fingerprint;
          meiform            CDATA                 #FIXED 'fingerprint'
          %a.common;
          %a.text;>
]]>

<!-- Collects together any bibliographic notes providing information
additional to that recorded in other parts of the bibliographic
description. -->
<!ENTITY % notesstmt 'INCLUDE'>
<![%notesstmt;[
<!ELEMENT %n.notesstmt; (%n.bibnote;)+>
<!ATTLIST %n.notesstmt;
          meiform            CDATA                 #FIXED 'notesstmt'
          %a.common;
          %a.bibl;>
]]>

<!-- Bibliographic note. The %m.anchoredtext entity is used here in
order to disallow the pb element. -->
<!ENTITY % bibnote 'INCLUDE'>
<![%bibnote;[
<!ELEMENT %n.bibnote; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.bibnote;
          meiform            CDATA                 #FIXED 'bibnote'
          %a.common;
          %a.bibl;>
]]>

<!-- Project-level meta-data describing the aim or purpose for which the
electronic file was encoded, funding agencies, etc. The m.textcomponent
class elements are declared in the meiShared DTD. -->
<!ENTITY % projectdesc 'INCLUDE'>
<![%projectdesc;[
<!ELEMENT %n.projectdesc;  (%m.textcomponents;)+>
<!ATTLIST %n.projectdesc;
          meiform            CDATA                 #FIXED 'projectdesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Declaration of editorial principals & practices. The
m.textcomponent class elements are declared in the meiShared DTD. -->
<!ENTITY % editorialdecl 'INCLUDE'>
<![%projectdesc;[
<!ELEMENT %n.editorialdecl;  (%m.textcomponents;)+>
<!ATTLIST %n.editorialdecl;
          meiform            CDATA                 #FIXED 'editorialdecl'
          %a.common;
          %a.bibl;>
]]>

<!-- Profiledesc provides a detailed description of the non-
bibliographic aspects of the creation of a work, specifically the
languages and sublanguages used, the situation in which it was
produced, e.g. the participants, setting, reception history, etc. -->
<!ENTITY % profiledesc 'INCLUDE'>
<![%profiledesc;[
<!ELEMENT %n.profiledesc;  ((%n.creation;)?, (%n.langusage;)?,
                           (%n.musicclass;)?)>
<!ATTLIST %n.profiledesc;
          meiform            CDATA                 #FIXED 'profiledesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Non-bibliographic creation details for the work being encoded. The
m.textcomponent class elements are declared in the meiShared DTD. -->
<!ENTITY % creation 'INCLUDE'>
<![%creation;[
<!ELEMENT %n.creation;  (%m.textcomponents;)+>
<!ATTLIST %n.creation;
          meiform            CDATA                 #FIXED 'creation'
          %a.common;
          %a.bibl;>
]]>

<!-- Langusage describes the languages, sublanguages, dialects, etc.,
represented within the encoded work. -->
<!ENTITY % langusage 'INCLUDE'>
<![%langusage;[
<!ELEMENT %n.langusage;  (%n.language;)+>
<!ATTLIST %n.langusage;
          meiform            CDATA                 #FIXED 'langusage'
          %a.common;
          %a.bibl;>
]]>

<!-- The name of a language. The language of text elements may be
related to this element via its id, which may take the form of a code,
drawn from a coded list, such as iso639-2b. The %m.anchoredtext entity
is used here in order to disallow the pb element. -->
<!ENTITY % language 'INCLUDE'>
<![%language;[
<!ELEMENT %n.language;  (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.language;
          meiform            CDATA                 #FIXED 'language'
          %a.common;
          %a.bibl;>
]]>

<!-- The musicclass (music classification) element groups information
which describes the nature or topic of a musical work in terms of a
standard classification scheme, thesaurus, etc. -->
<!ENTITY % musicclass 'INCLUDE'>
<![%musicclass;[
<!ELEMENT %n.musicclass; (%n.classcode;|%n.keywords;)+>
<!ATTLIST %n.musicclass;
          meiform            CDATA                 #FIXED 'musicclass'
          %a.common;
          %a.bibl;>
]]>

<!-- A classification code, i.e., LC subject or call number. -->
<!ENTITY % classcode 'INCLUDE'>
<![%classcode;[
<!ELEMENT %n.classcode; (#PCDATA)>
<!ATTLIST %n.classcode;
          meiform            CDATA                 #FIXED 'classcode'
          %a.common;
          %a.bibl;>
]]>

<!-- Collection of keywords or phrases which describe the work. -->
<!ENTITY % keywords 'INCLUDE'>
<![%keywords;[
<!ELEMENT %n.keywords; (%n.term;)+>
<!ATTLIST %n.keywords;
          meiform            CDATA                 #FIXED 'keywords'
          %a.common;
          %a.bibl;>
]]>

<!-- Individual keywords or phrases which describe the work. The
classcode attribute may be used to link the term to a terminological
source given in a classcode element. The %m.anchoredtext entity is used
here in order to disallow the pb element. -->
<!ENTITY % term 'INCLUDE'>
<![%term;[
<!ELEMENT %n.term; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.term;
          meiform            CDATA                 #FIXED 'term'
          classcode          IDREF                 #IMPLIED
          %a.common;
          %a.bibl;>
]]>

<!-- The revision history for an MEI file -->
<!ENTITY % revisiondesc 'INCLUDE'>
<![%revisiondesc;[
<!ELEMENT %n.revisiondesc;  (%n.change;)+>
<!ATTLIST %n.revisiondesc;
          meiform            CDATA                 #FIXED 'revisiondesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Individual change within the revision description. The resp
attribute contains data about the person/entity responsible for the
creation of the change element. The date element is declared in the
meiShared DTD. -->
<!ENTITY % change 'INCLUDE'>
<![%change;[
<!ELEMENT %n.change;  (%n.changedesc;, %n.date;)>
<!ATTLIST %n.change;
          meiform            CDATA                 #FIXED 'change'
          resp               CDATA                 #IMPLIED
          %a.common;
          %a.bibl;>
]]>

<!-- Description of a revision. The p element is declared in the
meiShared DTD. -->
<!ENTITY % changedesc 'INCLUDE'>
<![%changedesc;[
<!ELEMENT %n.changedesc;  (%n.p;)+>
<!ATTLIST %n.changedesc;
          meiform            CDATA                 #FIXED 'changedesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Sourcedesc is a container for the descriptions of the source(s) for
the electronic file. -->
<!ENTITY % sourcedesc 'INCLUDE'>
<![%sourcedesc;[
<!ELEMENT %n.sourcedesc; (%n.source;)+>
<!ATTLIST %n.sourcedesc;
          meiform            CDATA                 #FIXED 'sourcedesc'
          %a.common; >
]]>

<!-- Source contains a bibliographic description of a source for the
electronic file. When there are multiple sources, the data attribute may
be used to link the description to a particular data element, i.e., div,
part, section, ending, reading, measure, staff or layer. Within
sourcedesc, extent may be used when only a portion of the source, pages
1-3 for example, are encoded. If extent is absent, then the entire
source is presumed to have been encoded. Multiple physdesc sub-elements
may be used to describe the physically separate parts of a single
source. -->
<!ENTITY % source 'INCLUDE'>
<![%source;[
<!ELEMENT %n.source;  ((%n.titlestmt;)?, (%n.editionstmt;)?, (%n.pubstmt;)?,
                      (%n.seriesstmt;)?, (%n.physdesc;)*, (%n.handlist;)?,
                      (%n.extent;)?, (%n.notesstmt;)?)>
<!ATTLIST %n.source;
          meiform            CDATA                 #FIXED 'source'
          data               IDREFS                #IMPLIED
          %a.common;
          %a.bibl;>
]]>

<!-- Physical description of the source for the electronic edition.
Dedicatory text and other textual features may be encoded here when
they are not transcribed as part of the front or back matter. This
would, however, require additional sub-elements. -->
<!ENTITY % physdesc 'INCLUDE'>
<![%physdesc;[
<!ELEMENT %n.physdesc; (%n.extent;|%n.physmedium;|%n.dimensions;|
                       %n.provenance;|%n.inscription;|%n.exhibithist;|
                       %n.condition;|%n.treatmenthist;|
                       %n.treatmentsched;)+>
<!ATTLIST %n.physdesc;
          meiform            CDATA                 #FIXED 'physdesc'
          %a.common;
          %a.bibl;>
]]>

<!-- Physmedium is used to record the physical materials used in the
source, such as ink and paper. The %m.anchoredtext entity is used here
in order to disallow the pb element. -->
<!ENTITY % physmedium 'INCLUDE'>
<![%physmedium;[
<!ELEMENT %n.physmedium; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.physmedium;
          meiform            CDATA                 #FIXED 'physmedium'
          %a.common;
          %a.bibl;>
]]>

<!-- Physical dimensions of a bibliographic source. The %m.anchoredtext
entity is used here in order to disallow the pb element. -->
<!ENTITY % dimensions 'INCLUDE'>
<![%dimensions;[
<!ELEMENT %n.dimensions; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.dimensions;
          meiform            CDATA                 #FIXED 'dimensions'
          %a.common;
          %a.bibl;
          units              CDATA                 #IMPLIED>
]]>

<!-- The record of ownership or custodianship of an item. The
%m.anchoredtext entity is used here in order to disallow the pb
element. -->
<!ENTITY % provenance 'INCLUDE'>
<![%provenance;[
<!ELEMENT %n.provenance; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.provenance;
          meiform            CDATA                 #FIXED 'provenance'
          %a.common;
          %a.bibl;>
]]>

<!-- An inscription added to an item, such as a bookplate, a note
designating the item as a gift, and/or the author's signature. The
%m.anchoredtext entity is used here in order to disallow the pb
element. -->
<!ENTITY % inscription 'INCLUDE'>
<![%inscription;[
<!ELEMENT %n.inscription; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.inscription;
          meiform            CDATA                 #FIXED 'inscription'
          %a.common;
          %a.bibl;>
]]>

<!-- Exhibition history is a record of public exhibitions, including
dates, venues, etc. The %m.anchoredtext entity is used here in order to
disallow the pb element. -->
<!ENTITY % exhibithist 'INCLUDE'>
<![%exhibithist;[
<!ELEMENT %n.exhibithist; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.exhibithist;
          meiform            CDATA                 #FIXED 'exhibithist'
          %a.common;
          %a.bibl;>
]]>

<!-- The physical condition of an item, particularly any variances
between the physical makeup of the item and that of other copies of the
same item (e.g., missing pages, plates, etc.). Condition may reflect
other aspects of the physical condition of the item as well (e.g.,
brittleness, faded images, etc.). The %m.anchoredtext entity is used
here in order to disallow the pb element. -->
<!ENTITY % condition 'INCLUDE'>
<![%condition;[
<!ELEMENT %n.condition; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.condition;
          meiform            CDATA                 #FIXED 'condition'
          %a.common;
          %a.bibl;>
]]>

<!-- A record of the treatment the item has undergone (e.g.,
deacidification, restoration, etc.) Treatment history may also comprise
details of the treatment process (e.g., chemical solutions used,
techniques applied, etc.), the date the treatment was applied, etc. The
%m.anchoredtext entity is used here in order to disallow the pb
element. -->
<!ENTITY % treatmenthist 'INCLUDE'>
<![%treatmenthist;[
<!ELEMENT %n.treatmenthist; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.treatmenthist;
          meiform            CDATA                 #FIXED 'treatmenthist'
          %a.common;
          %a.bibl;>
]]>

<!-- Scheduled treatment, e.g. deacidification, restoration, etc., for
an item. The %m.anchoredtext entity is used here in order to disallow
the pb element. -->
<!ENTITY % treatmentsched 'INCLUDE'>
<![%treatmentsched;[
<!ELEMENT %n.treatmentsched; (#PCDATA|%m.anchoredtext;)*>
<!ATTLIST %n.treatmentsched;
          meiform            CDATA                 #FIXED 'treatmentsched'
          %a.common;
          %a.bibl;>
]]>

<!-- The handlist element contains a series of <hand> elements listing
the different hands of the source. -->
<!ENTITY % handlist 'INCLUDE'>
<![%handlist;[
<!ELEMENT %n.handlist; (%n.hand;)+>
<!ATTLIST %n.handlist;
          meiform            CDATA                 #FIXED 'handlist'
          %a.common;
          %a.bibl;>
]]>

<!-- The hand element is used to define each distinct scribe or
handwriting style. The character attribute describes characteristics of
the hand, particularly those related to the quality of the writing, such
as 'shaky', 'thick', etc. The initial attribute indicates whether this
is the first or main scribe of the document. The ink attribute describes
the tint or type of ink, e.g. 'brown'. It may also be used to indicate
the writing medium, e.g. 'pencil'. The resp attribute indicates the
editor or transcriber responsible for identifying the hand. -->
<!ENTITY % hand 'INCLUDE'>
<![%hand;[
<!ELEMENT %n.hand; EMPTY>
<!ATTLIST %n.hand;
          meiform            CDATA                 #FIXED 'hand'
          %a.common;
          %a.bibl;
          character          CDATA                 #IMPLIED
          initial            %BOOLEAN;             #IMPLIED
          ink                CDATA                 #IMPLIED
          resp               CDATA                 #IMPLIED>
]]>

<!-- ************************************************************** -->
