L'arbre des entités TEF (mets:structMap)⚓
TEF utilise la carte de structure METS pour inventorier sous une forme arborescente les différentes entités auxquelles se rattachent les différents blocs de métadonnées. Ces entités sont définies dans le modèle de TEF.
<mets:structMap TYPE="logical">
<mets:div TYPE="THESE" ADMID="b999 a121 a122" DMDID="a111"
CONTENTIDS="ark:99999/star/ISAL/linck/these">
<mets:div TYPE="VERSION_COMPLETE" ADMID="a221"
CONTENTIDS="ark:99999/star/ISAL/linck/vc">
<mets:div TYPE="EDITION" DMDID="xx311"
CONTENTIDS="ark:99999/star/ISAL/these/linck/vc/ed1">
<mets:fptr FILEID="FGrID1"/>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
Cette carte de structure logique représente sous une forme XML ce que montre la figure 1.
A chaque élément mets:div correspond un niveau logique (en d'autres termes, un niveau FRBR).
L'attribut TYPE précise de quel type d'entité il s'agit. Les valeurs possibles pour l'attribut TYPE sont :
THESE
VERSION_COMPLETE
VERSION_INCOMPLETE
EDITION
RESSOURCES_EXTERNES
RESSOURCE_TIERS
TRAVAUX
L'attribut ADMID contient les identifiants des blocs de métadonnées de gestion correspondants. L'attribut DMDID contient les identifiants des blocs de métadonnées descriptives correspondants. Ce sont ces identifiants qui font le lien entre les métadonnées et les entités TEF auxquelles elles s'appliquent (cf. plus loin).
L'attribut CONTENTIDS associe à chaque thèse, version et édition un identifiant unique. Il ne s'agit pas d'un identifiant interne, dont l'unicité serait restreinte à l'échelle d'un document XML ou d'une application informatique. Il s'agit d'un URI, c'est-à-dire d'un identifiant unique à l'échelle globale du Web. Ces identifiants jouent un rôle essentiel dans l'échange automatisé de notices TEF. Il ne revient pas à la recommandation TEF d'indiquer la manière dont ces URI peuvent être construits.
<mets:structMap TYPE="logical">
<mets:div TYPE="THESE" ...>
<mets:div TYPE="VERSION_COMPLETE" ...>
<mets:div TYPE="EDITION" ...>
<mets:fptr FILEID="FGrID1"/>
</mets:div>
<mets:div TYPE="EDITION" .../>
</mets:div>
<mets:div TYPE="VERSION_INCOMPLETE" ...>
<mets:div TYPE="EDITION" .../>
</mets:div>
<mets:div TYPE="RESSOURCE_TIERS" ...>
<mets:fptr FILEID="FID2"/>
</mets:div>
</mets:div>
</mets:structMap>
Le mets:div de premier niveau est toujours de TYPE "THESE".
Un mets:div de second niveau est de TYPE "VERSION_COMPLETE", "VERSION_INCOMPLETE", "RESSOURCES_EXTERNES", "RESSOURCE_TIERS" ou "TRAVAUX". Il ne peut y avoir qu'un seul mets:div de TYPE "VERSION_COMPLETE" et qu'un seul mets:div de type "RESSOURCES_EXTERNES". Les autres sont répétables.
Un mets:div de TYPE "VERSION_COMPLETE" ou "VERSION_INCOMPLETE" a nécessairement pour enfant(s) un (ou plusieurs) mets:div de TYPE "EDITION".
Le mets:div de type "RESSOURCES_EXTERNES" permet de regrouper plusieurs "RESSOURCE_TIERS" et/ou "TRAVAUX". Il est facultatif.
Un mets:div de type "RESSOURCE_TIERS" ou un "TRAVAUX" peut avoir pour parent direct le mets:div de type "THESE", comme c'est le cas dans l'exemple ci-dessus. "RESSOURCES_EXTERNES" peut s'avérer utile quand on veut regrouper différentes ressources externes qui ont les mêmes métadonnées de droits ou qui sont toutes retirées d'une même version incomplète. Cela évite de lier chaque ressource au même bloc de métadonnées ou de lister chacune des ressources qui manquent à une version.
...
<mets:div TYPE="RESSOURCE_EXTERNES"...>
<mets:div TYPE="RESSOURCE_TIERS" .../>
<mets:div TYPE="TRAVAUX" .../>
</mets:div>
...
A cet arbre des entités TEF, il manque les fichiers. L'inventaire des fichiers est laissé à la section des fichiers (fileSec), dont c'est précisément la fonction dans METS. Le lien entre la carte de structure et la section des fichiers est effectué par l'élément mets:fptr.
Dans les deux premiers exemples de cette section, <mets:fptr FILEID="FGrID1"/> permet de faire le lien entre une édition (mentionnée dans mets:structMap) et le groupe de fichiers qui y correspond (dans mets:fileSec).