Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

So far, these files have been added in an ad-hoc manner to test a 5.5.1 to 7.0 converter.

Note that there is more than one way to express the same data, and hence more than one way to convert a file. so simple file comparison is not always sufficient to test a version converter. For example, none of the following change the meaning of a file in any way:

  • A single space after the tag of a structure with no payload.

    For example, "1 CHAN " and "1 CHAN" are equivalent.

  • Reordering substructures with distinct structure types

    For example,

    1 CHAN
    2 DATE JUN 2021
    2 NOTE Example
    2 NOTE Order isn't important

    and

    1 CHAN
    2 NOTE Example
    2 DATE JUN 2021
    2 NOTE Order isn't important

    are equivalent.

  • Some datatypes have multiple representations of the same data.

    For example, "GREGORIAN 1930" and "1930" are equivalent in a date payload

  • Extensions with URIs don't care about their tags.

    For example,

    1 SCHMA
    2 TAG _X https://example.com/some/structuretype
    0 @X1@ _X the_paylaod

    and

    1 SCHMA
    2 TAG _STRUCTURETYPE https://example.com/some/structuretype
    0 @X1@ _STRUCTURETYPE the_paylaod

    are equivalent.

  • Cross-reference identifiers are arbitrary.

    For example,

    1 SNOTE @N20@
    0 @N20@ An example note

    and

    1 SNOTE @80Z_45@
    0 @80Z_45@ An example note

    are equivalent.

There are also some ambiguities in how to perform the conversion. For example, if a 5.5.1 NOTE_RECORD that is pointed to by exactly one NOTE_STRUCTURE, if can be correctly converted to 7.0 either by making it a SHARED_NOTE_RECORD or by moving its payload and substructure to the NOTE_STRUCTURE and removing it.

About

Example GEDCOM files for testing parsers and converters

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors