Langages à balises : Markup Languages

Jean-François Perrot

  1. I. But poursuivi par ces langages
  2. II. Origine et sens de l'évolution
  3. III. Exemple
    1. Essai en (pseudo-)SGML
    2. Essai en HTML
    3. Essai en XML
  4. IV. Thèse : primauté de la structure

I. But poursuivi par ces langages : 

imposer une structure à un texte, et manipuler cette structure en tant que telle.

II. Origine et sens de l'évolution

III. Exemple

Voici le texte d'une chansonnette du bon vieux temps :
Il me dit : Aglaé ! Mon nom est Ernestine Monsieur !
Il me dit : Aglaé, ya pas d'dout' faut nous marier !
Nous savons (implicitement) que c'est Ernestine qui parle
et qui rapporte un dialogue qu'elle a eu avec son soupirant.

Comment traduire cette information en vue d'un traitement automatique ?

  1. Essai en (pseudo-)SGML

    <dialogue>
    <elle_dit> Il me dit :
    <il_a_dit>Aglaé ! </il_a_dit>
    <elle_a_dit> Mon nom est Ernestine Monsieur ! </elle_a_dit>
    </elle_dit>
    <elle_dit> Il me dit :
    <il_a_dit> Aglaé, ya pas d'dout' faut nous marier ! </il_a_dit>
    </elle_dit>
    </dialogue>
  2. Essai en HTML

    <html>
    <head> <title> Chanson d'Ernestine </title> <head>
    <body>
    <p>Il me dit : <i> Agla&eacute; ! </i> <br>
    <b> Mon nom est Ernestine Monsieur ! </b>
    </p>
    <p> Il me dit : <i> Agla&eacute;, ya pas d'dout'
    faut nous marier ! </i>
    </p>
    </body>
    </html>

    Interprétation du fichier HTML par le navigateur :

    Navigateur


  3. Essai en XML

    fichier Ernestine.xml
    <?xml version="1.0"?> 
    <dialogue>
    <propos locuteur="Elle">
    <contenu>
    <propos locuteur="Lui">
    <contenu>
    <texte>Aglae' !</texte>
    </contenu>
    </propos>
    <propos locuteur="Elle">
    <contenu>
    <texte> Mon nom est Ernestine Monsieur !</texte>
    </contenu>
    </propos>
    </contenu>
    </propos>
    <propos locuteur="Elle">
    <contenu>
    <propos locuteur="Lui">
    <contenu>
    <texte>Aglae', ya pas d'dout' faut nous marier !</texte>
    </contenu>
    </propos>
    </contenu>
    </propos>
    </dialogue>

    L'arbre vu par le navigateur :

    Arbre

    Exploration


IV. Thèse : primauté de la structure

L'évolution de SGML vers XML en passant par HTML vise à réduire le rôle du texte, qui au départ était essentiel,
à un produit de l'interprétation de la structure.
On va d'une structure surajoutée à un texte (les indications typographiques d'autrefois) à un texte engendré par la structure.

Sans aller jusque là, voyons ce que donne la technique standard d'ajourd'hui (avril 2007) pour notre chansonnette :
elle nous dit de
  1. partir d'une structure en XML définie (par exemple) par une DTD
  2. définir diverses transformations sur la base de cette structure,
    et tout d'abord une transformation XSLT propre à retrouver la visualisation HTML précédemment proposée !