Getting Started with XML

a manual and notebook

par Nicolas Morin

Eric Lease Morgan

http://infomotions.com/musings/getting-started/ (page visitée le 2 décembre 2003) 1

Getting Started with XML, c’est un site web et un document PDF, c’est aussi un ensemble de programmes et d’exercices pratiques pour créer et manipuler des documents XML, tirés d’une formation sur XML à destination de bibliothécaires n’ayant pas de connaissance préalable sur le sujet.

L’auteur est connu et reconnu parmi les bibliothécaires américains. Responsable des ressources électroniques et de l’informatique à la bibliothèque de l’université Notre-Dame (Indiana), il a été nommé en 2002 par le Library Journal parmi les « movers and shakers » des bibliothèques américaines ; il est également responsable du logiciel de portail documentaire MyLibrary, développé en logiciel libre.

Getting Started with XML est organisé en deux parties nettement délimitées, l’une sur XML en général, l’autre sur un groupe de DTD (Document Type Definitions) particulières ; chaque partie contient cinq exercices pratiques permettant à l’apprenant d’appliquer ce qu’il vient d’apprendre : c’est aussi pourquoi, indépendamment du sujet, cet ouvrage se lit mieux devant un PC que dans son lit.

Qu’est-ce que XML ?

Qu’est-ce que XML ? Une sorte de fichier texte dopé aux amphétamines. C’est-à-dire un document qui a les avantages d’un fichier texte : facile à manipuler, à importer dans divers types de logiciel (une base de données, un traitement de texte, un tableur), indépendant des systèmes des exploitations. Sans avoir l’inconvénient du manque de structure des fichiers texte, où les données ne sont ni explicites ni hiérarchisées. « Amanda 10 dog brown » et « Stop 5 pig brown » sont deux séries de valeurs dont le rapport est beaucoup plus ambigu que la relation entre :

<pet>

-----<name>Amanda</name>

-----<age>10</age>

-----<type>dog</type>

-----<color>brown</color>

</pet>

et

<pet>

-----<name>Stop</name>

-----<age>5</age>

-----<type>pig</type>

-----<color>brown</color>

</pet>

où nous (l’homme et l’ordinateur) voyons qu’il s’agit dans les deux cas d’animaux, qui ont un nom, un âge, une espèce et une couleur. Vous avez votre premier fichier XML. Pourquoi est-ce important pour nous, bibliothécaires ? Parce que cela permet d’échanger de multiples façons des données dotées de sens entre ordinateurs et entre logiciels.

La syntaxe et la sémantique de XML

Eric Morgan nous explique d’abord la syntaxe (pensons orthographe) de XML en six règles de base.

XML a aussi une sémantique : c’est la grammaire qui organise la hiérarchie et les rapports des éléments entre eux ; c’est grâce à elle que nous savons que l’élément <pet> est « supérieur » à l’élément <name> et qu’il le contient.

Eric Morgan nous explique ensuite comment on peut afficher un fichier XML sur le web en utilisant une feuille de style CSS « classique », de celles qu’on utilise pour une page HTML. Plus intéressant, il montre l’usage qu’on peut faire des feuilles de style XML (XSLT) pour traiter un document XML. XSLT est un authentique langage de programmation qui permet de tirer bien des choses d’un fichier XML : un fichier HTML bien sûr, mais encore un fichier PDF, un autre fichier XML, ou même une requête SQL. XSLT est même capable de réaliser des opérations sur vos fichiers XML : par exemple de prendre l’ensemble de votre animalerie, compter le nombre total d’animaux, leur âge moyen, les trier par espèce et par âge, et d’afficher le résultat dans un tableau au sein d’une page HTML. Ça semble complexe ? Ne vous inquiétez pas, Eric Morgan vous emmène pas à pas au résultat.

Les DTD

Bref, nous connaissons le principe de base de XML, sa syntaxe et sa sémantique, nous savons le manipuler de façon simple (CSS) ou de façon complexe (XSLT) : reste à comprendre, toujours dans les généralités, ce que sont les DTD qui lui sont associées.

La DTD incarne la grammaire propre d’un document : elle définit la liste des éléments que comprendra votre document XML et explicite les rapports entre les éléments qui le constituent. Pour notre animalerie, la DTD pourrait ressembler à cela :

<!DOCTYPE pets [

<!ELEMENT pets (pet+)>

<!ELEMENT pet (name, age, type, color)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT age (#PCDATA)>

<!ELEMENT type (#PCDATA)>

<!ELEMENT color (#PCDATA)>

]>

L’élément racine est pets, qui contient un seul sous-élément (pet), qui doit être présent au moins une fois (+) et qui lui-même contient quatre sous-éléments (name, age, type, color), qui sont tous des éléments textes (#PCDATA).

C’est dans les DTD que réside en partie l’intérêt de XML : vous pouvez créer la vôtre, ce que nous venons de faire ici, mais vous pouvez surtout utiliser une DTD déjà existante, qui reflète les besoins documentaires de votre communauté, et vous permettra de partager vos contenus numériques avec les autres membres de cette communauté. D’où l’importance de la seconde partie de l’ouvrage d’Eric Morgan, qui présente quelques DTD utiles au monde de la documentation : XHTML, TEI, EAD, CIMI, DocBook, RDF et OAI.

Open Archive Initiative (OAI) est un protocole qui permet de partager des métadonnées résidant dans des bases de données accessibles par le web. OAI articule deux entités : un « fournisseur de données » ou « repository », qui propose une collection numérique et décrit sa collection grâce à un ensemble de métadonnées ; un « fournisseur de services » qui va récolter les informations rendues disponibles par un ensemble de fournisseurs de données pour les rassembler en un nouveau service, par exemple une base de données bibliographique. OAI propose un ensemble de « verbes » (pensons commandes) qui permettent d’interroger le fournisseur de données, pour lui demander : s’il est un fournisseur OAI, quels formats de métadonnées il accepte, quels types de ressources il propose, etc.

OAI est une DTD extrêmement importante pour les bibliothèques, qui peuvent être souvent des fournisseurs de données : OAI peut nous permettre de mettre en ligne les ressources numériques que nous produisons (par exemple une revue universitaire ou une thèse) dans un format normalisé et facilement exploitable par la communauté documentaire internationale pour la recherche et pour l’accès au plein texte.

L’ouvrage d’Eric Morgan est intéressant à plus d’un titre : il permet à un non-informaticien de se faire une idée très concrète du fonctionnement et des implications de XML pour les bibliothèques ; il montre aussi implicitement qu’Internet et en l’occurrence XML amènent les bibliothèques à s’insérer dans un espace documentaire plus vaste qu’auparavant. Elles y côtoient les éditeurs, les musées, les archives, les fournisseurs de services, qui définissent les normes tout autant sinon plus qu’elles.

Les limites de l’ouvrage d’Eric Morgan sont ses avantages : il est très pratique, mais ce n’est qu’une brève introduction, qui vous met le pied à l’étrier, mais qui n’est pas suffisante pour vous permettre de concrètement prendre des décisions concernant XML dans votre établissement. Un ouvrage pour démarrer.