Encoded Archival Context DTD
From: ftp://jefferson.village.virginia.edu/pub/dvp4c/eac/shared/eac/eac.dtd.
<!--DOCTYPE eac [
-->
<!--************************************************************-->
<!--************************************************************-->
<!--************************************************************-->
<!-- encoded archival context dtd
PUBLIC "-//EAC WG//DTD eac.dtd (Alpha)//EN"
-->
<!--************************************************************-->
<!--************************************************************-->
<!-- shared parameter entities
-->
<!ENTITY % eapara
PUBLIC "-//EAC WG//DTD eapara.ent (Alpha)//EN"
"eapara.ent"
>
%eapara;
<!--************************************************************-->
<!--************************************************************-->
<!--************************************************************-->
<!--************************************************************-->
<!-- element and attribute declarations
-->
<!--************************************************************-->
<!--************************************************************-->
<!-- encoded archival context
-->
<!--************************************************************-->
<!ELEMENT eac
(eacheader, condesc)
>
<!ATTLIST eac
%a.common;
>
<!--************************************************************-->
<!-- eadheader
-->
<!--************************************************************-->
<!ELEMENT eacheader
(eacid, mainhist, languagedecl?, ruledecl?,
sourcedecl?, authdecl?)
>
<!ATTLIST eacheader
%a.common;
type (c | p | f) #REQUIRED
status (draft | edited |
deleted) #REQUIRED
langencoding CDATA "ISO 639-2b"
scriptencoding CDATA "ISO 15924"
dateencoding CDATA "ISO 8601"
countryencoding CDATA "ISO 3166-1 a2"
ownerencoding CDATA "ISO 11551"
encodinganalogsys CDATA #IMPLIED
detaillevel %att.later; #IMPLIED
>
<!--************************************************************-->
<!-- eac identifier
-->
<!ELEMENT eacid
(#PCDATA)
>
<!ATTLIST eacid
%a.common;
%a.syskey;
>
<!--************************************************************-->
<!-- context description
-->
<!--************************************************************-->
<!ELEMENT condesc
(head?, (identity, eacrels?, resourcerels?, funactrels?,
desc?))
>
<!ATTLIST condesc
%a.common;
>
<!--************************************************************-->
<!-- identity
-->
<!--************************************************************-->
<!ELEMENT identity
(head?, (legalid*, ((persgrp | pershead)+ |
(corpgrp | corphead)+ | (famgrp | famhead)+),
nameadds*, didentifier*, ((sourceref | sourcerefs)?,
(note | notes)?)))
>
<!ATTLIST identity
%a.common;
>
<!--************************************************************-->
<!-- legal identifier
-->
<!ELEMENT legalid
(#PCDATA | part | %m.base;)*
>
<!ATTLIST legalid
%a.common;
%a.type;
%a.value;
>
<!--************************************************************-->
<!-- person name heading group
-->
<!ELEMENT persgrp
((pershead, pershead+), nameadds*,
(sourceref | sourcerefs)?, (note | notes)?)
>
<!ATTLIST persgrp
%a.common;
>
<!--************************************************************-->
<!-- person name heading
-->
<!ELEMENT pershead
(%m.namehead;)
>
<!ATTLIST pershead
%a.common;
%a.head;
%a.lang;
headtype (earlier | later |
identity) #IMPLIED
%a.type;
>
<!--************************************************************-->
<!-- corporate name heading group
-->
<!ELEMENT corpgrp
((corphead, corphead+), nameadds*,
(sourceref | sourcerefs)?, (note | notes)?)
>
<!ATTLIST corpgrp
%a.common;
>
<!--************************************************************-->
<!-- corporate name heading
-->
<!ELEMENT corphead
(%m.namehead;)
>
<!ATTLIST corphead
%a.common;
%a.head;
%a.lang;
headtype (earlier | later |
identity) #IMPLIED
%a.type;
>
<!--************************************************************-->
<!-- family name heading group
-->
<!ELEMENT famgrp
((famhead, famhead+), nameadds*,
(sourceref | sourcerefs)?, (note | notes)?)
>
<!ATTLIST famgrp
%a.common;
>
<!--************************************************************-->
<!-- family name heading
-->
<!ELEMENT famhead
(%m.namehead;)
>
<!ATTLIST famhead
%a.common;
%a.head;
%a.lang;
headtype (earlier | later |
identity) #IMPLIED
%a.type;
>
<!--************************************************************-->
<!-- digital identifier
-->
<!ELEMENT didentifier
(#PCDATA | %m.base;)*
>
<!ATTLIST didentifier
%a.common;
%a.simple.out;
>
<!--************************************************************-->
<!-- name additions
-->
<!ELEMENT nameadds
(place | date | nameadd)*
>
<!ATTLIST nameadds
%a.common;
%a.lang;
>
<!--************************************************************-->
<!-- use date - date name used
-->
<!ELEMENT usedate
(#PCDATA | %m.base; | altdate)*
>
<!ATTLIST usedate
%a.common;
%a.date;
%a.type;
>
<!--************************************************************-->
<!-- source references
-->
<!ELEMENT sourcerefs
(head, sourceref, sourceref+)
>
<!ATTLIST sourcerefs
%a.common;
>
<!--************************************************************-->
<!-- source reference
-->
<!ELEMENT sourceref
(#PCDATA | %m.base; | sourceinfo)*
>
<!ATTLIST sourceref
%a.common;
sourceref IDREF #IMPLIED
>
<!--************************************************************-->
<!-- eac relations
-->
<!--************************************************************-->
<!ELEMENT eacrels
(head?, eacrel+,
(sourceref | sourcerefs)?, (note | notes)? )
>
<!ATTLIST eacrels
%a.common;
>
<!--************************************************************-->
<!-- eac relation
-->
<!ELEMENT eacrel
((persname | corpname | famname),
(date?, place?, (note | notes)?, source*))
>
<!ATTLIST eacrel
%a.common;
reltype (superordinate |
subordinate |
earlier | later |
associative |
coordinate |
identity | other) #IMPLIED
%a.syskey;
%a.type;
rule IDREF #IMPLIED
>
<!--************************************************************-->
<!-- resource relations
-->
<!--************************************************************-->
<!ELEMENT resourcerels
(head?, resourcerel+,
(sourceref | sourcerefs)?, (note | notes)? )
>
<!ATTLIST resourcerels
%a.common;
>
<!--************************************************************-->
<!-- resource relation
-->
<!ELEMENT resourcerel
((bib | arch | mus), (date?, place?,
(note | notes)?, source*))
>
<!ATTLIST resourcerel
%a.common;
reltype (origination |
destruction |
control | causa |
other) #IMPLIED
%a.syskey;
%a.type;
rule IDREF #IMPLIED
>
<!-- felix qui potuit rerum cognoscere causas
-->
<!--************************************************************-->
<!-- bibliographic entry
-->
<!ELEMENT bib
(%m.bibl;)*
>
<!ATTLIST bib
%a.common;
>
<!--************************************************************-->
<!-- archival entry
-->
<!ELEMENT arch
(%m.arch;)*
>
<!ATTLIST arch
%a.common;
>
<!--************************************************************-->
<!-- museum entry
-->
<!ELEMENT mus
(%m.bibl;)*
>
<!ATTLIST mus
%a.common;
>
<!--************************************************************-->
<!-- function and activity relations
-->
<!--************************************************************-->
<!ELEMENT funactrels
(head?, funactrel+,
(sourceref | sourcerefs)?, (note | notes)?)
>
<!ATTLIST funactrels
%a.common;
>
<!--************************************************************-->
<!-- function or activity relation
-->
<!ELEMENT funactrel
((funact), (date?, place?, (note | notes)?, source*))
>
<!ATTLIST funactrel
%a.common;
reltype %att.later; #IMPLIED
%a.syskey;
%a.type;
rule IDREF #IMPLIED
>
<!--************************************************************-->
<!-- description
-->
<!--************************************************************-->
<!ELEMENT desc
(head?, ((corpdesc | persdesc | famdesc)?,
(bioghist | ocd)*))
>
<!ATTLIST desc
%a.common;
>
<!--************************************************************-->
<!-- corporate body description
-->
<!ELEMENT corpdesc
(head?,
((corptype | legalstatus | location | descentry)*,
(causa | funactdesc | assetstruct | env | ocd)*))
>
<!ATTLIST corpdesc
%a.common;
>
<!--************************************************************-->
<!-- corporate body type
-->
<!ELEMENT corptype
(value, date?, place?, (note | source)*)
>
<!ATTLIST corptype
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- legal status
-->
<!ELEMENT legalstatus
(value, date?, place?, (note | source)*)
>
<!ATTLIST legalstatus
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- location
-->
<!ELEMENT location
(address, date?, place?, (note | source)*)
>
<!ATTLIST location
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- causa - mandate, charge, etc.
-->
<!ELEMENT causa
(head?, ((descentry)*, (%m.blocks;)*))
>
<!ATTLIST causa
%a.common;
>
<!--************************************************************-->
<!-- function or activity description
-->
<!ELEMENT funactdesc
(head?, ((descentry)*, (%m.blocks;)*))
>
<!ATTLIST funactdesc
%a.common;
>
<!--************************************************************-->
<!-- assets or structure
-->
<!ELEMENT assetstruct
(head?, ((descentry)*, (%m.blocks;)*))
>
<!ATTLIST assetstruct
%a.common;
>
<!--************************************************************-->
<!-- environment
-->
<!ELEMENT env
(head?, ((descentry)*, (%m.blocks;)*))
>
<!ATTLIST env
%a.common;
>
<!--************************************************************-->
<!-- other context description
-->
<!ELEMENT ocd
(head?, ((descentry)*, (%m.blocks; | ocd)*))
>
<!ATTLIST ocd
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- person description
-->
<!ELEMENT persdesc
(head?,
((legalstatus | sex | location | descentry)*,
(funactdesc | character | env | ocd)*))
>
<!ATTLIST persdesc
%a.common;
>
<!--************************************************************-->
<!-- sex
-->
<!ELEMENT sex
(value, date?, place?, (note | source)*)
>
<!ATTLIST sex
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- characteristics
-->
<!ELEMENT character
(head?, ((sex | descentry)*, (%m.blocks;)*))
>
<!ATTLIST character
%a.common;
>
<!--************************************************************-->
<!-- family description
-->
<!ELEMENT famdesc
(head?,
((legalstatus | location | descentry)*,
(funactdesc | assetstruct | env | ocd)*))
>
<!ATTLIST famdesc
%a.common;
>
<!--************************************************************-->
<!-- biography or history
-->
<!ELEMENT bioghist
(head?, (%m.blocks; | bioghist |
didentifier)+)
>
<!ATTLIST bioghist
%a.common;
>
<!--************************************************************-->
<!-- descriptive entry - general
-->
<!ELEMENT descentry
(value, date?, place?, (note | source)*)
>
<!ATTLIST descentry
%a.common;
%a.type;
>
<!--************************************************************-->
<!-- value
-->
<!ELEMENT value
(#PCDATA | %m.base;)*
>
<!ATTLIST value
%a.common;
%a.value;
>
<!--************************************************************-->
<!--************************************************************-->
<!-- shared elements and attributes
-->
<!ENTITY % eaelnent
PUBLIC "-//EAC WG//DTD eaelnent.ent (Alpha)//EN"
"eaelnent.ent"
>
%eaelnent;
<!--************************************************************-->
<!--************************************************************-->
<!--************************************************************-->
<!-- override xml exhange parameter entities
-->
<!ENTITY % titles
"head?"
>
<!ENTITY % paracon
"#PCDATA | %m.table.entry;"
>
<!-- Invoke the OASIS-OPEN XML Exchange Table Model
-->
<!ENTITY % calstblx
PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
"soextblx.dtd" >
%calstblx;
<!--************************************************************-->
<!-- marked section to control notations, sgml and xml character
entities.
-->
<!--************************************************************-->
<!ENTITY % sgml "IGNORE"
>
<![%sgml;[
<!ENTITY % xml "IGNORE"
>
<!ENTITY % notation "INCLUDE"
>
<!ENTITY % eacchars SYSTEM
"eacchars.ent"
>
%eacchars;
]]>
<!ENTITY % notation "IGNORE"
>
<![%notation;[
<!ENTITY % eacnotat SYSTEM "eacnotat.ent"
>
%eacnotat;
]]>
<!ENTITY % xml "INCLUDE"
>
<![%xml;[
<!ENTITY % eacchars SYSTEM "eacchars.ent"
>
%eacchars;
]]>
<!--************************************************************-->
<!-- end of marked sections
-->
<!--************************************************************-->
<!-- end of eac
-->
<!--************************************************************-->
<!-- ]>
-->
Prepared by Robin Cover for The XML Cover Pages archive.

