Introduction au langage XML

Analyse approfondie d'une notice documentaire

Aperçu général

Les notices documentaires et les items bibliographiques utilisent peu d'attributs. Aussi allons-nous proposer, pour travailler cette notion d'attribut, trois exemples qui seront des cas d'école référés à des situations locales.

ExempleExemple 1 : attribut caractérisant l'élément « titre »

Il existe deux sortes de publications : des publications individuelles et des publications en série. Dans ce dernier cas, il y a deux titres par volume :

– le titre de la série,

– le titre du volume.

On doit donc pouvoir distinguer les deux types de titres le cas échéant. Mais cette distinction n'est pas valable pour les volumes isolés. C'est donc une distinction facultative.

Il y a un autre cas où l'on peut être amené à caractériser un titre, c'est lorsqu'un titre est traduit.

titre sera un élément (une catégorie) et correspondra donc à une balise.

Imaginons l'information suivante :

<titre>Les blés poussent vite cette année</titre>.

Cette information est suffisante lorsqu'il s'agit d'un volume isolé mais elle devient lacunaire lorsqu'il s'agit d'une publication en série.

L'information manquante est donc une information qui ne correspond pas à une « information pleine » ; c'est une information sur une autre information, une « information secondaire ».

On traduira cette information « secondaire » à l'aide d'un attribut.

Prenons le cas où il y a série. On pourra avoir :

<titre type=‟générique”>Les cultures de nos jours</titre>

<titre type=‟particulier”>Les blés poussent vite cette année</titre>

Pourquoi procéder ainsi ?

Pourquoi l'attribut n'est-il indiqué que dans la balise ouvrante ?

FondamentalPourquoi procéder ainsi ?

Rappel.

<titre type=‟générique”>Les cultures de nos jours</titre>

<titre type=‟particulier”>Les blés poussent vite cette année</titre>

L'alternative serait :

<titre_generique>Les cultures de nos jours</titre_generique>

<titre_particulier>Les blés poussent vite cette année</titre_particulier>

Remarque. Dans le nom de balise, « générique » doit s'écrire « generique ». En revanche, la valeur de l'attribut « type » peut s'écrire « générique ».

Cette solution a un énorme inconvénient : elle masque une identité catégoriale entre les deux types de titres pour la remplacer par une distinction radicale. En revanche, le recours à un attribut, c'est-à-dire à une caractéristique (ou une propriété) de la balise <titre> permet de conserver l'identité catégoriale tout en assurant la distinction nécessaire.

FondamentalPourquoi l'attributn'est-il indiqué que dans la balise ouvrante ?

Une balise définit une catégorie d'information. Imaginons qu'il n'y ait qu'une balise ouvrante. On ne pourrait distinguer les deux séquences suivantes :

<A><B>xxxxxxxx</B><C>xxxxxxxx</C><D>xxxxxxxx</D></A>

<A><B>xxxxxxxx</B> <C>xxxxxxxx</C></A><D>xxxxxxxx</D>

puisqu'on aurait dans les deux cas :

<A><B>xxxxxxxx<C>xxxxxxxx<D>xxxxxxxx.

Il y aurait donc ambiguïté.

Il faut donc délimiter clairement le contenu (ou champ ou domaine ou scope) d'une balise en associant une balise fermante à toute balise ouvrante.

Mais la situation n'est pas la même pour un attribut : la balise fermante clôt la balise ouvrante mais aussi l'attribut qui lui est associé !

SyntaxeFormalisons un peu ce qui vient d'être dit

Dans le fichier XML, nous avons noté l'attribut dans la balise ouvrante de l'information « titre » et nous avons utilisé la procédure suivante :

<titre nom_de_l'attribut=‟valeur de l'attribut”>xxxxxxxxxx</titre>

Remarque. Le nom de l'attribut ne peut comporter de blancs. C'est pourquoi on a utilisé le soulignement (ou underscore) pour lier les mots qui les composent.

Comment noter le nom de l'attribut ? On veut indiquer qu'il s'agit d'un type de titres. Le nom de l'attribut sera donc « type » tout simplement.

Comment noter la valeur de l'attribut ? On a deux possibilités : générique (titre de la série), particulier (titre du volume). On choisira donc ces mots comme valeurs.

