03/02/2004 -
19/02/2003 -
Frédéric Glorieux Bibliographie et XML
Résumé
La bibliographie est un domaine très "balisé" dans l'informatique
documentaire. Comparativement à d'autres milieux, les bibliothèques ont
rapidement implanté des formats et des systèmes informatiques de cataloguage.
Les normes "MARC" ont permis de répondre à des besoins que d'autres formats
(exemple: SQL) ne représentaient pas aussi bien. XML permet de représenter
correctement des informations codées en MARC, ainsi que d'autres (exemple: les
contenus mixtes), ouvrant de nouvelles perspectives.
1) Introduction
Afin de présenter l'apport de XML à la bibliographie, nous allons
simplement suivre le processus des transformations possibles depuis un
enregistrement MARC, jusqu'à son export dans d'autres formats XML. Cet axe
permet de rencontrer des DTDs, des outils, et en particulier
[biblioml], comme possible référence bibliographique, dans un
système d'information plus large.
2) XML "données" et champs MARC
MARC est un format "champs" (champ-valeur répétable), adaptable à de
nombreux objets (bibliographie, autorités, classification, archivistique ...).
Il s'agit d'abord d'un fichier texte, en ASCII, ce qui ne va pas sans poser des
problèmes d'encodage des caractères spéciaux, ou simplement des langues autres
qu'anglo-saxonnes. Datant d'une informatique où calcul et mémoire coûtaient
cher, la syntaxe originale fonctionne avec des tables de pointeurs évitant de
parcourir la totalité du fichier pour accéder au dernier champ. Ceci aboutit à
l'exemple de fichier suivant.
Exemple 1. Un enregistrement MARC brut
01142cam 2200301 a
45000010013000000030004000130050017000170080041000340100017000750200025
00092040001800117042000900135050002600144082001600170100003200186245008
6002182500012003042600052003163000049003685000040004175200228004576500
03300685650003300718650002400751650002100775650002300796700002100819? 92005291
?DLC?19930521155141.9?920219s1993 caua j 000 0 eng ? ?a 92005291 ? ?a0152038655
:?c$15.95? ?aDLC?cDLC?dDLC? ?alcac?00?aPS3537.A618?bA88 1993?00?a811/.52?220?1
?aSandburg, Carl,?d1878-1967.?10?aArithmetic /?cCarl Sandburg ; illustrated as
an anamorphic adventure by Ted Rand.? ?a1st ed.? ?aSan Diego :?bHarcourt Brace
Jovanovich,?cc1993.? ?a1 v. (unpaged) :?bill. (some col.) ;?c26 cm.? ?aOne
Mylar sheet included in pocket.? ?aA poem about numbers and their
characteristics. Features anamorphic, or distorted, drawings which can be
restored to normal by viewing from a particular angle or by viewing the image's
reflection in the provided Mylar cone.? 0?aArithmetic?xJuvenile poetry.?
0?aChildren's poetry, American.? 1?aArithmetic?xPoetry.? 1?aAmerican poetry.?
1?aVisual perception.?1 ?aRand, Ted,?eill.??
Toutefois, l'utilisateur a généralement affaire à des applications
qui se chargent d'encoder les informations les plus mécaniques et de présenter
plus humainement la liste des champs.
Exemple 2. Un enregistrement MARC présenté
000 01142cam 2200301 a 4500 001 92005291 003 DLC 005
19930521155141.9 008 920219s1993 caua j 000 0 eng 010 |a 92005291 020
|a0152038655 :|c$15.95 040 |aDLC|cDLC|dDLC 042 |alcac 050 00|aPS3537.A618|bA88
1993 082 00|a811/.52|220 100 1 |aSandburg, Carl,|d1878-1967. 245 10|aArithmetic
/|cCarl Sandburg ; illustrated as an anamorphic adventure by Ted Rand. 250
|a1st ed. 260 |aSan Diego :|bHarcourt Brace Jovanovich,|cc1993. 300 |a1 v.
(unpaged) :|bill. (some col.) ;|c26 cm. 500 |aOne Mylar sheet included in
pocket. 520 |aA poem about numbers and their characteristics. Features
anamorphic, or distorted, drawings which can be restored to normal by viewing
from a particular angle or by viewing the image's reflection in the provided
Mylar cone. 650 0|aArithmetic|xJuvenile poetry. 650 0|aChildren's poetry,
American. 650 1|aArithmetic|xPoetry. 650 1|aAmerican poetry. 650 1|aVisual
perception. 700 1 |aRand, Ted,|eill.
Il existe plusieurs formats XML, plusieurs DTDs, pour représenter la
suite des champs et sous-champs de MARC[marcxml]. Il s'agit
souvent d'un format de transfert qui n'est pas édité mais utilisé pour d'autres
transformations. Il est totalement convertible dans les deux sens.
L'apport d'XML est encore faible, mais déjà, on constate que les
pointeurs ne sont plus nécessaires (la puissance des ordinateurs s'est accrue).
De plus, un fichier XML est par défaut en Unicode, ce qui règle définitivement
les incompatibilités d'encodage entre les divers MARC (pourvu que le transfert
en XML se soit correctement effectué). Enfin, il s'agit d'un standard diffusé,
disposant de nombreux outils libres ou gratuits XML - quelques ressources générales.
3) XML "expressif" et BiblioML
L'expressivité d'XML peut être menée plus loin. On peut ainsi tirer
parti de l'imbrication des éléments pour regrouper des informations et les
nommer plus explicitement. Si le champ 200 est le titre, et qu'il y a un
sous-champ pour les sous-titres ($e), il n'est pas désagréable de pouvoir
l'indiquer expressément, exemple en "pseudo-code"
<enregistrement>
<titres>
<titre>La Grande Peur</titre>
<sous-titre>Panique rurale dans la France révolutionnaire</sous-titre>
</titres>
<auteurs>
<auteur>Georges Lefebvre</auteur>
</auteurs>
</enregistrement> Le "Metadata Object Description Schema" [mods] est
un exemple de représentation plus expressive d'un enregistrement MARC. Proposé
par la Bibliothèque du Congrès, ce format suit surtout "MARC21" (ou USMARC).
BiblioML répond au même besoin que MODS, et bien que les noms
d'éléments soient en langue internationale, c'est une conception francophone,
basée sur UNIMARC. On y retrouve les regroupements propres à cette réflexion
bibliographique [unimarc], telles les divisions :
Identification
Description
Notes
Sujets
Relations
...
Exemple 5. Un enregistrement BiblioML
<!-- cliquez pour découvrir -->
<BiblioRecord Language="|b" id="UNI0000072">
<Meta>
<CreationDate Value="20020221"/>
<TransactionDate Value=""/>
<Status Value="c"/>
<RecordType Value="a"/>
<BibliographicLevel Value="m"/>
<Completeness Value="0"/>
<Transliteration Value=""/>
</Meta>
<CodedValues>
<cdMonographic Illustration="abf" FormOfContents="b" Conference="0" Festschrift="0" Index="1" Literature="y"/>
</CodedValues>
<Notes>
<Note Type="General">Quelques passages en latin.</Note>
<Note Type="InternalBibliographies">Bibliogr. p. 541-546. Index.</Note>
</Notes>
<Text>
<div type="notice">
<p>Le département est essentiellement occupé par deux peuples belges : les Morins et les Atrébates (mais le sud de la <emph rend="italic">Canche</emph> doit être en territoire ambien).
</p>
<p>La <emph rend="bold">synthèse</emph> (23 p.) fait le point sur les connaissances du département : l’apport des prospections archéologiques, celui des âges du Fer par G. Leman-Delerive, l’époque romaine par R. Delmaire, la période mérovingienne avec Cl. Seillier.
</p>
<p>Le <emph rend="bold">pré-inventaire</emph> (en 2 volumes : 62/1 et 62/2) des 896 communes (classées par canton) est conduit avec la plus extrême rigueur par Roland Delmaire. Les informations sont vérifiées.
Des monographies sont faites pour les villes :</p>
<list>
<item> pour Arras (capitale des Atrébates) par Alain Jacques (42 p.)</item>
<item>pour Thérouanne (15 p.), pour Etaples (20 p.) par Roland Delmaire</item>
<item>pour Boulogne-sur-Mer avec le port et le camp de la flotte, par Cl. Seillier (90 p.).</item>
</list>
<p>
Les index permettent de retrouver les informations.
</p>
</div>
</Text>
</BiblioRecord> On remarque que la souplesse du format permet d'ajouter bien
d'autres informations, comme des index, des tables des matières, des
illustrations, et surtout, ce qui est très particulier à XML, du texte riche.
La DTD BiblioML prévoit ainsi des noms permettant qu'une notice devienne un
document avec plus de contenu. Des applications fondées uniquement sur de
telles notices peuvent en tirer parti :
NordNum,
Catalogue
Archéologique de la Gaule.
Compatibilités. Dans une conversion Unimarc vers BiblioML, la plupart des champs
documentés trouve une place en XML. Pour des usages spécifiques à une
organisation, les outils livrés peuvent être édités (XSL) pour rendre raison à
des besoins qui n'auraient pas été prévus. Par contre, une fois passés en
BiblioML, surtout si les contenus ont été enrichis, un retour en MARC pourrait
perdre une partie de l'information.
Outils. Autour de BiBlioML, on trouvera des outils libres habituels :
conversion depuis l'UNIMARC, transformation de restitution. Il faut faire une
mention particulière à BiB-X, une application libre qui administre, cherche et
produit des notices. On notera la possibilité de pouvoir définir ses propres
formulaires de saisie (selon le type de documents), dans un standard XML
[xform].
4) Inclusions et Exports
BiblioML devient un format source susceptible d'être inclus ou
transformé à destination d'autres documents XML.
Un schéma peut par exemple prévoir que les références
bibliographiques soient directement des
<bibliorecord/> BiblioML (ce qui évite toutes pertes).
Cependant, pour d'autres contextes, la totalité des informations du
format d'archivage ne sont pas toujours indispensables (exemples : date
d'enregistrement, référence à une notice d'autorité spécifique à un système).
Il est alors plus important que la source soit conforme à l'espace de noms de
destination. Ceci permettra une courte revue d'autres standards XML de la
bibliographie, permettant de mieux définir la spécificité d'un format complet
de catalogage.
Lorsqu'un système bibliographique est utilisé par des auteurs (en
XML), on comprend dès lors le gros intérêt d'ajouter cette sorte d'exports. Un
chercheur pourra par exemple composer sa bibliographie sur le catalogue d'une
bibliothèque, et obtenir son panier dans le format qui lui est directement
utile (sans avoir à réécrire chaque ressource). On peut aussi envisager que le
travail de dépouillement nécessaire à la rédaction d'un travail scientifique
puisse aussi alimenter un système de références.
4.1) Dublin Core
[dc] Les éléments Dublin Core se limitent à un jeu d'une quinzaine de
noms librement combinables et qualifiables. Ce vocabulaire standard s'avère
très expressif en format XML, d'autant plus s'il est contraint par des règles
(ordre et obligation d'éléments, ponctuation du texte, thésaurus, combinaison
avec d'autres schémas ...). Il a été adopté par la plupart des grandes
bibliothèques comme format de destination (généralement après conversion depuis
du MARC). Toutefois, il peut aussi être un format source suffisant pour de
nombreux autres objectifs (qualifier un document, un lien ).
[oai] Les exports Dublin Core sont destinés à être de plus en plus
courants, surtout quand le protocole OAI s'imposera. Ceci peut rapidement
justifier qu'un système MARC dispose d'une chaîne de transformation vers
XML.
4.2) TEI, bibliographie
Le modèle bibliographique de TEI est à la fois souple et complet.
Il peut ne pas suffire à un système de catalogage complet. Il a l'intéressante
particularité de pouvoir être utilisé à l'identique en référence ou en
citation.
4.3) Docbook, <biblioentry/>
Le modèle bibliographique Docbook utilise des modules déjà
existants dans cette DTD très complète, comme les noms, dates, adresses ou le
texte riche. On retrouve le style propre à ce jeu de noms ; essayer que les
éléments signifient simplement ce qu'ils sont, ce qui produit un XML
spécialement facile à lire.
5) Conclusion
En conclusion, on peut isoler les points suivants :
La technologie MARC a donné les moyens de formuler très
précisément les besoins bibliographiques. Cependant, le format impose des
raideurs qui ne sont plus nécessaires et qui cantonnent son utilisation à des
applications spécifiques et généralement commerciales. XML permet un décalque
sans perte des informations et aussi de profiter des outils propres à cette
technologie.
Une DTD comme BiblioML permet de garder la richesse des
catalogues, en pouvant y ajouter facilement d'autres informations, comme la
table des matières, un résumé, un index, une illustration. Fonder un système
bibliographique sur ce type de format peut par exemple agrémenter les
catalogues pour donner un accès plus agréable au public.
Enfin, l'adoption d'un format XML expressif apporte une
souplesse à l'information, qui lui permet plus facilement d'être servie à des
machines (DC, OAI) ou d'être utilisée par des auteurs.
bibliographie et XML, quelques ressources Internet.
XML - quelques ressources générales
[w3c]
World Wide Web Consortium.
<
http://www.w3.org/>
.
Le W3C est un consortium réunissant de nombreux acteurs de
l'informatique (universités, logiciel libre, compagnies commerciales), afin de
définir des standards communs. HTML est sa réussite la plus visble, c'est par
cette norme qu'Internet a pu diffuser tant de documents.[xml-rec]
XML La recommandation W3C
.
<
http://www.w3.org/TR/2000/REC-xml-20001006>
.
[xml-tei]
TEI - A Gentle Introduction to XML.
<
http://www.tei-c.org/P4X/SG.html>
.
[xml-docbook]
Docbook - Getting Started with SGML/XML.
<
http://www.docbook.org/tdg/en/html/ch01.html>
.
XSL - W3C.
<
http://www.w3.org/Style/XSL/>
.
<
http://www.w3.org/TR/xslt>
.
<
http://www.w3.org/TR/xpath>
.
Le W3C a la charge du standard XSL qu'il publie et renouvelle
(au même titre qu'HTML ou PNG). La norme distingue XSLT (langage de
transformation), XPath (la syntaxe de requête XML), et FO ("Formatting
Object"). Il faut essentiellement retenir qu'XSL est une norme très attachée à
XML, une sorte de boîte à outils de conversions multiples et polymorphes.
Saxon - The XSLT Processor.
<
http://saxon.sourceforge.net/>
.
Mozilla - XSLT.
<
http://www.mozilla.org/projects/xslt/>
.
Le navigateur Mozilla se propose de supporter pleinement la
recommandation XSLT (regrettons cependant de graves problèmes de
performances). Internet Explorer - XSLT Processor.
<
http://msdn.microsoft.com/library/en-us/xmlsdk/htm/sdk_intro_6g53.asp>
.
Le navigateur Internet Explorer depuis sa version 6 supporte
nativement XML et les transformations XSL. Il est cependant conseillé de mettre
à jour le greffon (MSXML 4.0 ou +). [xform]
XForms - W3C.
<
http://www.w3.org/MarkUp/Forms/>
.
XForms est une norme XML permettant de décrire les contrôles
d'un formulaire, afin que les données saisies par l'utilisateur deviennent un
document XML. Elle vise à remplacer les éléments HTML tels que <form/>,
<input/>; et peut s'intègrer à XHTML ou autres schémas pour définir la
présentation visuelle des contrôles (blocs, tables ...).Unicode
[unicode-ref]
Unicode - spécification.
<
http://www.unicode.org/>
.
Le site Web du consortium Unicode, avec les tables de
caractères et beaucoup d'informations techniques sur la norme. [bottin]
Unicode, démonstration en
français .
<
http://www.culture.gouv.fr/edm/>
.
Un site Web en français,
Écritures du
monde, réalisé par Michel Bottin et ses collaborateurs au ministère de
la culture. Ce site présente les différentes systèmes d'écriture dans le monde
et constitue un bel exemple de l'utilisation d'Unicode sur le Web.[woods]
Alan Wood's Unicode Resources.
<
http://www.alanwood.net/unicode/>
.
Le site Alan Wood's Unicode Resources, en anglais, mais qui
constitue un inépuisable réservoir d'information à propos d'Unicode. Sont
particulièrement utiles les exemples de caractères, les informations sur le
support logiciel et sur les polices. BiblioML
[unimarc]
Unimarc.
<
http://www.ifla.org/VI/3/p1996-1/sec-uni.htm>
.
Depuis 1977, Unimarc se propose comme format d'échange entre
les différents standards MARC nationaux. [biblioml]
BiblioML.
<
http://www.biblioml.org/>
.
BiblioML est une DTD donnant place à tous les champs Unimarc
en XML. Depuis en 1999, elle est complétée par des éléments de texte riche,
d'index, et de table des matières.[bibx]
BiB-X.
<
http://www.biblioml.org/bibx/>
.
BiB-X est un outil de gestion de consultation de références
bibliographiques, basé sur le format XML BiblioML et sur l'application SDX 2.
Il s'agit d'un logiciel libre, distribué avec une licence GPL.Métadonnées
[dc]
Dublin Core Metadata Initiative.
<
http://dublincore.org/>
.
<
http://dublincore.org/documents/dcmi-terms/>
.
Le Dublin Core publie et enrichit une liste de noms pour
définir des métadonnées. La norme ne préjuge pas des technologies et peut tout
aussi bien à XML, HTML, SQL, ou autres formats.[oai]
The Open Archives Initiative Protocol for Metadata
Harvesting.
<
http://www.openarchives.org/OAI/2.0/openarchivesprotocol.htm>
.
Le protocole OAI se destine à normaliser l'interrogation et la
réponse d'un système d'informations documentaires, de manière à recueillir des
métadonnées sur les collections administrées par ces systèmes.TEI
[tei]
TEI - Text Encoding Initiative .
<
http://www.tei-c.org/>
.
La TEI ("Text Encoding Initiative", projet de balisage
textuel) est une des DTDs les plus anciennes. Elle s'applique d'abord à pouvoir
encoder logiquement (sans présager de la présentation), tout ce qui a pu être
écrit ou imprimé. Le modèle contient beaucoup d'éléments, il peut aussi être
utilisé dans une forme allégée, dite "TeiLite". [teilite-bib]
TEI Lite - 13. citations bibliographique.
<
http://www.tei-c.org/Lite/U5-bibls.html>
.
Le modèle bibliographique en encodage TEI Lite. [tei-bib]
TEI (complet) - 6.10 citations bibliographique.
<
http://www.tei-c.org/P4X/CO.html#COBI>
.
Le modèle bibliographique en encodage TEI. Docbook
[docbook]
Docbook - schéma généraliste.
<
http://docbook.org/>
.
Docbook est une référence incontournable de la production de
texte structuré (à distinguer de l'encodage a posteriori). Il fut d'abord conçu
comme un format de rencontre pour des projets documentaires ayant chacun leur
syntaxe (aéronautique, informatique...) ; ce qui explique la cohabitation de
structures concurrentes pour un même objet. La rédaction même de la DTD a donné
lieu à la réflexion la plus approfondie sur la paramétrabilité d'un schéma.
L'adaptation de cet imposant dictionnaire est ainsi encouragée, ce qui
n'empêche pas d'employer les nombreux outils libres associés. [biblioentry]
Docbook - element - biblioentry.
<
http://docbook.org/tdg/en/html/biblioentry.html>
.
Un conteneur d'enregistrement bibliographique en
docbook.