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.

Table des matières

1. Introduction
2. XML "données" et champs MARC
3. XML "expressif" et BiblioML
4. Inclusions et Exports
4.1. Dublin Core
4.2. TEI, bibliographie
4.3. Docbook, <biblioentry/>
5. Conclusion
bibliographie et XML, quelques ressources Internet.

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

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é

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.

Exemple 3. Un enregistrement MARC en XML

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).

Exemple 4. Un enregistrement MODS

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

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 ).

Exemple 6. Un enregistrement en Dublin Core

[oaiLes 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.

Exemple 7. Une bibliographie en TEI

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.

Exemple 8. Une bibliographie Docbook

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/> .
Xalan - XSLT Processor. <http://xml.apache.org/xalan-j/> .
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 +).
[faq] XSLT - Foire aux questions. <http://www.dpawson.co.uk/xsl/xslfaq.html> .
XSLT - Tutorial. <http://www.w3schools.com/xsl/> .
[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.
[unicode-ms] Microsoft et unicode. <http://msdn.microsoft.com/library/en-us/intl/unicode_45mb.asp> . <http://www.microsoft.com/typography/property/property.htm> . Quelques ressources du géant mondial.

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.

LOC - Bibliothèque du Congrès

[marc21] MARC 21. <http://www.loc.gov/marc/> .
[marcxml] marc XML. <http://www.loc.gov/standards/marcxml/> . Schémas et outils de conversion depuis MARC21 vers XML.
[mods] MODS - Metadata Object Description Schema. <http://www.loc.gov/standards/mods/> . Schéma XML pour une représentation de MARC 21.

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.