Ce qui donne : <titre type=‟générique”>xxxxx</titre> par exemple.

ExempleExemple 2 : attribut caractérisant l'élément « format »

Les livres sont composés de cahiers réunis pour former l'ouvrage.

Ces formats se déclinent selon le nombre de pliages fait à partir de la feuille initiale (qui est le format in-plano) :

– la feuille est pliée une fois → format in-folio

– la feuille est pliée deux fois → format in-cuarto (ou in-4°)

– la feuille est pliée trois fois → format in-octavo (ou in-8°)

– la feuille est pliée quatre fois → format in-seize (ou in-16).

Imaginons une bibliothèque fréquentée par des bibliophiles qui attachent beaucoup d'importance à la « valeur » d'un ouvrage.

Nous pourrons avoir une balise « format », exemples :

<format>in-cuarto</format> ou <format>in-4°</format>

On peut profiter de cette balise pour indiquer le mode d'assemblage des cahiers et le type de couverture corrélé (information qui se lie bien avec le type de format).

On a :

– relié (anglais hardback ou hardcover)

– broché (anglais paperback)

Rédaction de l'attribut.

Même si c'est le type d'assemblage que l'on vise, le type de couverture le traduit. On utilisera donc « couverture » comme nom d'attribut. Exemples :

<format couverture=‟relié”>in-4°</format>

<format couverture=‟broché”>in-16</format>

ExempleExemple 3 : attribut caractérisant l'élément « date »

Une bibliothèque d'art reçoit des ouvrages du monde entier. Mais ces ouvrages ne sont pas datés selon le même calendrier.

Aujourd'hui, le calendrier chrétien est très largement utilisé dans le monde. C'est pourquoi certains ont proposé de remplacer « ère chrétienne » par « l'ère courante » (« EC »).

Donnons quelques exemples de calendriers :

Calendrier

Année (référence octobre 2011 EC)

bouddhiste

2554

chinois

4709

chrétien

2011

hébraïque

5772

musulman

1432

date sera un élément et correspondra donc à une balise. Imaginons l'information suivante :

<date>2005</date>.

Si on se réfère aux calendriers qui précèdent, cette information est ambiguë. Il faudrait préciser « 2005 selon tel calendrier ».

Remarque. Le cas suivant : <date>2418</date> exclurait le calendrier chrétien.

Si l'on reprend l'exemple qui précède, et que l'on suppose que le calendrier de référence est le calendrier chinois, on pourrait avoir le balisage suivant :

<date><cal_chinois>2005</cal_chinois></date>

Il faudrait alors inclure dans la DTD :

<!ELEMENT date (cal_bouddhiste | cal_chinois | cal_chrétien | cal_hébraïque | cal_musulman)>

Cette notation serait un peu lourde. Nous allons proposer une autre solution.

L'information portant sur le calendrier n'est pas indépendante de « date ». C'est même une connaissance partagée nécessaire, sinon toute datation serait aléatoire et peu fiable.

Il y a donc un lien étroit entre « date » et « calendrier ». On peut même dire que la connaissance du calendrier de référence est une propriété intrinsèque de la connaissance d'une date.

On recourra à la notion d'attribut.

Comment noter le nom de l'attribut ? On veut indiquer qu'il s'agit d'un calendrier. Le nom de l'attribut sera donc « calendrier » tout simplement.

Comment noter la valeur de l'attribut ? On a cinq possibilités : bouddhiste, chinois, chrétien, hébraïque, musulman. On choisira donc ces mots comme valeurs.

Le nom de l'attribut sera « calendrier ».

La valeur de l'attribut sera à sélectionner dans la base de données suivante :

{bouddhiste, chinois, chrétien, hébraïque, musulman}.

On écrira donc :

<date calendrier=‟chinois”>2005</date>

Choisissez le parcours suivant

Vous souhaitez faire une pause technique et prendre connaissance de quelques éléments historiques afin de mieux comprendre les enjeux du balisage. Cliquez ICI

Vous préférez clore tout de suite cette première phase par

  • un résumé

  • un exercice préalable au passage à la phase 2.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)