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 ) >