GEDCOM/CONC-Tag: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
(→‎Wo trennt CONC den Text?: neuere Diskussion bis 19.1.2010 aus der Liste abgebildet)
(Entscheidungsvorschläge eingefügt)
Zeile 43: Zeile 43:
3 CONT Stored in Family History Library book 942 D2w  
3 CONT Stored in Family History Library book 942 D2w  
3 CONC h; films 481,057-58 Vol 2, page 388.</source>
3 CONC h; films 481,057-58 Vol 2, page 388.</source>
== Entscheidungsvorschläge für Vereinbarungen zu CONC ==
'''E1  Trennen von Text durch CONC'''
Laufender Text darf durch CONC nur an Stellen getrennt werden, die weder unmittelbar vor noch unmittelbar nach der Trennstelle ein Leerzeichen aufweisen.
'''E2  Anzahl der Trennzeichen nach CONC'''
Nach dem Kennwort CONC darf nur genau ein Leerzeichen als Trennzeichen stehen. Unmittelbar danach beginnt der Dateninhalt (Text des Anwenders).
'''I1  Zusammensetzen des Textes aus CONC-Zeilen'''
Es wird freigestellt, ob beim Zusammensetzen des Textes mit Teilen aus CONC-Zeilen der Textinhalt getrimmt wird, d.h. ob führende und abschliessende Leerzeichen entfernt werden.


== Behandlung/Darstellung schwieriger Situationen ==
== Behandlung/Darstellung schwieriger Situationen ==

Version vom 19. Januar 2010, 12:49 Uhr

Name und Bedeutung

Tag

CONC

Formelle Bezeichnung

CONCATENATION

Deutsche Bezeichnung

Verkettung

Verwendung

CONC {CONCATENATION}:= (Textverknüpfung) Ein Indikator, dass weitere Daten zum übergeordneten Wert gehören.

Formale Beschreibung zulässiger Werte

Aussagen des Standards

CONC {CONCATENATION}:= (Textverknüpfung) Ein Indikator, dass weitere Daten zum übergeordneten Wert gehören. Die Information aus dem CONC-Wert soll dem Wert der übergeordneten, direkt voranstehenden Zeile ohne Leerzeichen und ohne Zeilenumbruch hinzugefügt werden. Werte, die für ein CONC-Kennzeichen aufgeteilt werden müssen an einem nicht-Leerzeichen aufgetrennt werden. Wenn der Wert an einem Leerzeichen getrennt wird, so wird dieses Leerzeichen verloren gehen, wenn sie wieder zusammengefügt werden. Dies rührt daher, dass Leerzeichen in GEDCOM als Trennzeichen genutzt werden, für viele GEDCOM-Werte abschließende Leerzeichen abgeschnitten werden, sowie einige Systeme hinter dem Kennzeichen nach dem ersten nicht-Leerzeichen als Anfang des Wertes suchen.


GEDCOM-Zeilen sind auf 255 Zeichen begrenzt, jedoch können die CONC und CONT-Kennzeichen dazu benutzt werden, ein Feld über dieses Limit hinaus zu verlängern. Eine CONT-Zeile impliziert einen Zeilenumbruch, um die Formatierung zu erhalten. CONC impliziert die Verknüpfung mit dem vorherigen Zeilenwert ohne einen Zeilenumbruch. Dies wird genutzt, um den dynamischen Zeilenumbruch anhand der Größe eines Textfeldes zu ermöglichen, ohne feste Zeilenumbrüche vorzugeben. Die CONT und CONC-Kennzeichen werden genutzt, um textlich angegebene Werte zu erweitern.


Bemerkung zur Notiz-Struktur: Es gibt besondere Dinge zu beachten, wenn das CONC-Kennzeichen eingesetzt wird. Es wird dazu benutzt, einen Notiztext anzugeben, der so zusammengefügt wird, dass das anzeigende Programm selbst abhängig von der Fenstergröße den Zeilenumbruch durchführen kann. Dafür ist es erforderlich, dass entweder die Zeilen mitten in einem Wort geteilt werden, oder am Ende eines Wortes, sodass das Leerzeichen in der nächsten CONC-Zeile vorangestellt wird. Ansonsten würden die meisten Betriebssysteme die Leerzeichen am Zeilenende entfernen, und das Leerzeichen geht beim Zusammensetzen der Notiz verloren.


Aussage aus den Grammatikregeln

