Gedcom version 7.0
Les évolutions de la version 7.0
- Suppression des ambigüités des spécifications de la version précédente
- Simplification de la mise en œuvre en supprimant la gestion de cas particuliers
- Actualisation de la codification des caractères, des limites de taille et de la syntaxe du langage
- Utilisation de la sémantique d’identification des versions (majeure.mineure.corrective)
- Amélioration de la gestion des fichiers multimédia et support des notes de texte enrichi
- Possibilité de constituer un fichier compacté (GedZIP) qui regroupe l’ensemble des données GEDCOM avec des images et d’autres types de documents (.doc .pdf, etc) associés aux données généalogiques.
- Ajout à la version précédente de possibilités d’extension (balises personnalisées)
- Ajout d’outils de meilleure interopérabilité des extensions
- Outils, fichiers d’exemples, exemples de code et manuels d’assistance technique disponibles
La codification des caractères
- Tout le contenu d’un fichier GEDCOM est une suite de caractères codés. Les versions antérieures à GEDCOM 7 permettent différents encodages de caractères. L’encodage par défaut étant le format ANSEL
- La version 7 accepte uniquement le format UTF-8 pour l’encodage des caractères.
- Les fichiers GEDCOM des versions antérieures ne sont pas compatibles avec ceux de la version 7.0 et vice versa.
Les structures hiérarchiques et leurs formats
Définition des structures
- Une structure est caractérisée par son type (défini par une balise), et constituée de valeurs éventuelles et de sous-structures. Les valeurs (informations utiles) sont des chaînes de caractères de différents types.
- Un enregistrement est une structure qui n’est pas incluse dans une autre structure, contrairement à une sous-structure
- Une superstructure est une structure dont la définition est précisée par des sous-structures
- Une pseudo-structure ne comprend ni valeurs ni sous-structures
Les lignes
- Une ligne est la représentation par une chaîne de caractères d’une structure ou d’une partie de structure. Elle est composée d’un niveau, d’un identifiant de référence croisée optionnel, d’une balise, de valeurs (informations utiles) et d’un repère de fin de ligne. Chaque élément de la ligne est séparé du précédent par un délimiteur qui est toujours un espace unique. La ligne se termine par un retour chariot ou d’un saut de ligne, ou d’un retour chariot suivi d’un saut de ligne.
- Le niveau définit la position hiérarchique de l’information dans la structure. Le niveau 0 correspond à un enregistrement ou à une pseudo-structure. N’importe quel niveau supérieur à 0 précise la définition du niveau immédiatement supérieur.
- L’identifiant de référence croisée caractérise une structure vers laquelle on peut pointer. Un même identifiant doit être unique dans un fichier GEDCOM. Il correspond à l’adresse de l’information vers laquelle on peut pointer à partir d’autres structures.
- La balise indique le type des valeurs (informations utiles) de la structure. Les balises sont des mots prédéfinis de 3 à 6 lettres qui constituent le standard GEDCOM 7. Elles sont supposées reconnues par tous les logiciels qui supportent GEDCOM 7.
HEADER – TRAILER
- La première ligne de chaque fichier GEDCOM est une pseudo-structure 0 HEAD qui constitue l’entête du fichier, suivie des sous-structures qui contiennent les métadonnées relatives à l’ensemble du fichier.
- La dernière ligne de chaque fichier GEDCOM est une pseudo structure 0 TRLR qui constitue une marque de fin de fichier. Elle n’est suivie d’aucune valeur ni aucune sous-structure.
Les extensions et les balises personnalisées
- La série des balises du standard GEDCOM 7 peut être étendue avec des balises personnalisées gérées par le logiciel émetteur et le logiciel récepteur. Elles permettent la gestion de types de données non gérés par les balises du standard. Elles ne peuvent être utiles qu’aux logiciels capables de les reconnaître et de gérer les données qu’elles transportent. Les logiciels qui ne les reconnaissent pas les ignorent.
- Une structure standard est prioritaire sur une structure personnalisée si cette extension est en contradiction avec elle.
- Deux types sont possibles: balise personnalisée et documentée (définie dans la structure SCHMA de la superstructure HEAD) ou balise personnalisée non documentée (définie par son seul nom de balise). La balise TAG permet la définition d’une balise personnalisée documentée et permet d’identifier la ressource internet de référence (URI).
Exemple de balises personnalisées documentées
0 HEAD
1 SCHMA
2 TAG _WEIG https://hartenthaler.net/webtrees_addendum/addendum.overview.html
2 TAG _EYEC https://hartenthaler.net/webtrees_addendum/addendum.overview.html
0 @I0@ INDI
1 _EYEC bleu => couleur des yeux
1 _WEIG 75 kilos => poids
Exemple de balises personnalisées non documentées
0 HEAD
1 SCHMA
2 TAG _WEIG https://hartenthaler.net/webtrees_addendum/addendum.overview.html
2 TAG _EYEC https://hartenthaler.net/webtrees_addendum/addendum.overview.html
0 @I0@ INDI
1 _EYEC bleu
1 _WEIG 75 kilos
1 _HAIR blond => couleur des cheveux
1 _HEIG 1m81 => taille
Suppression de données
- En principe la suppression de données implique celle de structures. Les pointeurs vers une structure supprimée doivent être remplacés par des pointeurs nuls ( @VOID@ )
Les types de données
Chaque ligne de valeurs (informations généalogiques utiles) est une chaîne de différents types de caractères :
- Type ‘texte’ : chaîne de caractères libres qui dépend de la langue utilisée.
- Type ‘entier’ : séquence de caractères numériques qui représentent un nombre entier non négatif.
- Type ‘énumération’ : chaque valeur énumérée doit être différente des autres.
- Type ‘date’ : différents formats de date permettent l’enregistrement de dates approximatives, de périodes, de dates de calendriers différents.
- Type ‘heure’ : l’heure est représentée selon une base de 24 heures (pas de AM/PM)
- Type ‘âge’ : l’âge s’exprime en nombres d’années, mois, semaines et jours.
- Type ‘liste’ : une liste est constituée de chaînes de caractères séparées par une virgule. Elle peut être une énumération ou une suite de chaînes de texte libre.
- Type ‘nom de personne’ : texte libre
- Type ‘langue’ : indique la langue utilisée
- Type ‘media’ : indique le format d’encodage de l’information du média
- Type ‘spécial’ : utilisé pour les cas particuliers ou les contraintes spécifiques.
Le langage GEDCOM version 7.0
On peut rencontrer dans un fichier GEDCOM quatre formats de ligne différents. Pour décrire les informations qui sont regroupées dans une structure et n’ont pas de relations avec d’autres structures du fichier, on trouvera des lignes dont la syntaxe sera:
Format 1
{niveau} espace {balise}
ou
Format 2
{niveau} espace {balise} espace {valeurs}
… et pour les informations qui doivent être mises en relation avec d’autres qui sont placées à un autre endroit dans le fichier, on trouvera:
Format 3
{niveau} espace @{référence}@ espace {balise}
ou
Format 4
{niveau} espace {balise} espace @{référence}@
Légende
- {niveau} : c’est une valeur numérique de 0 à n qui permet de structurer la hiérarchie des informations. Les informations du niveau n sont toujours associées à celles du niveau n-1 qui précéde pour les préciser. Il est très important de respecter l’ordre dans lequel les informations d’un fichier GEDCOM doivent être classées.
- {balise} : les balises sont des mots-clés de 3 à 6 caractères du langage GEDCOM prédéfinis qui caractérisent les informations fournies, comme INDI pour individu, MARR pour mariage, FAM pour famille, etc (voir la liste des balises ci-dessous)
- @{référence}@ : les références sont les étiquettes qui permettent d’établir des relations entre des informations. Ces références sont des suites de chiffres et/ou de lettres quelconques toujours délimitées par un caractère @ au début et à la fin. Sur une ligne d’un fichier GEDCOM, une référence citée avant une balise (format 3) marque l’emplacement d’une information (c’est une adresse). Une référence citée après une balise (format 4) permet d’établir une relation avec une information définie par l’adresse correspondante (c’est un pointeur). C’est l’existence d’une ligne comportant une adresse et d’une ou de plusieurs lignes qui contiennent un pointeur sur cette adresse qui matérialise une (des) relation(s). Dans un fichier GEDCOM, la référence utilisée dans chaque « ligne adresse » doit être unique: on ne peut pas retrouver la même référence utilisée comme adresse dans deux lignes différentes, mais plusieurs pointeurs (donc plusieurs « lignes pointeurs ») peuvent renvoyer à cette « ligne adresse ».
- {valeurs} : ce sont les valeurs des données généalogiques qui peuvent être codées dans un format spécifique (dates), sous forme de texte libre (chaînes de caractères) ou qui sont des constantes pré-définies dans le langage (M ou F pour indiquer le sexe, par exemple).
Pour en savoir plus
Documentation générale GEDCOM (en anglais, guides, exemples…)
Pour des informations plus détaillées à propos de GEDCOM 7.0, consulter les spécifications GEDCOM version 7 (en anglais)
Les balises du standard GEDCOM 7.0
Balise {alias} | Valeurs (optionnelles selon la balise et la structure) |
ABBR {abbreviation} | titre abrégé, description abrégée ou nom abrégé |
ADDR {address} | adresse postale d’un individu, de l’auteur d’un fichier, d’une entreprise, d’une école, etc |
ADOP {adoption} | création du lien enfant-parent quand il n’existe pas de lien biologique |
ADR1 {address line 1} | première ligne d’une adresse |
ADR2 {address line 2} | seconde ligne d’une adresse |
ADR3 {address line 3} | troisième ligne d’une adresse |
AGE {age} | âge de l’individu au moment de l’événement ou âge qui figure dans le document. |
AGNC {agency} | institution ou individu responsable ou décisionnaire |
ALIA {alias} | informations différentes relatives à un individu |
ANCI {ancestor_interest} | indique l’intérêt à rechercher des informations sur les ancêtres d’un individu |
ANUL {annulment} | déclaration de nullité d’un mariage (comme s’il n’avait pas eu lieu) |
ASSO {associates} | lien d’un individu avec des amis, des voisins, des parents ou d’autres personnes |
AUTH {author} | nom de la personne qui a relevé les informations ou qui a constitué le fichier |
BAPL {baptism-LDS} | baptême de l’Eglise des Mormons (à partir de l’âge de huit ans) |
BAPM {baptism} | baptême (non Mormon, voir aussi BAPL et CHR) |
BARM {bar_mitzvah} | cérémonie juive qui a lieu pour les garçons à l’âge de 13 ans |
BASM {bas_mitzvah} | cérémonie juive qui a lieu pour les filles à l’âge de 13 ans, aussi appelée « Bat Mitzvah. » |
BIRT {birth} | naissance |
BLES {blessing} | bénédiction religieuse |
BURI {burial} | sépulture |
CALN {call_number} | numéro d’identification d’une pièce dans un répertoire |
CAST {caste} | rang ou statut d’un individu dans une société, selon des critères raciaux ou religieux, des critères de richesse ou autres |
CAUS {cause} | description de la cause de l’événement ou du fait associé, cause du décès par exemple |
CENS {census} | recensement de population |
CHAN {change} | correction ou modification; en relation avec une DATE qui indique quand le changement est survenu. |
CHIL {child} | enfant naturel ou adopté |
CHR {christening} | baptême religieux (non Mormon) d’un enfant |
CHRA {adult_christening} | baptême religieux (non Mormon) d’une personne adulte. |
CITY {city} | ville ou village |
CONC {concatenation} | suite des informations qui précédent |
CONF {confirmation} | confirmation – cérémonie religieuse (non Mormon) par laquelle un individu acquiert la qualité de membre à part entière de son Eglise. |
CONL {confirmation_l} | confirmation (cérémonie religieuse par laquelle un individu devient membre de l’Eglise des Mormons) |
CONT {continued} | suite des informations qui précédent, après un retour à la ligne. |
COPR {copyright} | protection des informations contre la reproduction et la diffusion |
CORP {corporate} | nom d’une entreprise, d’une institution ou autre |
CREA {creation} | date de création de la superstructure |
CREM {cremation} | incinération du corps d’un individu décédé |
CROP {crop} | affichage d’une partie d’image découpée |
CTRY {country} | nom ou code du pays |
DATA {data} | nom d’une source ou contenu d’une source |
DATE {date} | date d’un événement selon les formats prévus pour les dates |
DEAT {death} | décès |
DESI {descendant_int} | indique l’intérêt à rechercher des descendants de l’individu |
DEST {destination} | système ou logiciel destinataire des données |
DIV {divorce} | dissolution du mariage |
DIVF {divorce_filing} | dossier de divorce d’un époux |
DSCR {description} | caractères physiques de description d’une personne, d’un lieu ou d’une chose |
EDUC {education} | niveau d’instruction |
EMAIL {email} | adresse courriel |
EMIG {emigration} | départ de son pays avec l’intention de résider ailleurs |
ENDL {endowment} | dotation (sacrement de l’Eglise des Mormons reçu par un individu dans un temple). |
ENGA {engagement} | fiancailles |
EVEN {event} | événement intéressant à propos d’un individu, d’un groupe ou d’une organisation |
EXID {external identifier} | identificateur relatif à une superstructure, géré par une autorité externe |
FACT {fact} | fait ou qualité remarquable concernant un individu ou une famille |
FAM {family} | association de deux individus et de leurs enfants selon la loi ou les coutumes, ou famille créée par la naissance d’un enfant d’un père et d’une mère biologiques. |
FAMC {family_child} | indique la famille à laquelle un enfant appartient |
FAMS {family_spouse} | indique la famille dans laquelle l’individu est l’un des conjoints |
FAX {facsimile} | numéro de FAX |
FCOM {first_communion} | cérémonie religieuse de première communion |
FILE {file} | fichier externe d’informations pouvant être référencées. |
FORM {format} | nom donné à un format dans lequel des informations peuvent être transcrites ou énumération de types de lieux de la structure PLAC |
GEDC {gedcom} | informations relatives à la norme GEDCOM |
GIVN {given_name} | prénom |
GRAD {graduation} | diplôme ou certificat |
HEAD {header} | informations descriptives du fichier GEDCOM |
HEIGHT {height in pixels} | hauteur en pixels de l’image à afficher |
HUSB {husband} | individu marié ou père d’un enfant |
IDNO {ident_number} | numéro d’identification d’une personne dans un fichier, une source ou un système externe |
IMMI {immigration} | arrivée dans un nouveau lieu de résidence avec intention de s’y installer |
INDI {individual} | une personne |
INIL {initiatory, LDS} | ordinance LDS |
LANG {language} | langue utilisée dans le fichier |
LATI {latitude} | coordonnées de latitude |
LEFT {left crop width} | nombre de pixels à gauche de l’image à ne pas afficher |
LONG {longitude} | coordonnées de longitude |
MAP {map} | localisation d’un lieu défini par LATI et LONG |
MARB {marriage_bann} | publication des bans de mariage |
MARC {marr_contract} | contrat de mariage |
MARL {marr_license} | autorisation légale de mariage |
MARR {marriage} | création d’une famille |
MARS {marr_settlement | convention, contrat avant mariage |
MEDI {medium} | informations sur le support des données stockées |
MIME {media type} | type de media (text/plain ou text/html) |
NAME {name} | mot ou ensemble de mots utilisés pour l’identification d’un individu, d’un titre, etc. Il faut utiliser plusieurs lignes NAME pour les personnes qui ont des noms multiples. |
NATI {nationality} | nationalité d’une personne |
NATU {naturalization} | obtention d’une nationalité |
NCHI {children_count} | nombre d’enfants du parent (tous mariages confondus) s’il s’agit d’un individu ou de la famille s’il s’agit d’une famille. |
NICK {nickname} | surnom |
NMR {marriage_count} | nombre de mariages de la personne |
NO {did not happen } | énumération de types d’événements non existants |
NOTE {note} | informations complémentaires ajoutées pour la compréhension des données |
NPFX {name_prefix} | texte ou titre qui apparait avant le nom d’une personne (Docteur, Général, Monseigneur…) |
NSFX {name_suffix} | texte qui apparait après le nom (Junior ou fils, par exemple) |
OBJE {object} | référence aux données utilisées comme description (généralement un enregistrement audio, une photo ou une vidéo) |
OCCU {occupation} | profession |
ORDN {ordination} | ordination religieuse |
PAGE {page} | numéro ou description de l’endroit où l’information se trouve dans un ouvrage référencé |
PEDI {pedigree} | information relative à l’individu dans un tableau d’ascendance |
PHON {phone} | numéro de téléphone |
PHRASE {phrase} | texte qui ne peut pas être inclus dans la superstructure à cause de la limite liée à son type de données |
PLAC {place} | lieu de l’événement |
POST {postal_code} | code postal |
PROB {probate} | validation d’un testament |
PROP {property} | biens et possessions |
PUBL {publication} | date et lieu de publication d’un ouvrage |
QUAY {quality_of-data} | degré de confiance accordé à une information |
REFN {reference} | description ou numéro d’identification d’un fichier ou de tout autre objet pouvant être référencé |
RELI {religion} | religion |
REPO {repository} | établissement ou personne dépositaire de l’information |
RESI {residence} | domicile |
RESN {restriction} | restrictions ou interdiction d’accès à une information |
RETI {retirement} | retraite |
RFN {rec_file_number} | numéro permanent affecté à un enregistrement pour l’identifier de manière unique dans un fichier |
ROLE {role} | rôle tenu par un individu dans un événement |
SCHMA {extension schema} | métadonnées relatives aux balises personnalisées utilisées |
SDATE {sort date} | date utilisée pour le tri en cas de date inconnue |
SEX {sex} | sexe |
SLGC {sealing_child} | scellement d’un enfant à ses parents (cérémonie de l’Eglise des Mormons) |
SLGS {sealing_spouse} | scellement d’un mari et d’une femme (cérémonie de l’Eglise des Mormons) |
SNOTE {shared note} | note partagée par plusieurs structures |
SOUR {source} | document d’origine ou source initiale de l’information |
SPFX {surn_prefix} | partie d’un nom de famille qui n’est pas indexée |
SSN {soc_sec_number} | numéro de sécurité sociale |
STAE {state} | état (division géographique ou juridictionnelle) |
STAT {status} | état (condition) |
SUBM {submitter} | individu ou organisation qui fournit les données généalogiques |
SUBN {submission} | ensemble de données à traiter |
SURN {surname} | nom de famille |
TAG {extension tag} | informations qui concernent une balise personnalisée |
TEMP {temple} | nom ou code d’identification d’un temple de l’Eglise des Mormons |
TEXT {text} | texte exact provenant d’un document original |
TIME {time} | heures (entre 0 et 24), minutes et secondes séparées par les deux points (:). Secondes et centièmes de secondes sont optionnels |
TITL {title} | description d’un ouvrage, comme le titre d’un livre; titre de noblesse ou titre honorifique pour un individu |
TOP {top crop width} | nombre de pixels à ne pas afficher à partir du haut d’une image |
TRLR {trailer} | marque de fin d’un fichier GEDCOM |
TRAN {translation} | représentation de données dans un format différent, une langue différente |
TYPE {type} | définition complémentaire de la balise précédente |
UID {unique identifier} | identificateur unique de la superstructure |
VERS {version} | indique la version d’un produit, d’un composant ou d’un ouvrage utilisé ou référencé |
WIDTH {width in pixels} | largeur de l’image à afficher en nombre de pixels |
WIFE {wife} | épouse |
WILL {will} | testament |
WWW {web address} | adresse d’une page web |