Kopie des alten Systems |
Dies ist eine alte Kopie des GenWiki und spiegelt den Stand vom 8. Mai 2022 wider. This is an old copy of the GenWiki and reflects the status as of May 8, 2022. Please visit us at wiki.genealogy.net |
Korrekturen zu GEDCOM Dateien
aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
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
Inhaltsverzeichnis |
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