GEDCOM/AGE-Tag: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
(→‎A4 Korrektur von Abweichungen bei AGE: A4.10 / A4.11 um Hinzufügen der vorhandenen Werte zu Tagen ergänzt)
K (Engl Link entfernt)
 
(26 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 106: Zeile 106:
An keiner Stelle in der formalen Struktur des Standards ist ein Kennnzeichen AGE auf der Ebene 1 zugelassen. Das würde auch inhaltlich keinen Sinn ergeben, denn eine Person hat nicht eine generelle Eigenschaft "Alter 13 Jahre", sondern sie ist zu einem bestimmten Zeitpunkt, festgelegt durch ein Ereignis, 13 Jahre alt. Daher ist in der Grammatik des Standards AGE immer einem Ereignis unterstellt.
An keiner Stelle in der formalen Struktur des Standards ist ein Kennnzeichen AGE auf der Ebene 1 zugelassen. Das würde auch inhaltlich keinen Sinn ergeben, denn eine Person hat nicht eine generelle Eigenschaft "Alter 13 Jahre", sondern sie ist zu einem bestimmten Zeitpunkt, festgelegt durch ein Ereignis, 13 Jahre alt. Daher ist in der Grammatik des Standards AGE immer einem Ereignis unterstellt.


== Entscheidungsvorschläge für den tag AGE ==
 
 
== Vereinbarungen für den tag AGE ==
 
Die nachfolgenden Vereinbarungen sind per Abstimmung unter den Programmautoren der Gedcom-L verabschiedet worden:


=== A1 Einhaltung der Standard-Vorgaben beim Export von AGE ===
=== A1 Einhaltung der Standard-Vorgaben beim Export von AGE ===
Zeile 114: Zeile 118:
=== A2 Verbot des Einsatzes von AGE auf der Ebene 1 ===
=== A2 Verbot des Einsatzes von AGE auf der Ebene 1 ===


In der GEDCOM-Standard-Grammatik ist AGE ausschließlich unter Ereignissen definiert. Dies ist beim Export so einzuhalten. Das Beispiel im GEDCOM Standard „1 AGE 13y“ ist fehlerhaft, AGE darf auf Ebene 1 nicht exportiert werden.
In der GEDCOM-Standard-Grammatik ist AGE ausschließlich unter Ereignissen definiert. Dies ist beim Export so einzuhalten. Das Beispiel im GEDCOM Standard "1 AGE 13y" ist fehlerhaft, AGE darf auf Ebene 1 nicht exportiert werden.


=== A3 Korrektur Ebene 1 für AGE beim Import ===
=== A3 Länge des Zeilenwertes für AGE ===


Wird beim Import das Kennzeichen AGE im Personendatensatz INDI auf Ebene 1 vorgefunden, so wird empfohlen, es als Alter bei Tod zu interpretieren und es daher auf Ebene 2 dem Kennzeichen DEAT zu unterstellen. Beispiel:
Die Vorgabe {1:12} für die Länge des Zeilen_Wertes von AGE wird ersetzt durch folgende Vereinbarung:
( 1 AGE 65y 10m 25d => 1 DEAT / 2 AGE 65y 10m 25d )
Es wird empfohlen, zu jeder dieser Umwandlungen eine Warnmeldung auszugeben.


Tritt AGE auf Ebene 1 im Familiendatensatz FAM auf, so wird empohlen, die Zeile zu löschen (da weder HUSB noch WIFE zuzuordnen), und eine Fehlermeldung auszugeben..
AGE_AT_EVENT:= {Size=2:15} [ <+Leerzeichen | >+Leerzeichen | <NULL> ] [ YYYy+Leerzeichen+MMm+Leerzeichen+DDDd | YYYy | MMm | DDDd | YYYy+Leerzeichen+MMm | YYYy+Leerzeichen+DDDd | MMm+Leerzeichen+DDDd | CHILD | INFANT | STILLBORN ]


=== A4 Korrektur von Abweichungen bei AGE ===
YYY, MM und DDD sind hierbei ganzzahlige positive Zahlen.


Wird beim Import unter AGE ein von den Vorgaben des Standards abweichender Inhalt vorgefunden, so darf das empfangende Programm versuchen, den Inhalt zu interpretieren und die mit dem Standard übereinstimmende Form daraus zu bilden. Insbesondere wird empfohlen, folgende Korrekturen auszuführen ( in Klammern jeweils ein Beispiel ):
AGE muss somit mindestens eine Ziffer und einen der Buchstaben y, m oder d enthalten. Die Angaben im GEDCOM Standard 5.5.1 YY, MM, und DDD machen keine Aussage darüber, wie viele Stellen diese Zahlen für die Jahre, Monate und Tage des Alters haben. Insbesondere ist es zulässig, Altersangaben mit YY > 99 zu machen, also auch Altersangaben für 100 jährige und ältere Personen einzugeben.
* A4.1 Inhalt reine Zahl: als Altersangabe in Jahren interpretieren, das fehlende "y" anhängen. ( 2 AGE 65 => 2 AGE 65y )
* A4.2 Großbuchstaben in Kleinbuchstaben umwandeln: ( 2 AGE 65 65Y 10M 25D => 65y 10m 25d )
* A4.3 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 )
* A4.4 Wenn nur eine Zahl angeboten wird: y anhängen: ( 2 AGE 65 => 2 AGE 65y ). Dies wird auch für die 0 empfohlen. ( 2 AGE 0 => 2 AGE 0y )
* A4.5 Wenn genau drei Zahlengruppen mit Leerzeichen getrennt angeboten werden: ymd ergänzen. ( 2 AGE 65 10 25 => 2 AGE 65y 10m 25d )
* A4.6 Wenn genau drei Zahlengruppen mit Bindestrich getrennt angeboten werden: ymd ergänzen. ( 2 AGE 65-10-25 => 2 AGE 65y 10m 25d )
* A4.7 Wenn J,M,T angeboten werden: Umwandeln in ymd. ( 2 AGE  65J 10M 25T => 2 AGE 65y 10m 25d )
* A4.8 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 )
* A4.9 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 )
* A4.10 Wenn Zahl und "Woche" oder "Wochen" angeboten werden: Umwandeln in Tage und zu ggfs. vorhandenen Angaben zu days / d hinzufügen. ( 2 AGE  5 Wochen 2 Tage => 2 AGE 37d )
* A4.11 Wenn Zahl und "week(s)" angeboten werden: Umwandeln in Tage und zu ggfs. vorhandenen Angaben zu Tage / d hinzufügen. ( 2 AGE 5 weeks 2 days => 2 AGE 37d )
* A4.12 Wenn "Ungenauigkeiten" ABT | ABOUT | ~ angeboten werden (nach GEDCOM-Standard nicht vorgesehen), diese löschen. ( 2 AGE ABOUT 65y => 2 AGE 5y ), ( 2 AGE ~ 65y => 62 AGE 5y ).
* A4.13 Die vorgenannten Umwandlungen dürfen auch kombiniert werden. ( 2 AGE 65 J 10 M 25 T => 2 AGE 65y 10m 25d )


