Introduction au langage XML

Balises - Attributs - Header : Etudes de cas

Nous allons approfondir les notions de balise et d'attribut et introduire la notion de header qui va nous permettre d'utiliser la notion de métadonnée.

RappelRappels sur la notion de balise

  • une balise traduit une catégorie d'information

  • toute balise se dédouble en balise ouvrante et balise fermante (parenthésage)

  • syntaxe des noms de balise : le nom doit commencer par une lettre, ne pas comporter de blanc (si l'on veut séparer deux groupes de lettres, on met un souligné, underscore en anglais) ni de caractère réservé (", ‘, <, >)

Remarque

En informatique, on appelle syntaxe aussi bien la forme d'un nom (alors que l'on parlerait de morphologie en linguistique) que l'agencement d'une séquence (par exemple, une instruction ou un commentaire), conformément aux usages en linguistique.

Une balise introduit de la signification

Beaucoup d'introductions à XML - surtout lorsqu'elles se basent sur la connaissance de HTML, qui est un langage de balisage comme XML mais limité à l'affichage de données alors que XML vise le traitement de données - soulignent le caractère « signifiant » de XML :

  • avec XML, on peut générer les « éléments » de son choix, ceux dont on a besoin pour traiter un document donné ;

  • les déclarations-règles de la DTD déterminent la signification des éléments en situant chaque élément dans l'ensemble des éléments, c'est donc par la solidarité qu'il entretient avec les autres qu'un élément prend sa signification ;

  • cette signification s'organise de façon arborescente, c'est-à-dire par sous-catégorisations successives.

Une balise permet de traiter de l'information

Lorsqu'on introduit la notion de « signification d'information » au sens d'XML (qui est différent de la notion de « signification de mots et de phrases » pour un humain), on rend possible un « traitement de l'information », c'est-à-dire :

– que l'on peut rechercher une information d'un certain type ;

– que l'on peut rechercher au moins deux informations corrélées ;

– que l'on peut comparer deux informations ;

– que l'on peut - sous certaines conditions - hiérarchiser des informations ;

– que l'on peut - sous certaines conditions - injecter une nouvelle information dans un ensemble structuré d'informations ;

– que l'on peut remplacer une information par une information équivalente.

La notion d'attribut

Mais une information a aussi des propriétés : La notion d'attribut

Nous avons vu deux types de propriétés d'une information :

1. une propriété qui met l'information en rapport avec une autre information (c'était le cas de la fonction d'un mot ou d'un syntagme) ;

2. une propriété qui situe une information par rapport à un référent (c'était le cas pour l'identification du calendrier de référence pour une date donnée).

Nous pouvons ajouter un troisième type de propriété d'une information :

