GedML DTD

The GedML DTD

<!-- Top level element: GED -->

<!ELEMENT GED ( HEAD, (SUBMITTER)? , ( INDI | FAM | OBJECT | NOTE | REPOSITORY | SOURCE | SUBMISSION )* ) >

<!-- Records -->

<!-- Header record -->

<!ELEMENT HEAD ( SOUR | DEST | DATE | SUBM | SUBN | FILE | COPR |
                 GEDC | CHAR | LANG | PLAC | NOTE )* >

<!--Submitter record -->

<!ELEMENT SUBMITTER ( #PCDATA | SUBM | FAMF | TEMP | ANCE | DESC | ORDI | RIN )* >
<!ATTLIST SUBMITTER ID ID #IMPLIED >

<!--Individual record -->

<!ELEMENT INDI ( RESN | NAME | SEX | 
   EVEN | BAPL | CONL | ENDL | SLGC | FAMC | FAMS | SUBM | ASSO | ALIA
 | ANCI | DESI | SOUR | OBJE | NOTE | RFN | AFN | REFN | RIN | CHAN )* >
<!ATTLIST INDI ID ID #REQUIRED >

<!-- Family record -->

<!ELEMENT FAM ( EVEN | HUSB | WIFE | CHIL | NCHI | SUBM | SLGS
 | SOUR | OBJE | NOTE | REFN | RIN | CHAN )* >
<!ATTLIST FAM ID ID #REQUIRED >

<!-- Multimedia record -->

<!ELEMENT OBJECT ( #PCDATA | FORM | TITL | FILE | NOTE | SOUR | BLOB | OBJE
 | REFN | RIN | CHAN )* >
<!ATTLIST OBJECT ID ID #IMPLIED >

<!-- Note record -->

<!ELEMENT NOTE ( #PCDATA | CONT | CONC | SOUR | REFN | RIN | CHAN )* >
<!ATTLIST NOTE ID ID #IMPLIED >

<!-- Repository record -->

<!ELEMENT REPOSIT ( #PCDATA | NAME | ADDR | NOTE | REFN | RIN | CHAN | CALN )* >
<!ATTLIST REPOSIT ID ID #IMPLIED >

<!-- Source record -->

<!ELEMENT SOURCE ( #PCDATA | VERS | CORP | PAGE | EVEN | DATA | QUAY | NOTE
    | OBJE | AUTH | TITL | ABBR | PUBL | TEXT | REPO | REFN | RIN | CHAN )* >
<!ATTLIST SOURCE ID ID #IMPLIED >

<!-- Submission record -->

<!ELEMENT SUBMISSION ( #PCDATA | NAME | ADDR | OBJE | LANG | RFN | RIN | CHAN )* >
<!ATTLIST SUBMISSION ID ID #IMPLIED >

<!-- Macros ("parameter entities") -->


<!ENTITY % ldsordinance "( #PCDATA | STAT | DATE | TEMP | PLAC 
             | SOUR | NOTE | FAMC )*" >


<!-- Substructures -->

<!-- Abbreviation -->
<!ELEMENT ABBR ( #PCDATA ) >
 
<!-- Address -->
<!ELEMENT ADDR ( #PCDATA | CONT | ADR1 | ADR2 | CITY | STAE | POST | CTRY )* >

<!-- First, second line of an address -->
<!ELEMENT ADR1 ( #PCDATA ) >
<!ELEMENT ADR2 ( #PCDATA ) >

<!-- Permanent Record File Number in Ancestral File -->
<!ELEMENT AFN  ( #PCDATA ) >

<!-- Age at time of event -->
<!ELEMENT AGE  ( #PCDATA ) >

<!-- Agency -->
<!ELEMENT AGNC ( #PCDATA ) >

<!-- Alias -->
<!ELEMENT ALIA EMPTY >
<!ATTLIST ALIA REF IDREF #REQUIRED >

<!-- Ancestors -->
<!ELEMENT ANCE ( #PCDATA ) >

<!-- Ancestor interest -->
<!ELEMENT ANCI EMPTY >
<!ATTLIST ANCI HREF IDREF #REQUIRED >

<!-- Associates -->
<!ELEMENT ASSO ( #PCDATA | RELA )* >
<!ATTLIST ASSO HREF IDREF #REQUIRED >

<!-- Author -->
<!ELEMENT AUTH ( #PCDATA | CONT | CONC )* >

<!-- Baptism performed by LDS Church -->
<!ELEMENT BAPL %ldsordinance; >

<!-- Binary Object -->
<!ELEMENT BLOB ( #PCDATA | CONT )* >

<!-- Call number (in a library or archive) -->
<!ELEMENT CALN ( #PCDATA | MEDI )* >

<!-- Cause (of an event, e.g. death) -->
<!ELEMENT CAUS ( #PCDATA ) >

<!-- Change, correction, or modification of data -->
<!ELEMENT CHAN ( #PCDATA | DATE | TIME | NOTE )* >

<!-- Character set -->
<!ELEMENT CHAR ( #PCDATA | VERS )* >

<!-- Child (natural, adopted, or sealed) -->
<!ELEMENT CHIL EMPTY >
<!ATTLIST CHIL REF IDREF #REQUIRED >

<!-- City (municipal jurisdiction)
<!ELEMENT CITY ( #PCDATA ) >

<!-- Line Concatenation -->
<!ELEMENT CONC ( #PCDATA ) >

<!-- LDS Confirmation -->
<!ELEMENT CONL %ldsordinance; >

<!-- Line Continuation -->
<!ELEMENT CONT ( #PCDATA ) >

<!-- Copyright assertion -->
<!ELEMENT COPR ( #PCDATA ) >

<!-- Name of a corporation (institution, company, etc) -->
<!ELEMENT CORP ( #PCDATA | ADDR | PHON )* >

<!-- Country (name or code) -->
<!ELEMENT CTRY ( #PCDATA ) >

<!-- Information about digitally-stored data -->
<!ELEMENT DATA ( #PCDATA | DATE | TEXT | EVEN | AGNC | NOTE )* >

<!-- Date or range of dates -->
<!ELEMENT DATE ( #PCDATA | TIME )* >

<!-- Descendants -->
<!ELEMENT DESC ( #PCDATA ) >

<!-- Descendant Interest -->
<!ELEMENT DESI ( #PCDATA | SOUR | OBJE | NOTE )* >
<!ATTLIST DESI REF IDREF #REQUIRED >

<!-- Destination system for data transmission -->
<!ELEMENT DEST ( #PCDATA ) >


<!-- Religious Endowment -->
<!ELEMENT ENDL %ldsordinance; >

<!-- Event or attribute associated with an individual or family -->
<!ELEMENT EVEN ( #PCDATA | ROLE | TYPE | DATE | PLAC | ADDR | AGE | AGNC | CAUS | SOUR |
		 OBJE | NOTE | FAMC | HUSB-DETL | WIFE-DETL )* >
<!ATTLIST EVEN EV ( 
	BIRT | CHR | DEAT | BURI | CREM | ADOP | BAPM | BARM | BASM
 	| BLES | CHRA | CONF | FCOM | ORDN | NATU | EMIG | IMMI | CENS | PROB
	| WILL | GRAD | RETI
 	| CAST | DSCR | EDUC | IDNO | NATI | NCHI | NMR | OCCU | PROP | RELI 
 	| RESI | SSN | TITL
 	| ANUL | DIV | DIVF | ENGA | MARR | MARB | MARC | MARL | MARS ) #IMPLIED >

<!-- Family child -->
<!ELEMENT FAMC ( #PCDATA | ADOP | PEDI | NOTE )* >
<!ATTLIST FAMC REF IDREF #REQUIRED >

<!-- Family File -->
<!ELEMENT FAMF ( #PCDATA ) >

<!-- Family Spouse -->
<!ELEMENT FAMS ( #PCDATA | NOTE )* >
<!ATTLIST FAMS REF IDREF #REQUIRED >

<!-- File name containing digital data -->
<!ELEMENT FILE ( #PCDATA ) >

<!-- Format of digital data -->
<!ELEMENT FORM ( #PCDATA ) >

<!-- GEDCOM profile details -->
<!ELEMENT GEDC ( #PCDATA | VERS | FORM )* >

<!-- Given name -->
<!ELEMENT GIVN ( #PCDATA ) >

<!-- Husband (or the man of a couple) -->
<!ELEMENT HUSB ( #PCDATA ) >
<!ATTLIST HUSB REF IDREF #IMPLIED >

<!-- Husband details (for a family event) -->
<!ELEMENT HUSB-DETL ( AGE ) >

<!-- (Human) language -->
<!ELEMENT LANG ( #PCDATA ) >

<!-- Medium in which information is stored (e.g. microfilm) -->
<!ELEMENT MEDI ( #PCDATA ) >

<!-- Name -->
<!ELEMENT NAME ( #PCDATA | S | NPFX | GIVN | NICK | SPFX | SURN | NSFX | SOUR )* >

<!-- Nickname -->
<!ELEMENT NICK ( #PCDATA ) >

<!-- Name prefix -->
<!ELEMENT NPFX ( #PCDATA ) >

<!-- Name suffix -->
<!ELEMENT NSFX ( #PCDATA ) >

<!-- Multimedia Link -->
<!ELEMENT OBJE ( FORM | TITL | FILE | NOTE )* >
<!ATTLIST OBJE REF IDREF #REQUIRED > 

<!-- Religious Ordinance -->
<!ELEMENT ORDI ( #PCDATA ) >

<!-- Page number of information within a referenced work -->
<!ELEMENT PAGE ( #PCDATA ) >

<!-- Pedigree -->
<!ELEMENT PEDI ( #PCDATA ) >

<!-- Phone number -->
<!ELEMENT PHON ( #PCDATA ) >

<!-- Place -->
<!ELEMENT PLAC ( #PCDATA | FORM | SOUR )* >

<!-- Postal code -->
<!ELEMENT POST ( #PCDATA ) >

<!-- Publication -->
<!ELEMENT PUBL ( #PCDATA | CONT | CONC )* >

<!-- Quality of data -->
<!ELEMENT QUAY ( #PCDATA ) >

<!-- Reference used to locate an item of information -->
<!ELEMENT REFN ( #PCDATA | TYPE )* >

<!-- General Relationship -->
<!ELEMENT RELA ( #PCDATA ) >

<!-- Source Repository Citation -->
<!ELEMENT REPO ( NOTE | CALN )* >
<!ATTLIST REPO REF IDREF #REQUIRED >

<!-- Restriction (on use of information) -->
<!ELEMENT RESN ( #PCDATA ) >

<!-- Record number within a (manual) file -->
<!ELEMENT RFN ( #PCDATA ) >

<!-- Record ID Number (within an automated file) -->
<!ELEMENT RIN ( #PCDATA ) >

<!-- Role of an individual in respect to an event -->
<!ELEMENT ROLE ( #PCDATA ) >

<!-- Sex (male or female) -->
<!ELEMENT SEX ( #PCDATA ) >

<!-- LDS child sealing event -->
<!ELEMENT SLGS %ldsordinance; >

<!-- LDS spouse sealing event -->
<!ELEMENT SLGC %ldsordinance; >

<!-- Surname part of name (from /XXX/ in GEDCOM) -->
<!ELEMENT S ( #PCDATA ) >

<!-- Source citation -->
<!ELEMENT SOUR ( #PCDATA | PAGE | EVEN | DATA | QUAY | NOTE
    | OBJE | CONC | CONT | TEXT )* >
<!ATTLIST SOUR REF IDREF #IMPLIED > 

<!-- Surname prefix -->
<!ELEMENT SPFX ( #PCDATA ) >

<!-- State (division of a country) -->
<!ELEMENT STAE ( #PCDATA ) >

<!-- State or condition (e.g. of a manuscript); Status of LDS sealing events -->
<!ELEMENT STAT ( #PCDATA ) >

<!-- Submitter reference -->
<!ELEMENT SUBM EMPTY >
<!ATTLIST SUBM REF IDREF #REQUIRED > 

<!-- Submission reference -->
<!ELEMENT SUBN EMPTY >
<!ATTLIST SUBN REF IDREF #REQUIRED >

<!-- Surname -->
<!ELEMENT SURN ( #PCDATA ) >

<!-- LDS Temple -->
<!ELEMENT TEMP ( #PCDATA ) >

<!-- Text transcribed from a source document -->
<!ELEMENT TEXT ( #PCDATA | CONT | CONC )* >

<!-- Time of day -->
<!ELEMENT TIME ( #PCDATA ) >

<!-- Title of a publication -->
<!ELEMENT TITL ( #PCDATA | CONT | CONC )* >

<!-- Type, e.g. of an event -->
<!ELEMENT TYPE ( #PCDATA ) >

<!-- Version -->
<!ELEMENT VERS ( #PCDATA ) >

<!-- Wife (or the woman of a couple) -->
<!ELEMENT WIFE ( #PCDATA )* >
<!ATTLIST WIFE REF IDREF #IMPLIED >

<!-- Wife details (for a family event) -->
<!ELEMENT WIFE-DETL ( AGE ) >