Es wird empohlen, zu jeder ausgeführten Umwandlung eine Warnmeldung an den Anwender zu geben.
Vor dem Hintergrund wird empfohlen, mindestens eine Länge des Zeilen_Wertes für AGE von {2:15} zu unterstützen.


* A4.14 Alternativ kann die Zeile verworfen werden und eine Fehlermeldung ausgegeben werden.
== Behandlung/Darstellung schwieriger Situationen ==


== Vereinbarungen für den tag AGE ==


Noch nicht belegt
Die Diskussion zu AGE wurde 2019 neu eröffnet.


== Behandlung/Darstellung schwieriger Situationen ==
Auffällig ist, dass die Längenangabe im GEDCOM 5.5.1 für AGE offensichtlich falsch ist:
<source lang="gedcom">
AGE_AT_EVENT:= {Size=1:12} [ < | > | <NULL>] [ YYy MMm DDDd | YYy | MMm | DDDd | YYy MMm | YYy DDDd | MMm DDDd | CHILD | INFANT | STILLBORN ]
(Alter bei dem Ereignis)
</source>
Da das y bzw. m oder d zusätzlich zu einer Ziffer immer enthalten sein muss, ist die Mindestlänge 2. Und unter Verwendung der < (oder >) ergibt sich:
<source lang="gedcom">
2 AGE < 70y 12m 20d
</source>
mit 13 Zeichen - was eine dreistellige Zahl der Jahre hier nicht mehr erlauben würde. In 12 Zeichen bis 99 Jahre nur darstellbar, wenn auf das Leerzeichen hinter < verzichtet wird


