Notions de balisage et principes du balisage XML
Nous avons vu des "ensembles d'information" :
de type dictionnairique,
de type documentaire,
de type grammatical (phrastique),
présents dans un corpus.
Nous allons nous concentrer sur deux exemples :
le petit garçon lit un livre (cf. analyse d'une phrase)
« mon voisin, un hélicar à la ramasse, avait le look 2050 » Benjamin Souline (cf. analyse d'un article de dictionnaire)
Ces deux exemples nous permettrons de voir concrètement comment la catégorisation de l'information opère en XML
Exemple : Exemple : le petit garçon lit un livre
Cet exemple comporte les informations suivantes :
– le est un déterminant (abréviation : Dét),
– petit est un adjectif (abréviation : Adj),
– garçon est un nom (abréviation : N),
– lit est un verbe (abréviation : V),
– un est un déterminant (abréviation : Dét),
– livre est un nom (abréviation : N).
De la notion d'information à la notion de balise |
Baliser une information
Comment catégoriser le ?
Nous allons utiliser une balise. Cette balise se divisera en balise ouvrante et balise fermante : <DET>le</DET>.
Que remarquons-nous ?
Les deux balises, ouvrante et fermante, sont indiquées par les chevrons < et > ;
Elles portent le même nom DET (sans accent), précédé de / pour la balise fermante.
Le couple de balise <DET> </DET>
Reprenons. On catégorise une information en la munissant d'une balise.
|
Regroupons les éléments
Donc, une fois ses mots catégorisés, la phrase le petit garçon lit un livre s'écrira :
<DET>le</DET><ADJ>petit</ADJ><N>garçon</N><V>lit</V><DET>un</DET><N>livre</N>.
RemarqueOn écrit la séquence « au kilomètre » : la coupure se fait en fin de ligne et on peut avoir :…………..<V>lit</V>< ou : ………….<V>lit</V><DET>un</DET>.
Catégorisons les syntagmes
Nous venons de catégoriser des mots. On peut aussi catégoriser des syntagmes comme le petit garçon.
Nous utiliserons les mêmes noms de catégories que précédemment. Un syntagme nominal sera appelé NP. Les balises ouvrante et fermante seront donc <NP> et </NP>
« le petit garçon » est un syntagme nominal s'écrira donc : <NP>le petit garçon</NP>
Cela met en évidence l'absence de blancs entre les balises et le contenu de ces balises (il n'y a pas de blanc avant « le » et après « garçon »).
Nous venons de catégoriser globalement le syntagme nominal le petit garçon (<NP>le petit garçon</NP>).
Appliquons cela à « mon voisin, un hélicar à la ramasse, avait le look 2050 » Benjamin Souline.»
Cet exemple est une citation suivie de son auteur. On aura donc :
<CIT>mon voisin, un hélicar à la ramasse, avait le look 2050</CIT><AUT>Benjamin Souline</AUT>.
Remarque : Les noms de balise sont en majuscule ou minuscule ?
<CIT> est mis pour « citation » et <AUT> pour « auteur ».<CIT> et <AUT> sont en majuscules (on pourrait avoir <Cit> et <Aut>, ou simplement <cit> et <aut>.
Les guillemets ont disparu ; <CIT> et </CIT> sont les équivalents de guillemets.
Les exercices de pratique : Balisez les contenus suivants avec XML
Exercice 1. Dans la phrase suivante, balisez « le groupe nominal « la fille du directeur » et le nom « élèves » (vous utiliserez « NP » pour baliser le groupe nominal et « N » pour baliser le nom) : les élèves regardent la fille du directeur.
Exercice 2. Dans l'extrait de catalogue de bibliothèque suivant, balisez le nom de l'auteur (vous utiliserez « AUT ») et le titre (vous utiliserez « TIT ») : Lebrun, Pierre, L'art de la coiffure, Paris, Editions du cheveu, 1972.
Exercice 3. Dans l'article de dictionnaire suivant, balisez la date d'apparition et la définition (utilisez « DATE» et « SENS ») : OPALE [opal] XIIe siècle. Pierre précieuse.
Voir le corrigé ici
Attention : Des balises dans des balises
Le syntagme nominal « la fille du directeur » comporte des noms (N), des déterminants (DET) et une préposition (PREP).
Reprenons le balisage de ce syntagme en incluant les balises de ses composants :
<NP><DET>la</DET><N>fille</N><PREP>de</PREP><DET>le</DET><N>directeur</N></NP>
Rappel : A retenir !
1. La frappe se fait « au kilomètre » : en fin de ligne, on passe à la ligne, quelle que soit la coupure.
2. Il n'y a aucun blanc parce que tous les mots sont balisés
3. Les noms des balises sont mnémotechniques.
4. Il n'y a jamais d'accents (c'est-à-dire pas de signe diacritique) dans le nom d'une balise.
Complément :
Un peu de lexique
Lexique de balisage |
Remarque :
Les noms des balises ne peuvent comporter aucun signe diacritique (accent, cédille, « ° » sur le « a » en suédois, « v » sur le « c » en tchèque, etc.), nous l'avons vu. Ils ne peuvent pas non plus comporter de blancs :
<Groupe Nominal> serait impossible (en revanche, <Groupe_Nominal> serait possible, le soulignement, underscore en anglais, remplaçant le blanc).
Obtenir un fichier XML
Les balises que nous venons de voir sont des balises XML (nous verrons plus loin ce que signifie XML).
Lorsqu'on balise de l'information, cette information devient un fichier (comme une musique ou un film deviennent un fichier sonore ou audio-visuel).
Mais pour avoir un fichier XML, il faut impérativement avoir une balise ouvrante en début de fichier et la balise fermante correspondante en fin de fichier. Ces deux balises contenant tout le document constituent la balise racine du document XML.
Fondamental :
Sans balise de début et de fin, nous n'avons qu'une séquence balisée.
Avec une balise de début et de fin, nous avons un fichier XML.
Cette différence est très importante pour la suite.
Balises et codage de surface
Reprenons le balisage d'une donnée bibliographique en balisant aussi l'ensemble de la référence bibliographique (avec « REF ») afin d'obtenir un fichier XML :
<REF><AUT><NOM>Lebrun</NOM><PRENOM>Pierre</PRENOM></AUT><TIT>L'art de la coiffure</TIT><VILLE>Paris</VILLE>
<EDITEUR>Editions du cheveu</EDITEUR><DATE>1972</DATE></REF>
On remarque que toutes les virgules et les blancs avant ou après une balise ont disparu (donc sauf les blancs à l'intérieur d'un contenu entre deux balises), comme les guillemets de la citation avaient disparu !
Pourquoi ?
Les blancs qui ont disparu et les signes typographiques « de codage » (ou « séparateurs ») sont du codage que l'on pourra facilement reproduire à l'édition.
1. Les blancs
Prenons la séquence (« AP » signifie syntagme adjectival) :
<AP><ADV>tout à fait</ADV><ADJ>faux</ADJ></AP>
Lorsqu'on écrit, il y a un blanc entre « tout à fait » et « faux » ; ce blanc peut être mis automatiquement à l'édition. En revanche, ce serait impossible pour les blancs entre « tout » et « à » et entre « à » et « fait ».
2. Les séparateurs
Les guillemets pour les citations, les virgules dans une notice documentaire sont une convention de lecture.
Jusqu'à présent, nous avons présenté les séquences balisées et les fichiers XML « en continu » (ou « frappe au kilomètre »).
Pour la machine, c'est parfait.
Pour l'humain, ce n'est pas très lisible et cela peut conduire à faire des fautes d'écriture.
Il existe une présentation plus pratique et facile à lire pour l'humain : la présentation indentée ou présentation avec indentation.
NB. L'anglais indentation signifie dentelure, alinéa.
Comment indenter un fichier XML ?
De la référence au fichier XML |
On appelle « balise racine » la balise qui prend TOUS les éléments comme contenu. |
Méthode : Mettre des balises,c'est comme parenthéser...
Rappel : Résumé de la leçon
1. « Syntaxe » des noms de balises : chevron ouvrant + nom de la balise sans blancs ni signes diacritiques + chevron fermant (balise fermante : le chevron ouvrant est précédé d'un slash, /)
2. Pour s'y retrouver, il faut donner des noms de balise à caractère mnémotechnique
3. L'humain a besoin d'une présentation avec indentation ; cela n'a aucun intérêt pour la machine
4. Une balise constitue un parenthésage et se divise en deux : une balise ouvrante et une balise fermante
5. Les balises peuvent s'emboîter les unes dans les autres (en anglais, embedding, enchâssement) si nécessaire (par exemple, « auteur » comprendra « nom » + « prénom » ; autrement dit, « nom » et « prénom » seront emboîtés (ou « enchâssé) dans « auteur »
6. Les conditions pour obtenir un « vrai » fichier XML (et non une simple séquence balisée) : à chaque balise ouvrante doit correspondre une balise fermante et vice versa ; il doit y avoir une « balise racine » qui ouvre et clôt l'ensemble des balises ; le fichier commence par un prologue qui donne des indications sur le fichier (par exemple, la version du langage XML utilisée)
Nous allons apprendre à construire une grammaire en XML. On appelle « DTD » une telle grammaire.