3. Une propriété qui caractérise une information (exemples : numéro d'ordre, durée d'un événement, date de recueil d'une information).

En XML, toutes ces propriétés seront rendues par des attributs.

ExempleExemple d'utilisation de l'attribut

Jusqu'à présent, nous avons vu la notion d'attribut sur deux types d'exemples :

– <NP fonction=‟objet”><Det>un</Det><N>livre</N></NP> qui signifie que le groupe nominal « un livre » est complément d'objet du verbe ;

– <date calendrier=‟chinois”>2005</date> qui signifie que la date 2005 se réfère à la datation par le calendrier chinois.

Rappelons que l'attribut ne se trouve que dans la balise ouvrante (dans une balise fermante, il ne servirait à rien).

Nous constatons que la syntaxe de l'attribut en XML est :

nom_de_l'attribut=‟valeur de l'attribut”

Rappel. L'utilisation du soulignement (ou underscore en anglais) a pour objet d'indiquer que les blancs sont interdits dans la formulation du nom de l'attribut.

Nous avons vu la notation d'un attribut dans un fichier XML mais cet attribut doit bien évidemment être déclaré dans la DTD.

Pour ce faire, on utilisera le mot clé « ATTLIST » (comme on a utilisé le mot clé « ELEMENT » pour déclarer les balises).

Exemple :

<NP fonction=‟objet”><Det>un</Det><N>livre</N></NP>

Suivant la syntaxe :

<!ATTLIST nom_de_l'élément_concerné nom_de_l'attribut type_de_l'attribut statut_de_l'attribut>

Dans la DTD, on aura :

<!ATTLIST NP fonction CDATA #IMPLIED>

Il faut indiquer le nom de la balise dans laquelle l'attribut s'inscrira (sinon on ne saurait pas de quoi c'est l'attribut).

Nous verrons plus loin quels peuvent être les types de l'attribut.

Le statut de l'attribut pourra être : présent obligatoirement ou facultatif ; lorsqu'il absent, valeur par défaut ou non. Nous verrons plus loin la formulation de chaque cas.

Notion de métadonnée

Le préfixe méta-

méta, signifie au milieu de, parmi ; à la suite.

On trouve ce préfixe dans le titre de l'ouvrage Métaphysique d'Aristote, motivé (semble-t-il) par le fait que cet ouvrage venait après celui consacré à la physique.

Dans le discours actuel, l'usage de méta- a une autre origine. Le mathématicien Hilbert a défini un programme métamathématique au début des années 1920, programme qui consistait à étudier mathématiquement l'objet mathématiques. Dans le prolongement, le logicien Tarski a distingué (The semantic conception of truth and the foundations of semantics, 1944) langage-objet et métalangage : un métalangage parle du langage-objet. C'est cet usage de méta- qui s'est généralisé (métalinguistique, métalangue, métacommunicatif, etc.).

Une métadonnée sera une donnée sur une donnée.

Nous allons toutefois être confrontés à une ambiguïté.

Le terme métadonnée peut désigner deux types de discours, exemples :

1. « le mot fenêtre est un nom » ou « Le rouge et le noir est un titre » - nom et titre sont ici des métadonnées ; on est ici dans le cas de l'étiquetage, on parlera alors de métadonnée-objet ;

2. « ce texte est un récit » ou « cette carte représente la France » - récit et représente la France sont ici des métadonnées ; on est ici dans la caractérisation d'un document dans son ensemble, on parlera alors de métadonnée-document.

FondamentalMétadonnées-objet et Métadonnées-document

Métadonnées-objet

Toutes les balises sont des métadonnées-objets. Elles donnent en effet des informations sur ce qui constitue le document, sur les « objets » qui le composent.

On écrira au pluriel « métadonnées-objets » parce que l'on a en principe une métadonnée par objet.

Reprenons quelques exemples.

<date>1925</date> [date est une métadonnée-objet]

<NP>le petit garçon>/NP> [NP est une métadonnée-objet]

<cit>je le verrai demain</cit> [cit, qui abrège citation, est une métadonnée-objet]

<titre>Le rouge et le noir</titre> [titre est une métadonnée-objet]

etc.

Métadonnées-document

Une métadonnée qui caractérise un document dans son ensemble, en lui-même, sera une métadonnée-document.

On écrira au pluriel « métadonnées-document » parce que l'on aura généralement besoin de plusieurs métadonnées pour caractériser un document.

Donnons quelques exemples.

Tel document sera un récit oral qui dure tant de temps dit par telle personne, etc. [récit oral, la durée, le nom du « récitant » seront des métadonnées-document.

Tel document sera une photo prise à tel moment représentant tel objet, etc. [photo, prise à tel moment, représentant tel objet seront des métadonnées-document.

Prendre en compte les métadonnées-document : Le header

L'ensemble des métadonnées-document constituent un ensemble à part : elles ne sauraient être intégrées au document (contrairement aux balises qui sont des métadonnées-objets).

Pour ce faire, on utilisera une partie spécifique du fichier XML. Cette partie du fichier sera nommée header, c'est-à-dire en-tête.

Un fichier XML sera donc constitué de deux parties :

– le header qui donnera les métadonnées caractérisant le document ;

– le document proprement dit.

Le header dans un document XML

Le header dans le document XML

Exemple de fichier XML comportant un header

Exemple du fichier XML avec le header

Structurer la partie document du fichier XML à l'aide commentaires

En informatique, lorsqu'on rédige un programme, on dispose des commentaires qui ont pour objet de pouvoir retrouver tel passage du programme au cas où on voudrait le modifier ou corriger une erreur détectée lors de l'exécution du programme.

Lorsque la partie document d'un fichier est particulièrement longue, on peut de même disposer des commentaires afin de « s'y retrouver ».

En XML, la syntaxe d'un commentaire est :

<!--Votre commentaire se trouve ici-->

Exemple de fichier XML avec des commentaires

Exemple de fichier XML avec des commentaires

Exemple de fichier XML avec des commentaires
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)