Afin de bien comprendre la structure de l'EAD, et de progresser dans son utilisation, il est nécessaire de posséder certaines connaissances en XML.
Le XML (Extensible Markup Language) est un langage de balisage étendu, développé par le World Wide Web Consortium (W3C [1]). Un document XML est un ensemble d'informations textuelles structurées dans un modèle arborescent d'éléments délimités par des balises.
Les éléments définissent un contenu sémantique. Ils peuvent contenir d’autres éléments (il est ainsi possible de regrouper des informations de même nature) et/ou des données textuelles. Des attributs, accompagnés d'une valeur permettent de qualifier les éléments. Les attributs permettent ainsi de donner des informations sur la nature de l'élément et facilitent l'exploitation informatique.
La structure du contenu de l'élément, et encore davantage la valeur des attributs, sont soumises à certaines règles :
Le XML est un langage aux règles strictes. Par exemple, à l'inverse de ce qui était admis dans les versions initiales de HTML, tout balise ouvrante doit être accompagnée d'une balise fermante. Un document XML bien formé doit se conformer à des exigences précises :
Exemple de document XML bien formé :
<?xml version="1.0" encoding="utf-8"?>
<notice>
<cote type="actuelle">Mss. M. 1001-2800</cote>
<cote type="ancienne">Mont. 1-1864</cote>
<intitule>Fonds Montesquieu</intitule>
<date>1201-1900</date>
<descriptionPhysique>
<importanceMaterielle>1800 manuscrits</importanceMaterielle>
</descriptionPhysique>
<producteur>
<nomPersonne normal="Montesquieu, Charles-Louis de Secondat (1689-1755 ; baron de La Brède et de)">Montesquieu </nomPersonne>
</producteur>
<!-- Ceci est un commentaire, qui n'est pas parsé par le validateur -->
<acquisition>Achats, dons, legs et dation</acquisition>
<acces>Consultation dans la salle de la Réserve uniquement</acces>
<note> Fonds consacré à Montesquieu : livres et manuscrits du philosophe, archives de la seigneurie de La Brède dont les plus anciennes pièces remontent au XIIIe siècle.</note>
</notice>
Un document XML « valide » est un document XML bien formé, qui de surcroît est conforme à une DTD ou à un schéma. Cette validité est vérifiable grâce à un outil logiciel appelé parseur, présent dans les navigateurs Internet et dans les éditeurs XML.
Une DTD (Définition de type de document) fournit à la fois le vocabulaire et la syntaxe nécessaires pour exploiter les potentialités de l'XML :
Les DTD laissent de plus en plus la place à des schémas, qui sont eux aussi des langages de descriptions de documents XML, et qui présentent des avantages supplémentaires :
Les schémas sont définis selon deux modalités principales :
Le schéma EAD 2002, créé en 2007 à partir de la DTD EAD 2002, existe dans ces deux formats.
Autres points notables :
Une présentation détaillée du XML se trouve dans le document ci-dessous.
Il existe aussi un j.e-cours proposé par l'ABES [4].
Exemple de <eadheader> très détaillé, intégrant la plupart des éléments de métadonnées définis pour un instrument de recherche EAD.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ead PUBLIC "+//ISBN 1-931666-00-8//DTD ead.dtd (Encoded Archival Description (EAD) Version 2002)//EN" "ead.dtd">
<ead>
<eadheader countryencoding="iso3166-1" dateencoding="iso8601" langencoding="iso639-2b" repositoryencoding="iso15511" scriptencoding="iso15924">
<eadid mainagencycode="FR-751131015" countrycode="FR" identifier="FRCCAL-450996201-002">CCAL-Utopia-FondsJacquesDurand</eadid>
<filedesc>
<titlestmt>
<titleproper>Catalogue du fonds Jacques Durand</titleproper>
<subtitle>Manuscrits littéraires de Jacques Durand et de son grand-père Emile Dubois</subtitle>
<author>Jean Dupont, responsable des manuscrits à la Bibliothèque municipale d'Utopia-sur-Loire</author>
<sponsor>Conseil régional du Centre et Conseil régional des Pays de la Loire</sponsor>
</titlestmt>
<editionstmt>
<edition>2<emph render="super">e</emph> édition revue et corrigée</edition>
<p>Cette deuxième édition a bénéficié des apports récents de la critique génétique de l'œuvre de Durand. L'organisation des différents brouillons et états de <emph render="italic">La danseuse de tango</emph>, en particulier, a été revue à l'aune des découvertes de Michel Dumoulin, professeur à l'Université d'Orléans et spécialiste de l'œuvre de Durand.</p>
</editionstmt>
<publicationstmt>
<publisher>Bibliothèque nationale de France. Service du Catalogue collectif de France</publisher>
<date normal="2010-10-15" era="ce" calendar="gregorian">15 octobre 2010</date>
</publicationstmt>
<seriesstmt>
<titleproper>Catalogue collectif des auteurs littéraires ligériens</titleproper>
</seriesstmt>
</filedesc>
<profiledesc>
<creation>Encodé conformément à la DTD EAD 2002, à l'aide du logiciel XML Exchanger.</creation>
<langusage>Catalogue rédigé en <language langcode="fre">français</language>.</langusage>
<descrules>Rédigé conformément à la recommandation DeMArch (2010). Indexation conforme aux normes AFNOR NF Z 44-060, NF Z 44-061 et NF Z 44-081.</descrules>
</profiledesc>
<revisiondesc>
<change>
<date normal="2011-06-18" era="ce" calendar="gregorian">18 juin 2011</date>
<item>Normalisation de l'indexation des noms géographiques</item>
</change>
<change>
<date normal="2011-03-12" era="ce" calendar="gregorian">12 mars 2011</date>
<item>Nombreuses précisions apportées à la description des cartons 12-17.</item>
</change>
</revisiondesc>
</eadheader>
<archdesc level="fonds">
<did>
<unitid>JD 1-67</unitid>
<unittitle>Fonds Jacques Durand</unittitle>
</did>
</archdesc>
</ead>
Le surbalisage correspond à une structuration du texte qui n’est pas utile pour l’usage que l’on souhaite en faire, soit que l’information pertinente soit implicitement déjà présente par héritage au niveau concerné (risque de redondance de l’information), soit que cette information ne soit pas à indexer ou à isoler (risque de recherche moins pertinente : bruit).
Lorsque l’on rédige une description en EAD, on crée une arborescence avec des niveaux de composants <c> qui s’emboitent les uns dans les autres. Suivant le principe de la norme ISAD (G), les informations descriptives doivent être données au niveau pertinent, c'est-à-dire au plus haut niveau possible de la hiérarchie, de telle sorte que 1) elles concernent ledit composant et tous les niveaux qui en dépendent et 2) elles ne soient pas répétées aux niveaux inférieurs : les niveaux inférieurs héritent alors des informations des niveaux supérieurs.
Dans l'exemple qui suit, le terme "Inde" a été indexé en tant que nom géographique au niveau de la description du dossier. Chacun des sous-composants hérite de cette information : il n'y a donc pas lieu d'indexer "Inde" au niveau de la description des pièces.
<c id="c20212" level="file">
<did>
<unittitle>Documents relatifs à l'<geogname role="sujet" normal="Inde" source="BnF_catalogue_général" authfilenumber="http://catalogue.bnf.fr/ark:/12148/cb15323040r/ [5] ">Inde</geogname></unittitle>
...
</did>
...
<c id="c20213" level="item">
<did>
<unittitle>Mémoire sur l'Inde présenté au roi Louis XV</unittitle>
...
</did>
...
</c>
<c id="20214" level="item">
<did>
<unittitle>Relation d'un voyage en Inde en 1772</unittitle>
...
</did>
...
</c>
</c>
Ce principe d’héritage fonctionne pour une information qui se répète intégralement et à l'identique. En revanche, si l'on rencontre, au sein d'un sous-composant, une information partiellement différente de celle qui a été donnée à un niveau supérieur, il faut la baliser. Dans ce cas, il ne s'agit pas de surbalisage car l'information encodée vient utilement compléter l'instrument de recherche.
Exemple :
<c id="c44564" level="file">
<did>
<unittitle>Ensemble de lettres</unittitle>
<unitdate normal="1789-07" era="ce" calendar="gregorian">Juillet 1789</unitdate>
...
</did>
...
<c id="c156789-1" level="item">
<did>
<unitititle>Lettre à Lafayette</unittitle>
<unitdate normal="1789-07-14" era="ce" calendar="gregorian">14 juillet 1789</unitdate>
...
</did>
</c>
<c id="c156789-2" level="item">
<did>
<unitititle>Lettres à Mirabeau</unittitle>
...
</did>
</c>
</c>
Dans l'exemple ci-dessous, Victor Hugo est indexé en tant que sujet au niveau supérieur. Les niveaux inférieurs héritant automatiquement de cette information, il n'y a donc pas lieu d'indexer Victor Hugo dans le premier sous-composant. En revanche, celui-ci apparaît en tant qu'auteur d'une lettre dans le second sous-composant : il faut ici procéder à une nouvelle indexation pour préciser le rôle différent que tient Victor Hugo par rapport au document décrit.
<c id="c40005" level="file">
<did>
<unittitle>Notes sur la vie et l'oeuvre de <persname role="sujet" normal="Hugo, Victor (1802-1885)" source="BnF_catalogue_général" authfilenumber="http://catalogue.bnf.fr/ark:/12148/cb11907966z/ [6] ">Victor Hugo</persname></unittitle>
...
</did>
...
<c id="c40005-1" level="recordgrp">
<did>
<unitititle>Notes sur l'enfance de Victor Hugo</unittitle>
...
</did>
...
</c>
<c id="c40005-2" level="recordgrp">
<did>
<unittitle>Notes sur <emph render="italic"><title normal="Les misérables" source="BnF_catalogue_général" authfilenumber="http://catalogue.bnf.fr/ark:/12148/cb13516296h [7] ">Les Misérables</title></emph> accompagnées d'un fragment de lettre de <persname role="070" normal="Hugo, Victor (1802-1885)" source="BnF_catalogue_général" authfilenumber="http://catalogue.bnf.fr/ark:/12148/cb11907966z/ [6] ">Victor Hugo</persname></unittitle>
...
</did>
...
</c>
...
</c>
La structuration de l’inventaire permet aux moteurs de recherche de proposer un meilleur accès aux informations qu’il contient. Ainsi, l’inventaire peut faire l'objet de traitements sémantiques pour alimenter un certain nombre d’index qui facilitent la recherche. Dans cette perspective, l’usage abusif de certains élements risque d’entraîner une altération de l’indexation, et donc une recherche de moins bonne qualité. La mention du nom des auteurs de références bibliographiques dans une balise <persame role="070">, pour n’être pas fausse, peut ainsi entraîner, dans l’index "auteurs" de l’outil de recherche, une assimilation entre les auteurs des documents (ce qui est essentiel) et les auteurs des articles cités en bibliographie (ce qui n’est pas forcément souhaitable).
Cette notion de pertinence dépend néanmoins de l’usage qui est fait de l’inventaire. Elle doit être examinée au regard des buts que se propose l'inventaire et des outils de recherches qui ont à l'exploiter. Ainsi, un usage développé des éléments liés aux techniques d’illustration, inutile dans certains contextes (ne donnant pas lieu à une exploitation par l’outil de recherche), peut dans d’autres contextes se révéler très profitable.
L'utilisation d'un balisage tel que :
<physfacet type="technique"><genreform type="technique" normal="Dessin">Dessin à la plume et à l'aquarelle, avec des rehauts de blanc</genreform></physfacet>
n'a de sens que si l'outil d'exploitation crée un index à partir de la valeur de l'attribut normal des balises <genreform>.
Voir aussi la Fiche trechnique Publication et affichage [8].
Il est rare que l'on utilise des éléments EAD uniquement pour des raisons d'affichage. Si l'on emploie tel ou tel élément, c'est qu'il semble également utile pour structurer l'information. Ainsi lorsque l'on choisit d'employer l'élément <physfacet type="sceau">, c'est tout autant pour caractériser cette information au sein de la description que pour la faire apparaître sous un intitulé propre ou une mise en forme particulière.
Exemple :
<physdesc>
<physfacet type="support">Parchemin</physfacet>
<dimensions>225 x 220 mm</dimensions>
<physfacet type="sceau">Fragment du grand sceau pendant ovale de cire brune de l'évêque</physfacet>
</physdesc>
Donne l'affichage suivant dans le CCFr :
Support : Parchemin
Dimensions : 225 x 220 mm
Sceau : Fragment du grand sceau pendant ovale de cire brune de l'évêque
Donne l'affichage suivant dans BnF Archives et Manuscrits (et donnerait dans Calames) :
Description physique : Parchemin. 225 x 220 mm. Fragment du grand sceau pendant ovale de cire brune de l'évêque
Il découle de ce qui vient d'être dit plus haut qu'une information qui n'est utile ni pour la recherche ni pour l'affichage ne doit pas donner lieu à un balisage spécifique et ce malgré la richesse des possibilités qu'offre la DTD EAD.
Dans l'environnement Web, tout mot et tout groupe de mots présents dans un instrument de recherche constituent potentiellement des "points d'accès" à cet instrument, puisque la recherche en plein texte permet de retrouver directement toutes les occurrences de ces mots et groupes de mots. La recherche en plein texte présente l'avantage de l'exhaustivité, mais n'assure pas nécessairement la pertinence des réponses : chaque mot y est traité de manière "automatique" comme une simple suite de caractères, indépendamment de sa sémantique, par opposition à l'opération d'indexation qui reflète un choix délibéré de la part du catalogueur.
C'est pourquoi l'élaboration d'une véritable indexation normalisée représente une phase importante de la création d'un instrument de recherche, car elle permet de rendre ce dernier plus facilement exploitable par l'utilisateur, par le biais de critères de recherche spécifiques clairement définis (recherche sur les titres, sur les sujets, sur les noms de personnes, etc.).
L'indexation ouvre en outre aux instruments de recherche des perspectives riches d'avenir. En offrant la possibilité de les mettre explicitement en relation avec des fichiers d'autorité qui associent des identifiants susceptibles d'être utilisés comme des URI à des noms de personnes, de collectivités, de concepts, etc., elle rend ces instruments de recherche potentiellement accessibles aux applications du "web sémantique".
L'indexation consiste à utiliser des balises spécifiques pour encadrer les valeurs qui doivent alimenter les index. Ces balises d'indexation peuvent être posées par le catalogueur au fil du texte, dès la première occurrence d'un terme correspondant à une notion que le catalogueur souhaite indexer, ou être regroupées à part dans un ou des éléments Vedettes et accès contrôlés <controlaccess> [9].
Bonne pratique
Il est fortement déconseillé d'utiliser l'élément Index <index> [10] et les éléments subordonnés Entrée d'index <indexentry> [10] et Groupe de noms <namegrp> [10].
Les éléments Index <index> et Entrée d'index <indexentry> semblent à première vue, à en juger par leurs noms, se rapporter à l'activité d'indexation. Ils servent en réalité à introduire, dans le corps même d'un instrument de recherche, du texte qui a l'apparence visuelle et la fonctionnalité d'un index traditionnel tel qu'on peut en trouver dans un ouvrage imprimé ou un document dactylographié, c'est-à-dire une liste de termes associant à chacun de ces termes la localisation de chacune de ses occurrences au sein du document.
S'il s'agit bien d'un "index" au sens habituel de ce mot, il ne s'agit pas d'une "indexation" au sens informatique, puisque la création d'un tel index n'est pas liée à la création de points d'accès contrôlés : il ne s'agit que d'établir manuellement des liens entre différentes parties d'un instrument de recherche.
Un élément Index <index> contient une succession d'éléments Entrée d'index <indexentry> dont chacun est associé à un ou plusieurs éléments de lien pointant vers les composants <c> [11] où figure la valeur que l'on souhaite voir apparaître dans l'index. Ces liens sont créés manuellement au moyen des éléments Référence <ref> [12] et Pointeur <ptr> [12] dont l'attribut TARGET contient l'identifiant (valeur de l'attribut ID) de chacun des composants vers lesquels devra renvoyer l'index. La création manuelle des liens au sein d'un élément <index> est donc coûteuse en temps de travail, est source d'erreurs, et représente un risque de non-pérennité des index si, pour une raison ou pour une autre, les identifiants des composants <c> [11] sont amenés à changer au cours du temps, ou si une information est transférée d'un composant à un autre.
Les points d'accès sont encodés au fil du texte chaque fois que la possibilité existe.
C’est seulement lorsque l'encodage complet au fil du texte est impossible que les points d'accès sont inclus dans l’élément <controlaccess> [13], répétable et placé à la fin du <c> [11].
Il s’agit notamment des cas suivants :
Exemples
1. La DTD ne permet pas d'inclure un élément <persname> dans l'élément <title>
<c>
<did>
<unittitle><persname role="070" normal="Pagnerre, Louis (1845-19..)" source="BnF_catalogue_général" authfilenumber="ark:/12148/cb13005468h">Pagnerre, Louis</persname> : <title role="titre">Charles Gounod, sa vie et ses oeuvres</title></unittitle>
</did>
[…]
<controlaccess><persname role="sujet" normal="Gounod, Charles (1818-1893)" source="BnF_catalogue_général" authfilenumber="ark:/12148/cb138946384">Gounod, Charles (1818-1893)</persname></controlaccess>
</c>
2. Un même élément ne peut pas avoir plus d'un attribut ROLE à la fois ; ici l'auteur est aussi sujet du document décrit.
<c>
<did>
<unittitle>Autobiographie de la <persname role ="070" normal="Chesard de Matel, Jeanne-Marie">Mère Jeanne de Jésus Chesard de Matel</persname>, fondatrice de la congrégation du Verbe incarné au très-saint Sacrement de l'autel</unittitle>
</did>
[…]
<controlaccess><persname role="sujet" normal="Chesard de Matel, Jeanne-Marie">Chesard de Matel, Jeanne-Marie</persname></controlaccess>
</c>
3. Il n’est pas possible d'encoder des termes génériques dans un élément <persname> ; ici les termes "abesse de Montmartre" et "Reine, mère du Roy" peuvent correspondre à de nombreux noms de personnes.
<c>
<did>
<unittitle>La <title role="titre" normal="Vie de saint Denis">Vie de sainct Denis</title>, apostre de la France, faicte en vers françois, dédiée à la Reine, mère du Roy, par Madame l'abesse de Montmartre. Composée par M. <persname role="070" normal="Courtot, P.">P. Courtot</persname>, advocat au Parlement, en 1629</unittitle>
</did>
[…]
<controlaccess><persname role="070">Beauvilliers, Marie de (1598-1657)</persname></controlaccess>
<controlaccess><persname role="280" normal="Marie de Médicis (reine de France ; 1573-1642)" source="BnF_catalogue_général" authfilenumber="ark:/12148/cb12545791d">Marie de Médicis (reine de France ; 1573-1642)</persname></controlaccess>
</c>
4.
<did>
<unittitle>"Mission à <geogname role="sujet" normal="Vienne (Autriche)" source="BnF_catalogue_général" authfilenumber="ark:/12148/cb15238451r">Vienne</geogname>, 1867"</unittitle>
<origination><persname normal="Dupont, Jean (18.. - .... ; secrétaire d'ambassade)">Dupont, Jean (18.. - .... ; secrétaire d'ambassade)</persname</origination>
</did>
[…]
<scopecontent><p>Une note d'une autre main, au verso de la page de titre, précise : "Carnet tenu par le secrétaire personnel de l'ambassadeur de France à Vienne, en poste de 1867 à 1869".</p></scopecontent>
<controlaccess><geogname role="sujet" normal="Autriche-Hongrie" source="RAMEAU" authfilenumber="ark:/12148/cb123809301">Autriche-Hongrie</geogname></controlaccess>
<controlaccess><persname role="sujet" normal="François-Joseph I (empereur d'Autriche ; 1830-1916)" source="BnF_catalogue_général" authfilenumber="ark:/12148/cb12239721g">François-Joseph I (empereur d'Autriche ; 1830-1916)</persname></controlaccess>
Normalisation des valeurs indexées
Les éléments qui comportent un attribut NORMAL (<corpname>, <date>, <famname>, <function>, <genreform>, <geogname>, <name>, <occupation>, <persname>, <subject>, <title>, <unitdate>) permettent de dissocier la forme affichée et la forme normalisée qui sert à alimenter les index informatiques.
Afin d'assurer la cohérence des index, il est primordial de remplir l'attribut NORMAL avec une valeur normalisée issue d'un référentiel clairement identifiable ou créée selon les normes. Il est donc recommandé, dans la mesure du possible, de s'appuyer sur les fichiers d'autorité disponibles dans la communauté des bibliothèques, qu'il s'agisse de fichiers gérés par l'établissement lui-même, ou de fichiers extérieurs (fichier d'autorité de la Bibliothèque nationale de France, du SUDOC, fichier national d'autorité-matière RAMEAU, etc.). Cette recommandation concerne tout particulièrement les noms de personnes <persname>, de collectivités <corpname>, de familles <famname>, de lieux <geogname>, les sujets <subject> et les noms non spécifiés <name>, et dans une moindre mesure les titres d'oeuvres <title>, lorsque ces titres sont contrôlés. Dans le cas de l'élément Genre et caractéristiques physiques <genreform>, on peut se contenter d'une simple liste fermée de valeurs autorisées, définie au sein de l'établissement ou du réseau.
Lorsqu'une valeur que l'on souhaite indexer n'est pas présente dans le fichier d'autorité auquel on fait habituellement appel, il faut toujours normaliser cette valeur selon les normes en usage dans les bibliothèques françaises (par exemple : NF Z 44-060 pour les noms de collectivités, NF Z 44-061 pour les noms de personnes et les titres).
Pour les éléments <date> et <unitdate>, il suffit de remplir l'attribut NORMAL avec des formes de dates normalisées selon la norme ISO 8601.
Lorsque l'attribut NORMAL est rempli au moyen d'une forme trouvée dans un référentiel, ce référentiel doit toujours être identifié au moyen de l'attribut SOURCE de l'élément d'indexation, et le numéro de la notice d'autorité concernée doit être indiqué dans l'attribut AUTHFILENUMBER. On peut s'appuyer sur ces attributs pour définir des spécifications informatiques permettant par exemple : de répercuter automatiquement dans les instruments de recherche les modifications apportées dans le fichier d'autorité ; d'enrichir les index au moyen des formes rejetées présentes dans les notices d'autorité ; d'établir des liens hypertextuels entre les instruments de recherche et le fichier d'autorité ; de remplir automatiquement un élément Biographie ou histoire <bioghist> avec les données présentes dans le fichier d'autorité ; de rendre les instruments de recherche accessibles aux applications du "web sémantique" par l'intermédiaire du fichier d'autorité, etc. (bien d'autres exploitations de ces données pourraient être envisagées).
Remarques
Utilisation de l'attribut ROLE
Les éléments d'indexation <corpname>, <famname>, <geogname>, <name>, <persname>, <title> possèdent un attribut ROLE. Pour les valeurs de cet attribut, il faut se référer à la liste fermée de valeurs en usage dans l'établissement ou le réseau auquel il participe, par exemple dans le CGM-CCFr et dans Calames on utilise des listes restreintes de codes de fonctions Unimarc, enrichies de valeurs textuelles pour certains codes absents de la liste Unimarc (par exemple : role="sujet") ; à la BnF, ce sont les codes de fonctions Intermarc qui sont utilisés.
Mécanismes d'héritage
La notion d'héritage des informations du niveau le plus élevé de la structure hiérarchique de la description vers le niveau le plus bas est une notion importante en archivistique, qui est affirmée dès le paragraphe 2.4 de la norme ISAD(G) [16] :
Non-répétition des informations. Au niveau adéquat le plus élevé, donner les informations communes aux différentes subdivisions. Ne pas répéter à un niveau inférieur l'information déjà présente au niveau supérieur.
DéMArch (§1.4) : "Dans une description à plusieurs niveaux, les informations fournies à chaque niveau hiérarchique concernent le niveau décrit et, par héritage, ses niveaux subordonnés. Le principe selon lequel une information doit être adaptée à son niveau de description implique que les informations communes aux composants doivent être données au plus haut niveau approprié — sans les répéter aux niveaux inférieurs — et que, à l’inverse, une information relative à l’un des composants doit être donnée uniquement au niveau de ce composant et non au niveau supérieur."
La DTD EAD est donc conçue pour permettre d'appliquer ce principe d'héritage. En conséquence, le catalogueur doit garder présent à l'esprit que toute l'indexation qu'il établit à un niveau donné de l'instrument de recherche se répercute par héritage sur l'ensemble des niveaux subordonnés. Cf. fiche Surbalisage [17].
XPath est le langage utilisé pour localiser, à l'intérieur de l'arbre ordonné que constitue un document XML, une ou plusieurs portions de ce document.
Une expression XPath est un chemin de localisation, semblable au chemin utilisé dans un système de fichiers, et représente une hiérarchie de noeuds XML. Ce chemin de localisation est constitué de pas de localisation, séparés par une barre oblique. Les expressions XPath utilisent la syntaxe suivante :
axe::test-noeuds[prédicat], où
Par défaut, lorsqu'aucun axe n'est précisé, c'est l'axe des enfants (child::) qui est implicitement sélectionné.
XPath utilise un certain nombre d'abréviations :
/ | Noeud document |
/* | Elément racine |
.. | Remonte au noeud parent |
. | Noeud courant |
* | Tout noeud élément |
@ | Noeud attribut |
@* | Tout noeud attribut |
//elem | Tous les noeuds éléments appelés elem dans le document |
XPath offre également un certain nombre de fonctions destinées à être utilisées dans les prédicats, pour effectuer des filtres précis. Les fonctions s'appliquant aux chaînes de caractères les plus susceptibles d'être utilisées dans le cadre d'un instrument de recherche en EAD sont :
Pour une description plus complète de XPath, se référer à :
Utilisation dans le cadre de l'EAD
Les éditeurs XML actuels comportent tous une fonctionnalité XPath qui permet de faire des requêtes simples et rapides au sein d'un fichier XML. Appliqué à un document EAD, XPath permet par exemple de repérer aisément toutes les mentions d'ancien possesseur, toutes les descriptions de reliures, tous les documents d'une certaine date ou période ou bien encore tous les accès contrôlés de type auteur-titre. Grâce à la notion de noeud courant, XPath permet également de restreindre aisément la recherche à une partie de l'instrument de recherche.
Exemples :
La fonctionnalité XPath varie selon les éditeurs, mais elle permet généralement de naviguer dans la liste des résultats, de repérer l'information souhaitée, et en cliquant dessus de se retrouver positionné immédiatement à l'endroit correspondant au sein du fichier XML. Ceci est particulièrement utile pour procéder à des vérifications ou corrections de données répétitives (recotation, modification d'un élément en fonction de son contenu, etc.).
Exemple d'utilisation dans l'éditeur <oXygen/>.
XSLT est un langage XML utilisé dans la transformation de documents XML. En particulier, XSLT sert à transformer les données d'un fichier XML en un autre fichier XML conforme à une DTD ou un schéma différents de celui de l'original, ou bien en un fichier non-XML (par exemple, HTML ou plein texte).
Pour la sélection des données XML, XSLT utilise les chemins XPath.
XSLT possède son propre vocabulaire d'éléments, qui correspondent pour la plupart à un ensemble de fonctions de manipulation.
Appliqué à un document EAD, XSLT permet par exemple, à partir d'un instrument de recherche décrivant l'ensemble des collections d'un établissement, de créer un fichier à utiliser pour un récolement, grâce à une transformation qui ne conservera que les informations importantes dans ce cadre-là :
Le document cible peut être un fichier HTML, un document csv, etc.
Par ailleurs, il est également possible d'appliquer en une seune opération une transformation ou extraction à un ensemble de fichiers, par exemple à plusieurs inventaires de fonds similaires, ou à plusieurs fichiers provenant de la rétroconversion du Catalogue général des manuscrits des bibliothèques publiques de France.
Pour une description plus complète de XSLT, se référer à :
XSL-FO est un langage XML qui permet de formater l'affichage et/ou l'impression d'un document XML. Il remplit un rôle similaire aux feuilles de style CSS, en y apportant des éléments supplémentaires de structuration.
Un fichier EAD peut être rendu en XSL-FO grâce à une transformation XSLT, en vue d'une publication au format PDF ou imprimé. Toutefois, des solutions plus légères et plus simples à mettre en oeuvre (transformation en XHTML et ajout de CSS et de scripts) sont bien souvent préférées.
XQUERY est un langage de requêtage qui permet d'extraire des données au sein d'un document XML ou d'un ensemble de documents XML, mais également d'effectuer des calculs sur ces données.
Les données EAD comportant peu d'éléments susceptibles d'être calculés, ce langage trouve surtout une utilité dans les très grands établissements détenteurs de plusieurs centaines ou milliers d'instruments de recherche en XML. Dans le travail courant, le catalogueur n'a guère besoin d'aller au-delà d'une connaissance de XPath.
Sont déconseillés les éléments suivants :
Eléments de liens
Arc <arc> [28] et Ressource <resource> [29]
Groupe de pointeurs <ptrgrp> [30], Localisation de pointeurs <ptrloc> [31], Localisation de référence <refloc> [32] et Localisation de pointeur externe <extptrloc> [33]
Voir Eléments de liens [35].
Groupe de descriptions archivistiques <archdescgrp> [36], Description d’un groupe de sous-composants <dscgrp> [37] et Groupe d’instances EAD <eadgrp> [38]
Composants de niveau 1, 2, 3 etc. (<c01> [39], <c02> [40], <c03> [41], <c04> [42], <c05> [43], <c06> [44], <c07> [45], <c08> [46], <c09> [47], <c10> [48], <c11> [49], <c12> [50])
Eléments de listes spécifiques
Liste chronologique <chronlist> [51], Elément d'une liste chronologique <chronitem> [52], Evénement <event> [53], Groupe d'événements <eventgrp> [54], Elément d'une liste de définitions <defitem>, Premier en-tête <head01> [55], Second en-tête <head02> [56] et En-tête de liste <listhead> [57]
Voir aussi l'élément <list> [58].
Groupe d’éléments de description <descgrp> [59]
Index <index> [60], Entrée d'index <indexentry> [61] et Groupe de noms <namegrp> [62]
Voir la fiche technique Indexation [63].
Statut juridique <legalstatus> [64]
Voir l'élement <accessrestrict> [65].
Eléments de tableaux : les éléments Tableau <table> [69], Corps de tableau <tbody> [70], Groupe d'éléments de tableau <tgroup> [71], En-tête de ligne ou de colonne <thead> [72], Ligne de tableau <row> [73], Spécification de colonne de tableau <colspec> [74] et Entrée de tableau <entry> [75] servent uniquement à structurer un affichage en tableau.
Page de titre <titlepage> [76]
Élément inclus dans l'élément Préliminaires <frontmatter>, qui regroupe des informations bibliographiques concernant un instrument de recherche, notamment son nom, son auteur et autres aspects de sa rédaction et de sa publication, pour en donner une présentation sur le modèle d'une page de titre imprimée. Cet élément reprend la plupart des informations présentes dans l'élément Description du fichier <filedesc>.
Ont participé aux travaux d'élaboration du Guide des bonnes pratiques de l'EAD en bibliothèque :
Liens
[1] http://www.w3.org
[2] http://www.bonnespratiques-ead.net/guide/annexes/FT-indexation
[3] http://bonnespratiques-ead.net/sites/default/files/xml_-_elements_de_base.pdf
[4] http://moodle.abes.fr/mod/resource/view.php?id=929
[5] http://catalogue.bnf.fr/ark:/12148/cb15323040r/
[6] http://catalogue.bnf.fr/ark:/12148/cb11907966z/
[7] http://catalogue.bnf.fr/ark:/12148/cb13516296h
[8] http://www.bonnespratiques-ead.net/guide/annexes/FT-affichage
[9] http://www.leflaneur.fr/gbpead2019/../../guide/indexation
[10] http://www.leflaneur.fr/gbpead2019/../../guide/annexes/elements-deconseilles
[11] http://www.leflaneur.fr/gbpead2019/../../guide/organisation-description/c
[12] http://www.leflaneur.fr/gbpead2019/../../guide/annexes/FT-liens-et-ID/liens-internes
[13] http://www.bonnespratiques-ead.net/guide/indexation
[14] http://www.leflaneur.fr/gbpead2019/../../guide/indexation/persname
[15] http://www.leflaneur.fr/gbpead2019/../../guide/indexation/title
[16] http://www.bonnespratiques-ead.net/node/147
[17] http://www.bonnespratiques-ead.net/guide/annexes/FT-surbalisage
[18] http://moodle.abes.fr/mod/resource/view.php?id=930
[19] https://www.w3schools.com/xml/xpath_intro.asp
[20] http://www.bonnespratiques-ead.net/sites/default/files/XPath-unitdate.jpg
[21] http://www.bonnespratiques-ead.net/sites/default/files/Xpath_0.jpg
[22] http://moodle.abes.fr/mod/resource/view.php?id=932
[23] https://www.w3schools.com/xml/xsl_intro.asp
[24] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/abstract.pdf
[25] http://www.leflaneur.fr/gbpead2019/../../guide/contexte/bioghist
[26] http://www.leflaneur.fr/gbpead2019/../../guide/communication-utilisation/acquisition_evaluation/modalitees_entree
[27] http://www.leflaneur.fr/gbpead2019/../../node/134
[28] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/arc.pdf
[29] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/resource.pdf
[30] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/ptrgrp.pdf
[31] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/ptrloc.pdf
[32] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/refloc.pdf
[33] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/extptrloc.pdf
[34] http://www.leflaneur.fr/gbpead2019/../../guide/annexes/FT-liens-et-ID/liens-externes
[35] http://www.leflaneur.fr/gbpead2019/../../guide/annexes/FT-liens-et-ID
[36] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/archdescgrp.pdf
[37] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/dscgrp.pdf
[38] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/eadgrp.pdf
[39] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c01.pdf
[40] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c02.pdf
[41] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c03.pdf
[42] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c04.pdf
[43] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c05.pdf
[44] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c06.pdf
[45] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c07.pdf
[46] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c08.pdf
[47] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c09.pdf
[48] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c10.pdf
[49] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c11.pdf
[50] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/c12.pdf
[51] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/chronlist.pdf
[52] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/chronitem.pdf
[53] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/event.pdf
[54] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/eventgrp.pdf
[55] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/head01.pdf
[56] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/head02.pdf
[57] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/listhead.pdf
[58] http://www.leflaneur.fr/gbpead2019/../elements-generiques/list
[59] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/descgrp.pdf
[60] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/index.pdf
[61] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/indexentry.pdf
[62] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/namegrp.pdf
[63] http://www.leflaneur.fr/gbpead2019/FT-indexation
[64] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/legalstatus.pdf
[65] http://www.leflaneur.fr/gbpead2019/../../guide/communication-utilisation/communication/reserves
[66] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/runner.pdf
[67] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/subarea.pdf
[68] http://www.leflaneur.fr/gbpead2019/../../guide/indexation/corpname
[69] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/table.pdf
[70] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/tbody.pdf
[71] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/tgroup.pdf
[72] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/thead.pdf
[73] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/row.pdf
[74] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/colspec.pdf
[75] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/entry.pdf
[76] http://www.leflaneur.fr/gbpead2019/../../sites/default/files/taglibrary/titlepage.pdf
[77] http://www.leflaneur.fr/gbpead2019/../../guide/metadonnees/eadheader/filedesc