Es ist auch unklar, ob YYy vorgeben soll, dass nur Jahre bis 99 angegeben werden können, und warum bei den Tagen mit DDD eine dreistellige Angabe gemacht wurde: Sollte damit angedeutet werden, dass die Zahl der Tage bis 999 gehen darf?


Die Diskussion zu AGE wurde 2019 neu eröffnet.
Vor dem Hintergrund wurde ein Entscheidungsvorschlag A3 eingebracht, der inzwischen so entschieden wurde.


== Abweichungen vom GEDCOM Standard 5.5.1 ==
== Abweichungen vom GEDCOM Standard 5.5.1 ==
Zeile 159: Zeile 157:
* Angabe nur der Jahreszahl, ohne das vorgeschriebene y. Also falsch: 2 AGE 57
* Angabe nur der Jahreszahl, ohne das vorgeschriebene y. Also falsch: 2 AGE 57
* Angabe von anderen Inhalten, insbesondere Klartexten. Also falsch: 2 AGE 3 Wochen
* Angabe von anderen Inhalten, insbesondere Klartexten. Also falsch: 2 AGE 3 Wochen
In der Arbeitsgruppe wurden viele weitere, in vorliegenden GEDCOM-Dateien aufgefundene Abweichungen zusammengestellt, die zum großen Teil aber ausreichend sicher interpretiert werden können und daher in die vom Standard vorgegebene Darstellung überführt werden können. Hieraus wurde der Entscheidungsvorschlag A4 entwickelt.
In der Arbeitsgruppe wurden viele weitere, in vorliegenden GEDCOM-Dateien aufgefundene Abweichungen zusammengestellt, die zum großen Teil aber ausreichend sicher interpretiert werden können und daher in die vom Standard vorgegebene Darstellung überführt werden können. Die Gedcom-L wird keine Vereinbarungen zum Import mehr treffen, sondern solche Korrekturmöglichkeiten beim Import in der Kategorie GEDCOM-Korrekturen sammeln. Zu AGE sind diese Möglichkeiten hier zu finden: [[Korrekturen_zu_GEDCOM_Dateien#AGE_-_Tag:_Angaben_zum_Alter]]
 
[[Kategorie:GEDCOM-Tag-Fertig abgestimmt|{{SUBPAGENAME}}]]
[[Kategorie:GEDCOM-Tag|{{SUBPAGENAME}}]]
<!-- Sortierfolge auf der Kategorienseite gemäß letzten Teil des Titelpfades -> also dem Tagnamen -->
<!-- Sortierfolge auf der Kategorienseite gemäß letzten Teil des Titelpfades -> also dem Tagnamen -->
[[Kategorie:GEDCOM-Tag-In Diskussion|{{SUBPAGENAME}}]]
[[Kategorie:GEDCOM-Tag|{{SUBPAGENAME}}]]
[[en:{{PAGENAME}}]]

Aktuelle Version vom 19. September 2023, 15:36 Uhr

Name und Bedeutung

Tag

AGE

Formelle Bezeichnung

AGE

Deutsche Bezeichnung

Alter

Verwendung

Mit dem tag AGE wird das Alter einer Person zum Zeitpunkt eines Ereignisses beschrieben.

Formale Beschreibung zulässiger Werte

Basis

Basis dieser Beschreibung: GEDCOM Standard Draft 5.5.1

Das Kennzeichen AGE wird eingesetzt, um in folgenden Fällen das Alter anzugeben:

INDIVIDUAL_EVENT_DETAIL :=

  • n <<EVENT_DETAIL>>* {1:1}
  • n AGE <AGE_AT_EVENT> {0:1}

FAMILY_EVENT_DETAIL :=

  • n HUSB {0:1}
  • +1 AGE <AGE_AT_EVENT> {1:1}
  • n WIFE {0:1}
  • +1 AGE <AGE_AT_EVENT> {1:1}
  • n <<EVENT_DETAIL>> {0:1}

Erlaubt sind folgende Inhalte:

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

(Alter bei dem Ereignis)

wobei:

  • > älter als das angegebene Alter
  • < jünger als das angegebene Alter
  • y der Buchstabe “y” kennzeichnet Jahre
  • m der Buchstabe “m” kennzeichnet Monate
  • d der Buchstabe “d” kennzeichnet Tage
  • YY Anzahl der vollen Jahre
  • MM Anzahl der Monate
  • DDD Anzahl der Tage
  • CHILD (Kind) jünger als 8 Jahre
  • INFANT (Kleinkind) jünger als 1 Jahr
  • STILLBORN (Totgeburt) starb im Alter von 0 Jahren kurz bevor, bei oder kurz nach der Geburt, 0 Jahre alt.

Eine Zahl zeigt das Alter der Hauptperson in Jahren, Monaten und Tagen an, welches diese zum Zeitpunkt des verknüpften Ereignisses hatte. Alle Kennzeichnungsbuchstaben müssen direkt der korrespondierenden Zahl folgen. Beispiel: 4y 8m 10d.


Beispiele für den Einsatz von AGE:

1 DEAT
2 DATE 12 DEC 1856
2 AGE 57y 8m 25d


1 DEAT
2 DATE 12 DEC 1856
2 AGE 57y 8m


1 DEAT
2 DATE 12 DEC 1856
2 AGE 57y


1 DEAT
2 DATE 12 DEC 1856
2 AGE STILLBORN


1 MARR 
2 HUSB 
3 AGE 35y 34m 5d
2 WIFE 
3 AGE < 20y


Es ist bemerkenswert, dass der GEDCOM Standard 5.5.1 selber bei den Beispielen "gültiger GEDCOM-Zeilen" eine ungültige Version zu AGE auflistet (S. 15 der deutschen Übersetzung von Jörn Daub):

<zitat> Beispiele: Die folgenden Zeilen sind voneinander unabhängige Beispiele gültiger GEDCOM-Zeilen.

0 @1234@ INDI

1 AGE 13y

… </zitat>

An keiner Stelle in der formalen Struktur des Standards ist ein Kennnzeichen AGE auf der Ebene 1 zugelassen. Das würde auch inhaltlich keinen Sinn ergeben, denn eine Person hat nicht eine generelle Eigenschaft "Alter 13 Jahre", sondern sie ist zu einem bestimmten Zeitpunkt, festgelegt durch ein Ereignis, 13 Jahre alt. Daher ist in der Grammatik des Standards AGE immer einem Ereignis unterstellt.


Vereinbarungen für den tag AGE

Die nachfolgenden Vereinbarungen sind per Abstimmung unter den Programmautoren der Gedcom-L verabschiedet worden:

A1 Einhaltung der Standard-Vorgaben beim Export von AGE

Beim Export von AGE sind die Vorgaben zu AGE aus dem GEDCOM-Standard einzuhalten. Insbesondere die zulässigen Werte sind zu beachten: die verbindliche Kennzeichnung von Jahr, Monat und Tag mit den Kleinbuchstaben y, m bzw. d, angehängt an die jeweilige Zahl ohne Leerzeichen dazwischen; oder alternativ einer der drei Klartexte STILLBORN | INFANT | CHILD in Großbuchstaben. Andere Klartexte sowie der Export einer reinen Zahl sind nicht zulässig.

A2 Verbot des Einsatzes von AGE auf der Ebene 1

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

A3 Länge des Zeilenwertes für AGE

Die Vorgabe {1:12} für die Länge des Zeilen_Wertes von AGE wird ersetzt durch folgende Vereinbarung:

AGE_AT_EVENT:= {Size=2:15} [ <+Leerzeichen | >+Leerzeichen | <NULL> ] [ YYYy+Leerzeichen+MMm+Leerzeichen+DDDd | YYYy | MMm | DDDd | YYYy+Leerzeichen+MMm | YYYy+Leerzeichen+DDDd | MMm+Leerzeichen+DDDd | CHILD | INFANT | STILLBORN ]

YYY, MM und DDD sind hierbei ganzzahlige positive Zahlen.

AGE muss somit mindestens eine Ziffer und einen der Buchstaben y, m oder d enthalten. Die Angaben im GEDCOM Standard 5.5.1 YY, MM, und DDD machen keine Aussage darüber, wie viele Stellen diese Zahlen für die Jahre, Monate und Tage des Alters haben. Insbesondere ist es zulässig, Altersangaben mit YY > 99 zu machen, also auch Altersangaben für 100 jährige und ältere Personen einzugeben.

Vor dem Hintergrund wird empfohlen, mindestens eine Länge des Zeilen_Wertes für AGE von {2:15} zu unterstützen.

Behandlung/Darstellung schwieriger Situationen

Die Diskussion zu AGE wurde 2019 neu eröffnet.

Auffällig ist, dass die Längenangabe im GEDCOM 5.5.1 für AGE offensichtlich falsch ist:

AGE_AT_EVENT:= {Size=1:12} [ < | > | <NULL>] [ YYy MMm DDDd | YYy | MMm | DDDd | YYy MMm | YYy DDDd | MMm DDDd | CHILD | INFANT | STILLBORN ] 
(Alter bei dem Ereignis)

Da das y bzw. m oder d zusätzlich zu einer Ziffer immer enthalten sein muss, ist die Mindestlänge 2. Und unter Verwendung der < (oder >) ergibt sich:

2 AGE < 70y 12m 20d

mit 13 Zeichen - was eine dreistellige Zahl der Jahre hier nicht mehr erlauben würde. In 12 Zeichen bis 99 Jahre nur darstellbar, wenn auf das Leerzeichen hinter < verzichtet wird

Es ist auch unklar, ob YYy vorgeben soll, dass nur Jahre bis 99 angegeben werden können, und warum bei den Tagen mit DDD eine dreistellige Angabe gemacht wurde: Sollte damit angedeutet werden, dass die Zahl der Tage bis 999 gehen darf?

Vor dem Hintergrund wurde ein Entscheidungsvorschlag A3 eingebracht, der inzwischen so entschieden wurde.

Abweichungen vom GEDCOM Standard 5.5.1

Folgende Abweichungen von den Vorgaben des Standards sind bekannt:

  • Angabe nur der Jahreszahl, ohne das vorgeschriebene y. Also falsch: 2 AGE 57
  • Angabe von anderen Inhalten, insbesondere Klartexten. Also falsch: 2 AGE 3 Wochen

In der Arbeitsgruppe wurden viele weitere, in vorliegenden GEDCOM-Dateien aufgefundene Abweichungen zusammengestellt, die zum großen Teil aber ausreichend sicher interpretiert werden können und daher in die vom Standard vorgegebene Darstellung überführt werden können. Die Gedcom-L wird keine Vereinbarungen zum Import mehr treffen, sondern solche Korrekturmöglichkeiten beim Import in der Kategorie GEDCOM-Korrekturen sammeln. Zu AGE sind diese Möglichkeiten hier zu finden: Korrekturen_zu_GEDCOM_Dateien#AGE_-_Tag:_Angaben_zum_Alter