gramps/data/grampsxml.dtd

576 lines
15 KiB
DTD
Raw Permalink Normal View History

2005-12-06 12:08:09 +05:30
<?xml version="1.0" encoding="UTF-8"?>
2022-09-06 04:53:19 +05:30
<!--
2005-12-06 12:08:09 +05:30
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2000-2007 Donald N. Allingham
# Copyright (C) 2010-2014 Nick Hall
2005-12-06 12:08:09 +05:30
#
# This program 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 program 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.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2005-12-06 12:08:09 +05:30
-->
<!--
2022-09-06 04:53:19 +05:30
This is the Document Type Definition file for v1.7.2
2005-12-06 12:08:09 +05:30
of the GRAMPS XML genealogy data format.
Please use the following formal public identifier to identify it:
2022-09-06 04:53:19 +05:30
"-//GRAMPS//DTD GRAMPS XML V1.7.2//EN"
2005-12-06 12:08:09 +05:30
For example:
2022-09-06 04:53:19 +05:30
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.7.2//EN"
"http://gramps-project.org/xml/1.7.2/grampsxml.dtd"
2005-12-06 12:08:09 +05:30
[...]>
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
name-formats
people
families
events
places
citations
sources
objects
repositories
notes
tags
bookmarks
namemaps
tags
2005-12-06 12:08:09 +05:30
-->
<!ELEMENT database (header, name-formats?, tags?, events?, people?, families?,
citations?, sources?, places?, objects?, repositories?,
notes?, bookmarks?, namemaps?)>
2022-09-06 04:53:19 +05:30
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.7.2/">
2005-12-06 12:08:09 +05:30
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
2005-12-06 12:08:09 +05:30
-->
<!ELEMENT header (created, researcher?, mediapath?)>
2005-12-06 12:08:09 +05:30
<!ELEMENT created EMPTY>
<!ATTLIST created
date CDATA #REQUIRED
version CDATA #REQUIRED
>
<!ELEMENT researcher (resname?, resaddr?, reslocality?, rescity?, resstate?,
2005-12-06 12:08:09 +05:30
rescountry?, respostal?, resphone?, resemail?)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT reslocality (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
2005-12-06 12:08:09 +05:30
<!ELEMENT mediapath (#PCDATA)>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
PEOPLE
-->
<!ELEMENT people (person)*>
2022-09-06 04:53:19 +05:30
<!ATTLIST people
2005-12-06 12:08:09 +05:30
default CDATA #IMPLIED
home IDREF #IMPLIED
>
<!ELEMENT person (gender, name*, eventref*, lds_ord*,
objref*, address*, attribute*, url*, childof*,
parentin*, personref*, noteref*, citationref*, tagref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST person
id CDATA #IMPLIED
2005-12-06 12:08:09 +05:30
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!--
GENDER has values of M, F, or U.
-->
<!ELEMENT gender (#PCDATA)>
<!ELEMENT name (first?, call?, surname*, suffix?, title?, nick?, familynick?, group?,
(daterange|datespan|dateval|datestr)?, noteref*, citationref*)>
<!-- (Unknown|Also Know As|Birth Name|Married Name|Other Name) -->
2022-09-06 04:53:19 +05:30
<!ATTLIST name
2005-12-06 12:08:09 +05:30
alt (0|1) #IMPLIED
type CDATA #IMPLIED
priv (0|1) #IMPLIED
sort CDATA #IMPLIED
display CDATA #IMPLIED
>
<!ELEMENT first (#PCDATA)>
<!ELEMENT call (#PCDATA)>
2005-12-06 12:08:09 +05:30
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT familynick (#PCDATA)>
<!ELEMENT group (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!-- (Unknown|Inherited|Given|Taken|Patronymic|Matronymic|Feudal|
Pseudonym|Patrilineal|Matrilineal|Occupation|Location) -->
<!ATTLIST surname
prefix CDATA #IMPLIED
2011-04-13 23:02:28 +05:30
prim (1|0) #IMPLIED
derivation CDATA #IMPLIED
connector CDATA #IMPLIED
>
2005-12-06 12:08:09 +05:30
<!ELEMENT childof EMPTY>
<!ATTLIST childof hlink IDREF #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin hlink IDREF #REQUIRED>
<!ELEMENT personref (citationref*, noteref*)>
2022-09-06 04:53:19 +05:30
<!ATTLIST personref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
rel CDATA #REQUIRED
>
2022-09-06 04:53:19 +05:30
<!ELEMENT address ((daterange|datespan|dateval|datestr)?, street?,
locality?, city?, county?, state?, country?, postal?,
phone?, noteref*, citationref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST address priv (0|1) #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT locality (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
2005-12-06 12:08:09 +05:30
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
FAMILY
An element to record information about a family.
2005-12-06 12:08:09 +05:30
-->
<!ELEMENT families (family)*>
<!ELEMENT family (rel?, father?, mother?, eventref*, lds_ord*, objref*,
childref*, attribute*, noteref*, citationref*, tagref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST family
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT father EMPTY>
<!ATTLIST father hlink IDREF #REQUIRED>
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!-- (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) -->
<!ELEMENT childref (citationref*,noteref*)>
<!ATTLIST childref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel CDATA #IMPLIED
frel CDATA #IMPLIED
>
2005-12-06 12:08:09 +05:30
<!ELEMENT type (#PCDATA)>
<!ELEMENT rel EMPTY>
<!ATTLIST rel type CDATA #REQUIRED>
<!-- ************************************************************
EVENT
-->
<!ELEMENT events (event)*>
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
description?, attribute*, noteref*, citationref*, objref*,
tagref*)>
2022-09-06 04:53:19 +05:30
<!ATTLIST event
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
noteref*, objref*, srcattribute*, reporef*, tagref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST source
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT stitle (#PCDATA)>
<!ELEMENT sauthor (#PCDATA)>
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT sabbrev (#PCDATA)>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (ptitle?, code?, pname+, coord?, placeref*, location*,
objref*, url*, noteref*, citationref*, tagref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST placeobj
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
type CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT pname (daterange|datespan|dateval|datestr)?>
<!ATTLIST pname
lang CDATA #IMPLIED
value CDATA #REQUIRED
>
<!ELEMENT ptitle (#PCDATA)>
<!ELEMENT code (#PCDATA)>
2005-12-06 12:08:09 +05:30
<!ELEMENT coord EMPTY>
<!ATTLIST coord
long CDATA #REQUIRED
lat CDATA #REQUIRED
>
<!ELEMENT location EMPTY>
<!ATTLIST location
street CDATA #IMPLIED
locality CDATA #IMPLIED
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
2005-12-06 12:08:09 +05:30
>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
OBJECTS
-->
<!ELEMENT objects (object)*>
<!ELEMENT object (file, attribute*, noteref*,
(daterange|datespan|dateval|datestr)?, citationref*, tagref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST object
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT file EMPTY>
<!ATTLIST file
2005-12-06 12:08:09 +05:30
src CDATA #REQUIRED
mime CDATA #REQUIRED
checksum CDATA #IMPLIED
2005-12-06 12:08:09 +05:30
description CDATA #REQUIRED
>
<!-- ************************************************************
REPOSITORIES
-->
<!ELEMENT repositories (repository)*>
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
<!ATTLIST repository
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT rname (#PCDATA)>
<!-- ************************************************************
NOTES
-->
<!ELEMENT notes (note)*>
<!ELEMENT note (text, style*, tagref*)>
<!ATTLIST note
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
>
<!ELEMENT text (#PCDATA)>
<!ELEMENT style (range+)>
<!ATTLIST style
name (bold|italic|underline|fontface|fontsize|
fontcolor|highlight|superscript|link) #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT range EMPTY>
<!ATTLIST range
start CDATA #REQUIRED
end CDATA #REQUIRED
>
2005-12-06 12:08:09 +05:30
<!-- ************************************************************
TAGS
-->
<!ELEMENT tags (tag)*>
<!ELEMENT tag EMPTY>
<!ATTLIST tag
handle ID #REQUIRED
name CDATA #REQUIRED
color CDATA #REQUIRED
priority CDATA #REQUIRED
change CDATA #REQUIRED
>
<!-- ************************************************************
CITATIONS
-->
<!ELEMENT citations (citation)*>
2013-10-26 21:34:19 +05:30
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence,
noteref*, objref*, srcattribute*, sourceref, tagref*)>
<!ATTLIST citation
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
2022-09-06 04:53:19 +05:30
<!ATTLIST bookmark
target (person|family|event|source|citation|place|media|repository|
note) #REQUIRED
hlink IDREF #REQUIRED
>
2005-12-06 12:08:09 +05:30
<!-- ************************************************************
2007-12-10 01:39:27 +05:30
NAME MAPS
-->
<!ELEMENT namemaps (map)*>
<!ELEMENT map EMPTY>
2022-09-06 04:53:19 +05:30
<!ATTLIST map
type CDATA #REQUIRED
key CDATA #REQUIRED
value CDATA #REQUIRED
>
<!-- ************************************************************
NAME FORMATS
-->
<!ELEMENT name-formats (format)*>
<!ELEMENT format EMPTY>
<!ATTLIST format
number CDATA #REQUIRED
name CDATA #REQUIRED
fmt_str CDATA #REQUIRED
active (0|1) #IMPLIED
>
<!-- ************************************************************
2005-12-06 12:08:09 +05:30
SHARED ELEMENTS
-->
<!ELEMENT daterange EMPTY>
2005-12-06 12:08:09 +05:30
<!ATTLIST daterange
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
dualdated (0|1) #IMPLIED
2022-09-06 04:53:19 +05:30
newyear CDATA #IMPLIED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT datespan EMPTY>
<!ATTLIST datespan
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
dualdated (0|1) #IMPLIED
2022-09-06 04:53:19 +05:30
newyear CDATA #IMPLIED
>
<!ELEMENT dateval EMPTY>
2005-12-06 12:08:09 +05:30
<!ATTLIST dateval
val CDATA #REQUIRED
type (before|after|about) #IMPLIED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
dualdated (0|1) #IMPLIED
2022-09-06 04:53:19 +05:30
newyear CDATA #IMPLIED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT datestr EMPTY>
2005-12-06 12:08:09 +05:30
<!ATTLIST datestr val CDATA #REQUIRED>
<!ELEMENT citationref EMPTY>
<!ATTLIST citationref
hlink IDREF #REQUIRED
>
<!ELEMENT sourceref EMPTY>
2005-12-06 12:08:09 +05:30
<!ATTLIST sourceref
hlink IDREF #REQUIRED
>
2022-09-06 04:53:19 +05:30
<!ELEMENT eventref (attribute*, noteref*, citationref*)>
<!ATTLIST eventref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
role CDATA #IMPLIED
>
<!ELEMENT reporef (noteref*)>
<!ATTLIST reporef
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
callno CDATA #IMPLIED
medium CDATA #IMPLIED
>
<!ELEMENT noteref EMPTY>
<!ATTLIST noteref
hlink IDREF #REQUIRED
>
<!ELEMENT tagref EMPTY>
<!ATTLIST tagref
hlink IDREF #REQUIRED
>
<!ELEMENT page (#PCDATA)>
<!ELEMENT confidence (#PCDATA)>
2005-12-06 12:08:09 +05:30
<!ELEMENT attribute (citationref*, noteref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST attribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
>
<!ELEMENT srcattribute EMPTY>
<!ATTLIST srcattribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
2005-12-06 12:08:09 +05:30
<!ELEMENT place EMPTY>
<!ATTLIST place hlink IDREF #REQUIRED>
<!ELEMENT cause (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT url EMPTY>
<!ATTLIST url
priv (0|1) #IMPLIED
type CDATA #IMPLIED
href CDATA #REQUIRED
2005-12-06 12:08:09 +05:30
description CDATA #IMPLIED
>
<!ELEMENT objref (region?, attribute*, citationref*, noteref*)>
2022-09-06 04:53:19 +05:30
<!ATTLIST objref
2005-12-06 12:08:09 +05:30
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
>
<!ELEMENT placeref ((daterange|datespan|dateval|datestr)?)>
<!ATTLIST placeref
hlink IDREF #REQUIRED
>
<!ELEMENT region EMPTY>
<!ATTLIST region
corner1_x CDATA #REQUIRED
corner1_y CDATA #REQUIRED
corner2_x CDATA #REQUIRED
corner2_y CDATA #REQUIRED
>
2005-12-06 12:08:09 +05:30
<!ELEMENT data_item EMPTY>
<!ATTLIST data_item
key CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?, temple?, place?,
status?, sealed_to?, noteref*, citationref*)>
2005-12-06 12:08:09 +05:30
<!ATTLIST lds_ord
priv (0|1) #IMPLIED
2005-12-06 12:08:09 +05:30
type CDATA #REQUIRED
>
<!ELEMENT temple EMPTY>
<!ATTLIST temple
val CDATA #REQUIRED
>
<!ELEMENT status EMPTY>
<!ATTLIST status
val CDATA #REQUIRED
>
<!ELEMENT sealed_to EMPTY>
<!ATTLIST sealed_to
hlink IDREF #REQUIRED
>