Gedcom est une norme dans le monde de l'informatique, permettant
l'échange d'informations généalogiques. Cette norme
ressemble à la norme XML dans sa structure. Elle est définie selon
un modèle arborescent.
Généralement toute information Gedcom est structurée de manière hiérarchique. Une entité (comme un Individu, une Famille, une Note) a plusieurs propriétés qui, à leur tour peuvent avoir eux-mêmes plusieurs autres propriétés (ici le mot "propriété" doit être pris dans le sens "objet", "élément"). Il y a une limitation au nombre de niveaux, c'est 99, donc autant dire que dans la pratique cette limite n'est jamais atteinte. En plus des propriété standards (Date, Nom, Sexe, etc.) vous pouvez ajouter vos propres propriétés pour répondre à vos besoins personnels, cependant, attention, créer des propriétés propres, va à l'encontre du format universel. Il est vivement découragé de faire de la sorte. Si vous devez quand même créer vos propres balises, vous devez les faire débuter par ce qu'on appelle un "underscore", exemple : "_EMAIL" et sa longueur ne doit pas dépasser 15 caractères
Gedcom ne possède pas la notion d'étiquettes (de
balises) de fermeture et d'arrêt (comme le format XML) au sens strict
du terme, il utilise des lignes ayant un découpage différent.
Ce découpage est définie par un nombre entier qui est suivi
d'une étiquette définissant le type de propriété.
On pourrait dire qu'une ligne commence par un niveau hièrarchique, se
poursuit par une balise, et se termine par un retour ligne (elle-même
pouvant être considérée comme une balise implicite de
fermeture).
Ci-dessous se trouve un exemple (les sous-propriétés sont mis
en retrait dans la présentation, seulement pour une meilleure
lisibilité) :
0 INDI @I001@ 1 NAME Nils /Meier/ 1 SEX M 1 BIRT 2 DATE 25 May 1970 2 PLAC Rendsburg, Germany 1 GRAD 2 DATE 10 Dec 1996 2 PLAC Friedrich Wilhelm University Bonn 2 TYPE Diplom Informatiker 1 RESI 2 DATE FROM Jul 1999 TO DEC 2000 2 ADDR 202-1241 Kilborn Place 3 CONT Ontario, Canada 3 CITY Ottawa 3 POST K1H1A5 1 NOTE @N003@
Certaines propriétés ont un format spécifique du fait des données qu'elles contiennent (par exemple Nom /Prénom/). D'autres propriétés renvoient à d'autres entités - ici la propriété NOTE renvoie par un lien à une note dans le même fichier Gedcom.
La puissance de GenealogyJ est due au fait qu'il permet d'éditer des informations organisées en "poupées russes" avec une vue qu'on pourrait qualifier de hiérarchique. De la même manière toutes les propriétés connues sont traités de façon spécifique permettant l'édition grâce à des masques de saisie dédiés. Puisque GenJ connait les attributs qui référencent d'autres entités, il gère également l'intégrité référentielle.
L'utilisateur peut définir de nouvelles propriétés pour
des besoins particuliers. Une grande attention doit cependant être
apportée à leur conception car un écart par rapport
à la norme Gedcom peut rendre les données entrées
difficile à interpréter. Comme indiqué dans le
paragraphe traitant des Rapports
(scripts utilisant les données contenues dans le fichier Gedcom)
elles peuvent (ces propriétés) être écrites par
quelqu'un qui posséde un SDK (Standard Development Kit) Java à
l'aide de l'infrastructure que GenJ fournit.
Mais si chaque utilisateur final bâtit sa propre structure
l'information est difficile à retrouver - par exemple : est-ce que
la propriété-ADDR est une adresse ou quelqu'un a vécu
un jour, ou est-ce son adresse actuelle ? Gedcom propose
l'événement RESI à cette fin : il décrit
l'événement de demeurer à un certain endroit pendant
un certain temps (voir ci-dessus).
GenJ connait la norme Gedcom et proposera des sous-attributs à
ajouter aux attributs. Nous discuterons ceci plus en détail dans
le paragraphe sur les différentes Entités
supportées.
Dans le futur on peut s'attendre à une nouvelle norme (probablement
en XML) destinée à gérer et conserver les informations
généalogiques. Mais la mise en place d'une nouvelle norme
internationale n'est pas une chose facile. Aussi nous devons essayer de coller
le plus près possible à la norme Gedcom. Si on veut le dire
autrement : le passage à la nouvelle norme sera plus facile si nous
adhérons à une base commune dès maintenant.
La version Gedcom actuellement supportée par GenJ est la
5.5.
Si vous souhaitez en apprendre plus sur le format Gedcom, vous êtes
fortement encouragé à parcourir les spécifications -
C'est un effort continuel de maintenir GenJ aussi proche que possible
de ce standard.