Lange Werte können in kürzere GEDCOM-Zeilen aufteilt werden, indem die untergeordneten Kennzeichen (Tags) CONC oder CONT benutzt werden. Das Kennzeichen CONC bedeutet, dass der untergeordnete Wert mit dem vorhergehenden ohne Zeilenumbruch zusammengefügt wird. Der Zeilenumbruch zwischen den beiden GEDCOM-Zeilen wird dabei ignoriert. Wenn eine Zeile an einem Leerzeichen aufgeteilt wird, muss dieses auf die Folgezeile übernommen werden. Das Kennzeichen CONT bedeutet, dass der Wert der Zeile mit der vorherigen zusammengefügt wird, nachdem ein Zeilenumbruch eingefügt wurde.


Das Folgende ist ein Beispiel für ein Quellzitat (SOURCE_CITATION) für die Geburt die keinen Zeiger auf einen Quelldatensatz (SOURCE_RECORD) enthält. (Es wird hierzu nicht ermutigt) [Dieses Beispiel wird hier gezeigt, weil es das Trennen der Zeilen durch CONC demonstriert: Immer zwischen zwei nicht-Leerzeichen]

0 INDI 
1 NAME Fred /Jones/ 
1 BIRT 
2 DATE 14 MAY 1812 
2 PLAC Tonbridge, Kent, England 
2 SOUR Waters, Henry F., Genealogical Gleanings in Englan 
3 CONC d: Abstracts of Wills Relating to Early Americ 
3 CONC an Families. 2 vols., reprint 1901, 190 
3 CONC 7. Baltimore: Genealogical Publishing Co., 1981. 
3 CONT Stored in Family History Library book 942 D2w 
3 CONC h; films 481,057-58 Vol 2, page 388.


Entscheidungsvorschläge für Vereinbarungen zu CONC

E1 Trennen von Text durch CONC

Laufender Text darf durch CONC nur an Stellen getrennt werden, die weder unmittelbar vor noch unmittelbar nach der Trennstelle ein Leerzeichen aufweisen.


E2 Anzahl der Trennzeichen nach CONC

Nach dem Kennwort CONC darf nur genau ein Leerzeichen als Trennzeichen stehen. Unmittelbar danach beginnt der Dateninhalt (Text des Anwenders).


I1 Zusammensetzen des Textes aus CONC-Zeilen

Es wird freigestellt, ob beim Zusammensetzen des Textes mit Teilen aus CONC-Zeilen der Textinhalt getrimmt wird, d.h. ob führende und abschliessende Leerzeichen entfernt werden.


Behandlung/Darstellung schwieriger Situationen

Wo trennt CONC den Text?

Die Aussage aus den Grammatikregeln weicht von den anderen Aussagen im Standard insofern ab, als sie die Trennung an einem Leerzeichen zulassen würde, und dabei das Leerzeichen an den Beginn des Wertes in der Folgezeile stellt. Da alle anderen Stellen und Beispiele inkl einer passenden Begründung das Trennen an einer Leerstelle ausschliessen, ist das Verbot des Trennens an einer Leerstelle auch in die Entscheidungsvorschläge zu Vereinbarungen der Programmautoren aufgenommen worden.

Ein Verbot des Trennens an Leerstellen läßt beim Import dann ein "Trimmen" der Texte zu, d.h. zu Beginn und am Ende stehende Leerzeichen und Zeilenumbrüche werden komplett entfernt.

In der Liste wird aber auch die Position vertreten, das Trennen abweichend vom der Liste zugrundeliegenden Standard überall zuzulassen. Da dann Leerzeichen auch am Anfang bzw am Ende des Textes innerhalb einer GEDCOM-Zeile stehen können, darf in diesem Fall beim Import nicht "getrimmt" werden. Eine weitere Stelungnahme in der Liste befürwortet die Verwendung der in der Grammatikregel beschriebenen Variante, dass bei Trennung an einem Leerzeichen dieses in die Folgezeile (also hinter CONC und dem Trennzeichen) zu palzieren ist. Es ist dabei jedoch nicht mehr eindeutig zu erkennen, ob mehrfache Leerzeichen zwischen CONC und dem ersten nicht-Leerzeichen als Trenner (delimiter) oder als zum Dateninhalt ( =Text ) gehörende Leerzeichen zu interpretieren sind. Daher muss in diesem Fall auch beim Export explizit vorgeschreiben werden, dass nach dem Kennwort ( tag ) jeweils nur genau ein Leerzeichen als delimiter exportiert werden darf.

Da die Diskussion in der Liste uneinheitlich ist, wird die Entscheidung in der Abstimmung herbeigeführt.

Status:

Entscheidungsvorschlag formuliert

Abweichungen vom Standard bei der Verwendung