Dilib, module Hfd
Module Hfd |
Liste des modules Dilib
Module Hfd
|
HFD est l'accronyme de Hierarchic File organization for Documentation
Principe
Cette architecture a été inspirée de la méthode d'accès séquentiel indexé utilisée par le logiciel Mistral.
Considérons un ensemble de 1.000.000 enregistrements. Pour Dilib avec la philosophie Sxml un enregistrement correspond à une ligne au sens unix ou a un document Sxml. Un tel ensemble peut être éclaté en :
- 100 répertoires unix contenant chacun 100 fichiers de 100 enregistrements
A chaque enregistrement logique, peut être associée une clé numérique contenant le numéro d'enregistrement (compté à partir de 0). Dans une organisation HFD, les enregistrements physiques seront constitués de deux zones (séparés par une tabulation) :
- la clé de longueur fixe
- l'enregistrement logique proprement dit
La clé de 6 chiffres (exemple: 012433) peut être organisée en trois parties :
- les 2 premiers chiffres repèrent le répertoire unix (exemple 01.dd).
- les 2 suivants identifient un fichier interne (exemple 24.df).
- les 2 derniers repèrent un numéro d'enregistrement (exemple 33).
L'adresse Unix (path) du fichier contenant la clé 012433 est alors
bib.hfd/01.dd/24.fd
Module en cours de ré-ingénierie
Le principe du module Dilib DamHfd est maintenu, avec notamment :
- un renommage (suppression du Dam), - en cours
- passage en Sxml
Les fichiers constituants et définitions
Les organisations Hfd sont appelées à être regroupées dans des ensembles plus complexe de type « base de données documentaires » avec des fichiers directs et fichiers inverses.
Fichier HFD
On désignera par « fichier HFD » (ou simplement par HFD) un ensemble de fichiers et répertoires Unix constituant une organisation à accès direct.
Fichier HfdFile
On désignera par « fichier HfdFile » (ou simplement par HfdFile) un fichier Unix d'une organisation HFD.
Racine du Hfd
On désigne par racine du Hfd l'adresse Unix, non suffixée, d'un fichier Hfd. Par exemple le Hfd contenant la bibliographie (biblio) de l'étape Corpus du flux principal de la plateforme /var/www/Dilib/V0.5/Import/Samples/RabelaisV1 aura pour racine :
- /var/www/Dilib/V0.5/Import/Samples/RabelaisV1/Data/Main/Corpus/biblio
Répertoires et fichiers de données
Fichier hcs
A chaque hiérarchie HFD est associée un fichier de contrôle nommé HCS (HFD Control Structure). Il contient simplement un document Sxml.
Sa racine est un élément nommé hfd dont un des fils est un élément de type struct qui décrit l'organisation basée sur des clés de longueur fixe.
<!ELEMENT struct (dir+, file, key)>
<!ELEMENT dir (digit+)>
<!ELEMENT file (digit+)>
<!ELEMENT key (digit+)>
<!ELEMENT digit (#PCDATA)>
L'élément digit permet de définir les chiffres retenus à une position de la clé.
La structure implicite est :
<struct>
<dir>
<digit>0123456789ABCDRF</digit>
<digit>0123456789ABCDEF</digit>
</dir>
<file>
<digit>0123456789ABCDEF</digit>
<digit>0123456789ABCDEF</digit>
</file>
<key>
<digit>0123456789</digit>
<digit>0123456789</digit>
</key>
</struct>