Difference between revisions of "Lossless GEDCOM Export"
(→Media) |
CallMeDave (talk | contribs) |
||
(29 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{man warn|This is a work in progress.}} | |
− | + | Exploring which custom tags are necessary to create a lossless GEDCOM export from Gramps. | |
+ | = GEDCOM = | ||
− | = Person = | + | Gramps has many information fields that don't have a standard GEDCOM tag associated with them. The GEDCOM specification allows anyone to create new tags for this type of information. These custom tags begin with an underscore to indicate that they are not part of the standard core tag set. This page explores what custom tags need to be created by Gramps to support Lossless GEDCOM exports. |
+ | |||
+ | == Person == | ||
+ | Add: | ||
+ | |||
+ | +1 <<EVENT_LINK>> {0:M} | ||
+ | +1 _PRIV Y {0:1} | ||
PERSONAL_NAME_PIECES:= | PERSONAL_NAME_PIECES:= | ||
− | n NPFX <NAME_PIECE_PREFIX> | + | n NPFX <NAME_PIECE_PREFIX> {0:1} |
− | n GIVN <NAME_PIECE_GIVEN> | + | n GIVN <NAME_PIECE_GIVEN> {0:1} |
− | n NICK <NAME_PIECE_NICKNAME> | + | n NICK <NAME_PIECE_NICKNAME> {0:1} |
− | n SPFX <NAME_PIECE_SURNAME_PREFIX> | + | n SPFX <NAME_PIECE_SURNAME_PREFIX> {0:1} |
− | n SURN <NAME_PIECE_SURNAME> | + | n SURN <NAME_PIECE_SURNAME> {0:M} * |
− | +1 _TYPE <NAME_PIECE_ORIGIN_TYPE> | + | +1 _TYPE <NAME_PIECE_ORIGIN_TYPE> {0:1} * |
− | +1 _SPFX <NAME_PIECE_SURNAME_PREFIX> {0:1} | + | +1 _SPFX <NAME_PIECE_SURNAME_PREFIX> {0:1} * |
− | +1 _SSFX <NAME_PIECE_SURNAME_SUFFIX> {0:1} | + | +1 _SSFX <NAME_PIECE_SURNAME_SUFFIX> {0:1} * |
− | +1 _SCON <NAME_PIECE_SURNAME_CONNECTOR> {0:1} | + | +1 _SCON <NAME_PIECE_SURNAME_CONNECTOR> {0:1} * |
− | n NSFX <NAME_PIECE_SUFFIX> | + | n NSFX <NAME_PIECE_SUFFIX> {0:1} |
− | n _RUFNAME | + | n _RUFNAME {0:1} * |
− | n _FAMNICK | + | n _FAMNICK {0:1} * |
− | n _GROUP_AS | + | n _GROUP_AS {0:1} * |
− | n _SORT_AS | + | n _SORT_AS {0:1} * |
− | n _DISPLAY_AS | + | n _DISPLAY_AS {0:1} * |
− | n _DATE | + | n _DATE {0:1} * |
− | n _PRIV Y | + | n _PRIV Y {0:1} * |
− | n <<NOTE_STRUCTURE>> | + | n <<NOTE_STRUCTURE>> {0:M} |
− | n <<SOURCE_CITATION>> | + | n <<SOURCE_CITATION>> {0:M} |
CHILD_TO_FAMILY_LINK:= | CHILD_TO_FAMILY_LINK:= | ||
− | n FAMC <XREF:FAM> | + | n FAMC <XREF:FAM> {1:1} |
− | +1 PEDI <PEDIGREE_LINKAGE_TYPE> | + | +1 PEDI <PEDIGREE_LINKAGE_TYPE> {0:1} |
− | +1 <<NOTE_STRUCTURE>> | + | +1 <<NOTE_STRUCTURE>> {0:M} |
− | +1 _FREL | + | +1 _FREL {0:1} * |
− | +1 _MREL | + | +1 _MREL {0:1} * |
− | +1 _PRIV Y | + | +1 _PRIV Y {0:1} * |
− | +1 <<SOURCE_CITATION>> | + | +1 <<SOURCE_CITATION>> {0:M} * |
− | = Event = | + | == Event == |
ATTRIBUTE_STRUCTURE:= | ATTRIBUTE_STRUCTURE:= | ||
− | n | + | n _ATTR <ATTRIBUTE_VALUE> {1:1} |
− | +1 << | + | +1 TYPE <ATTRIBUTE_VALUE> {0:1} |
+ | +1 <<NOTE_STRUCTURE>> {0:M} | ||
+ | +1 <<SOURCE_CITATION>> {0:M} | ||
+ | +1 _PRIV Y {0:1} | ||
EVENT_RECORD:= | EVENT_RECORD:= | ||
− | n <XREF:_EVNT> _EVNT | + | n <XREF:_EVNT> _EVNT {1:1} |
− | +1 <<EVENT_DETAIL>> | + | +1 <<EVENT_DETAIL>> {0:1} |
− | +1 <<ATTRIBUTE_STRUCTURE>> | + | +1 <<ATTRIBUTE_STRUCTURE>> {0:M} |
− | +1 <<CHANGE_DATE>> | + | +1 <<CHANGE_DATE>> {0:1} |
− | +1 _PRIV Y | + | +1 _PRIV Y {0:1} |
EVENT_LINK:= | EVENT_LINK:= | ||
− | n _EVNT <XREF:_EVNT> | + | n _EVNT <XREF:_EVNT> {1:1} |
− | +1 ROLE <ROLE_IN_EVENT> | + | +1 ROLE <ROLE_IN_EVENT> {1:1} |
− | +1 <<ATTRIBUTE_STRUCTURE>> | + | +1 <<ATTRIBUTE_STRUCTURE>> {0:M} |
− | +1 <<NOTE_STRUCTURE>> | + | +1 <<NOTE_STRUCTURE>> {0:M} |
− | +1 _PRIV Y | + | +1 _PRIV Y {0:1} |
− | = Place = | + | == Family == |
+ | |||
+ | Add: | ||
+ | |||
+ | +1 <<EVENT_LINK>> {0:M} | ||
+ | +1 <<ATTRIBUTE_STRUCTURE>> {0:M} | ||
+ | +1 _PRIV Y {0:1} | ||
+ | |||
+ | == Place == | ||
Use the _LOC structure defined in the GEDCOM-L specification. | Use the _LOC structure defined in the GEDCOM-L specification. | ||
− | = Media = | + | == Media == |
MULTIMEDIA_RECORD:= | MULTIMEDIA_RECORD:= | ||
Line 73: | Line 91: | ||
+1 <<SOURCE_CITATION>> {0:M} | +1 <<SOURCE_CITATION>> {0:M} | ||
+1 <<CHANGE_DATE>> {0:1} | +1 <<CHANGE_DATE>> {0:1} | ||
− | +1 <<ATTRIBUTE_STRUCTURE>> | + | +1 <<ATTRIBUTE_STRUCTURE>> {0:M} * |
− | +1 _PRIV Y | + | +1 _PRIV Y {0:1} * |
MULTIMEDIA_LINK:= | MULTIMEDIA_LINK:= | ||
n OBJE <XREF:OBJE> {1:1} | n OBJE <XREF:OBJE> {1:1} | ||
− | +1 _RECT x1 y1 x2 y2 {0: | + | +1 _RECT x1 y1 x2 y2 {0:1} * |
− | +1 <<ATTRIBUTE_STRUCTURE>> | + | +1 <<ATTRIBUTE_STRUCTURE>> {0:M} * |
− | +1 <<NOTE_STRUCTURE>> | + | +1 <<NOTE_STRUCTURE>> {0:M} * |
− | +1 <<SOURCE_CITATION>> | + | +1 <<SOURCE_CITATION>> {0:M} * |
− | +1 _PRIV Y | + | +1 _PRIV Y {0:1} * |
+ | |||
+ | == Note == | ||
+ | |||
+ | NOTE_RECORD:= | ||
+ | n <XREF:NOTE> NOTE <USER_TEXT> {1:1} | ||
+ | +1 REFN <USER_REFERENCE_NUMBER> {0:M} | ||
+ | +2 TYPE <USER_REFERENCE_TYPE> {0:1} | ||
+ | +1 RIN <AUTOMATED_RECORD_ID> {0:1} | ||
+ | +1 <<SOURCE_CITATION>> {0:M} | ||
+ | +1 <<CHANGE_DATE>> {0:1} | ||
+ | +1 _TYPE <NOTE_TYPE> {0:1} * | ||
+ | +1 _STYLE <STYLE_TYPE> {0:M} * | ||
+ | +2 _VALUE <STYLE_VALUE> {0:1} * | ||
+ | +2 _RANGE <STYLE_RANGE> {1:1} * | ||
+ | +1 _PREFORMAT Y {0:1} * | ||
+ | +1 _PRIV Y {0:1} * | ||
+ | |||
+ | =See also= | ||
+ | * [[Addon:GEDCOM_Extensions#Collection_of_GEDCOM_extension_tags_used_in_different_programs|Collection of GEDCOM extension tags used in different programs]] | ||
+ | * [[Gramps and GEDCOM]] | ||
+ | |||
+ | [[Category:GEPS|G]] | ||
+ | [[Category:Developers/Design]] |
Revision as of 02:40, 17 January 2022
![]() |
This is a work in progress. |
Exploring which custom tags are necessary to create a lossless GEDCOM export from Gramps.
GEDCOM
Gramps has many information fields that don't have a standard GEDCOM tag associated with them. The GEDCOM specification allows anyone to create new tags for this type of information. These custom tags begin with an underscore to indicate that they are not part of the standard core tag set. This page explores what custom tags need to be created by Gramps to support Lossless GEDCOM exports.
Person
Add:
+1 <<EVENT_LINK>> {0:M} +1 _PRIV Y {0:1}
PERSONAL_NAME_PIECES:= n NPFX <NAME_PIECE_PREFIX> {0:1} n GIVN <NAME_PIECE_GIVEN> {0:1} n NICK <NAME_PIECE_NICKNAME> {0:1} n SPFX <NAME_PIECE_SURNAME_PREFIX> {0:1} n SURN <NAME_PIECE_SURNAME> {0:M} * +1 _TYPE <NAME_PIECE_ORIGIN_TYPE> {0:1} * +1 _SPFX <NAME_PIECE_SURNAME_PREFIX> {0:1} * +1 _SSFX <NAME_PIECE_SURNAME_SUFFIX> {0:1} * +1 _SCON <NAME_PIECE_SURNAME_CONNECTOR> {0:1} * n NSFX <NAME_PIECE_SUFFIX> {0:1} n _RUFNAME {0:1} * n _FAMNICK {0:1} * n _GROUP_AS {0:1} * n _SORT_AS {0:1} * n _DISPLAY_AS {0:1} * n _DATE {0:1} * n _PRIV Y {0:1} * n <<NOTE_STRUCTURE>> {0:M} n <<SOURCE_CITATION>> {0:M}
CHILD_TO_FAMILY_LINK:= n FAMC <XREF:FAM> {1:1} +1 PEDI <PEDIGREE_LINKAGE_TYPE> {0:1} +1 <<NOTE_STRUCTURE>> {0:M} +1 _FREL {0:1} * +1 _MREL {0:1} * +1 _PRIV Y {0:1} * +1 <<SOURCE_CITATION>> {0:M} *
Event
ATTRIBUTE_STRUCTURE:= n _ATTR <ATTRIBUTE_VALUE> {1:1} +1 TYPE <ATTRIBUTE_VALUE> {0:1} +1 <<NOTE_STRUCTURE>> {0:M} +1 <<SOURCE_CITATION>> {0:M} +1 _PRIV Y {0:1}
EVENT_RECORD:= n <XREF:_EVNT> _EVNT {1:1} +1 <<EVENT_DETAIL>> {0:1} +1 <<ATTRIBUTE_STRUCTURE>> {0:M} +1 <<CHANGE_DATE>> {0:1} +1 _PRIV Y {0:1}
EVENT_LINK:= n _EVNT <XREF:_EVNT> {1:1} +1 ROLE <ROLE_IN_EVENT> {1:1} +1 <<ATTRIBUTE_STRUCTURE>> {0:M} +1 <<NOTE_STRUCTURE>> {0:M} +1 _PRIV Y {0:1}
Family
Add:
+1 <<EVENT_LINK>> {0:M} +1 <<ATTRIBUTE_STRUCTURE>> {0:M} +1 _PRIV Y {0:1}
Place
Use the _LOC structure defined in the GEDCOM-L specification.
Media
MULTIMEDIA_RECORD:= n <XREF:OBJE> OBJE {1:1} +1 FILE <MULTIMEDIA_FILE_REFERENCE> {1:1} +2 FORM <MULTIMEDIA_FORMAT> {1:1} +3 TYPE <SOURCE_MEDIA_TYPE> {0:1} +2 TITL <DESCRIPTIVE_TITLE> {0:1} +1 REFN <USER_REFERENCE_NUMBER> {0:M} +2 TYPE <USER_REFERENCE_TYPE> {0:1} +1 RIN <AUTOMATED_RECORD_ID> {0:1} +1 <<NOTE_STRUCTURE>> {0:M} +1 <<SOURCE_CITATION>> {0:M} +1 <<CHANGE_DATE>> {0:1} +1 <<ATTRIBUTE_STRUCTURE>> {0:M} * +1 _PRIV Y {0:1} *
MULTIMEDIA_LINK:= n OBJE <XREF:OBJE> {1:1} +1 _RECT x1 y1 x2 y2 {0:1} * +1 <<ATTRIBUTE_STRUCTURE>> {0:M} * +1 <<NOTE_STRUCTURE>> {0:M} * +1 <<SOURCE_CITATION>> {0:M} * +1 _PRIV Y {0:1} *
Note
NOTE_RECORD:= n <XREF:NOTE> NOTE <USER_TEXT> {1:1} +1 REFN <USER_REFERENCE_NUMBER> {0:M} +2 TYPE <USER_REFERENCE_TYPE> {0:1} +1 RIN <AUTOMATED_RECORD_ID> {0:1} +1 <<SOURCE_CITATION>> {0:M} +1 <<CHANGE_DATE>> {0:1} +1 _TYPE <NOTE_TYPE> {0:1} * +1 _STYLE <STYLE_TYPE> {0:M} * +2 _VALUE <STYLE_VALUE> {0:1} * +2 _RANGE <STYLE_RANGE> {1:1} * +1 _PREFORMAT Y {0:1} * +1 _PRIV Y {0:1} *