Korrekturen zu GEDCOM Dateien

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

Korrekturen zu (unzulässigen) Abweichungen einer GEDCOM-Datei (eines Exportes) vom GEDCOM-Standard

Basis
GEDCOM 5.5.1
Vereinbarungen der Arbeitsgruppe GEDCOM-L, dargestellt in Kategorie:GEDCOM-Tag
Ziel
Unterstützung von Programmautoren zur Verbesserung des Datenimportes trotz Abweichungen von GEDCOM Standard Vorgaben
Verfahren
Der Korrektur soll ein Verweis auf die verletzte Vorschrift des GEDCOM Standards vorangestellt werden. Die vorgeschlagene Korrektur soll mit mindestens einem konkreten Beispiel versehen werden. Im Beispiel wird der fehlerhafte Code vorangestellt, danach ein "=>" eingegeben und diesem der korrigierte Code angehängt.
Von der Gedcom-L vereinbarte Lösungen, die den GEDCOM-Standard erweitern, werden nicht als Abweichung vom Standard gewertet, dafür werden also keine Korrekturen aufgebaut.
Diese Vorschläge dienen als Hilfestellung, es gibt keine Verpflichtung, diesen Vorschlägen beim Import einer fehlerhaften Datei zu folgen.
Format für die Beschreibung einzelner Korrekturen: vgl. Vorlage:GEDCOM-Korrektur


AGE - Tag: Angaben zum Alter

Abweichung von den Vorgaben zum Inhalt des Kennzeichens

Beschreibung der Standard-Anforderung

Der Zeile_Inhalt zu AGE muss in der Form angegeben sein (siehe GEDCOM/AGE-Tag):

AGE_AT_EVENT:= {Size=1:12} [ < | > | <NULL>] [ YYy MMm DDDd | YYy | MMm | DDDd | YYy MMm | YYy DDDd | MMm DDDd | CHILD | INFANT | STILLBORN ]

  • Beispiel:
2 AGE 65y 10m 25d

Korrekturen

  • Inhalt reine Zahl: als Altersangabe in Jahren interpretieren, das fehlende "y" anhängen:
 2 AGE 65 => 2 AGE 65y; 2 AGE 0 => 2 AGE 0y
  • Wenn zwischen Zahl und ymd jeweils ein Leerzeichen steht: diese Leerzeichen löschen:
 2 AGE 65 y 10 m 25 d => 2 AGE 65y 10m 25d
  • Wenn genau drei Zahlengruppen mit Leerzeichen getrennt angeboten werden: ymd ergänzen:
 2 AGE 65 10 25 => 2 AGE 65y 10m 25d
  • Wenn genau drei Zahlengruppen mit Bindestrich getrennt angeboten werden: ymd ergänzen:
 2 AGE 65-10-25 => 2 AGE 65y 10m 25d
  • Wenn J,M,T angeboten werden: Umwandeln in ymd:
 2 AGE  65J 10M 25T => 2 AGE 65y 10m 25d
  • Wenn Texte Jahr, Jahre, Monat, Monate, Tag, Tage angeboten werden: Umwandeln in ymd:
 2 AGE 65 Jahre 10 Monate 25 Tage => 2 AGE 65y 10m 25d
  • Wenn Texte year, years, month, months, day, days angeboten werden: Umwandeln in ymd:
 2 AGE 65 years 10 months 25 days => 2 AGE 65y 10m 25d
  • Wenn Abkürzungen yr, mo, da (älterer GEDCOM-Standard) angeboten werden: Umwandeln in ymd:
 2 AGE 65 yr 10 mo 25 da => 2 AGE 65y 10m 25d
  • Wenn Zahl und "Woche" oder "Wochen" angeboten werden: Umwandeln in Tage und zu ggfs. vorhandenen Angaben zu Tage / d hinzufügen:
 2 AGE  5 Wochen 2 Tage => 2 AGE 37d
  • Wenn Zahl und "week(s)" angeboten werden: Umwandeln in Tage und zu ggfs. vorhandenen Angaben zu days / d hinzufügen:
 2 AGE 5 weeks 2 days => 2 AGE 37d
  • Wenn "Ungenauigkeiten" ABT | ABOUT | ~ angeboten werden (nach GEDCOM-Standard nicht vorgesehen), diese Vorspanne zu den Zahlen löschen:
 2 AGE ABOUT 65y => 2 AGE 65y ; 2 AGE ~ 65y => 2 AGE 65y
  • Wenn negative Monats- und/oder Tageszahlen vorgefunden werden: Umrechnen in positive Zahlen, dafür wird das davorstehende Jahr bzw. Monat (und ggfs. Jahr) angepasst. Monate können dabei grundsätzlich mit 30 Tagen angesetzt werden:
 2 AGE 65y -5d => 2 AGE 64y 11m 25d
  • Alle vorgenannten Umwandlungen können auch kombiniert werden:
 2 AGE 65 Jahre -5 Tage => 2 AGE 64y 11m 25d

Abweichung von den Vorgaben zur Verwendung des Kennzeichens in der GEDCOM-Struktur

Beschreibung der Standard-Anforderung

In der GEDCOM-Standard-Grammatik ist AGE ausschließlich unter Ereignissen definiert, also auf Ebene 2. Das Beispiel im GEDCOM Standard "1 AGE 13y" ist fehlerhaft, AGE darf auf Ebene 1 nicht exportiert werden.

Korrekturen

  • AGE auf Ebene 1 im Personendatensatz (INDI): Interpretation als Alter bei Tod, und somit AGE dem Tag DEAT unterstellen:
1 AGE 65y

=>

1 DEAT 
2 AGE 65y