De l'Aleph à l'@ > L'Informatique > Langages > SGML

SGML

Introduction

SGML signifie, en Anglais : Standard Generalized Markup Language et sa traduction en Français : Langage Normalisé et Généralisé de balisage.
Le SGML est un language pour structurer l'information. Le SGML n'est pas un language de mise en forme. Il est régi par deux éléments : la grammaire (loi d'écrire des éléments SGML) et les règles (décrits par la DTD).

Ses origines

C'est IBM qui a commandé les premières recherches sur les Systèmes de gestion de l'information juridique à un groupe de travail interne composé de : Edward Mosher et Raymond Lorie, placés sous la direction de Charles Goldfarb (un juriste). En 1978, Goldfarb soumit son idée à l'ANSI (X3J6) (American National Standard Institute) comme format de gestion de documents complexes. Le principe fut retenu et passa dans le domaine public sous le sigle : Standard 'GML' (Goldfarb, Mosher, Lorie).
En 1980, Le département de défense américain (DoD) noyé sous la documentation liée aux approvisionnements, fît un appel d'offre pour la réalisation de manuels, sous le format de Goldfarb, destinés aux frégates anti-missiles, hélicoptères etc...
C'est l'initiative CALS (Continuous Acquisition and Life Cycle Support).
Le projet fut repris la même année par l'ISO (International Standard Organisation, Genève) dans le groupe de travail ISO/IEC/SC18/WG8.
En 1986, la norme fut entérinée et publiée par l'ISO sous le sigle 'SGML' : Standard Generalized Markup Language : ISO 8879:1996 effaçant ainsi le trigramme des inventeurs.

Les caractères

La portabilité est assurée en limitant les codes des caractères employés dans les documents SGML à la portion 32 à 127 du jeu de caractères ASCII - ISO 646 (ISO/IEC 646:1991 Information technology -- ISO 7-bit coded character set for information interchange). Ainsi, le texte d'un fichier SGML est lisible par un traitement de texte ordinaire et les caractères dont le code est supérieur à 127 sont représentés par des entités.
Par exemple, le caractère 'é' est représenté par le caractère 'e accent aigu' (code 131) noté en SGML é.
Mais il est possible de définir l'ensemble des 'éléments' ou caractères nécessaires via des entités pour la production de documents.

La grammaire

Il s'agit de définir les balises à placer, et où les placer pour obtenir le résultat souhaité. SGML donne les règles de construction de la grammaire appelée Document Type Definition, ou DTD en abrégé. La DTD est un fichier SGML (mêmes caractéristiques de portabilité) qui est utilisé par un petit programme chargé de contrôler la position des balises dans le texte SGML. Le programme est nommé Parser (du verbe to parse) en Anglais, ou Analyseur en Français.

Le Parser

La fonction de ce programme est de fournir l'ESIS (Element Structure Information Set - Le standard ISO (ISO/IEC 13673:1995) qui décrit le contenu et la structure d'un document) c'est-à-dire l'enchaînement de toutes les balises contenues dans le texte, et dont les caractéristiques sont conformes à la DTD. Le parser attribue la qualité de 'document conforme à la DTD', au texte soumis à son analyse. James Clark a développé un parser disponible par ftp sur son site.

Ecrire la DTD

Pour écrire une DTD SGML, il faut connaître quatre domaines:
- primo: SGML bien sur, les règles d'écriture et la syntaxe
- secundo: le domaine auquel la documentation s'applique;
- tertio: le logiciel de visualisation ou de saisie des documents;
- quarto: les moyens informatiques de traitement de la classe de documents.

C'est la déclaration d'un élément et de son contenu, la liste d'attributs d'un élément , la déclaration d'une entité.

L'ELEMENT contient deux signes (- et -) qui signifient que les balises de début et de fin sont obligatoires.
Le contraire se note (O O)(lettre 'O') , on trouve (- O) pour un élément vide (une image par exemple) mais jamais (O -). La liste des éléments contenus est séparée par des indicateurs d'occurence qui peuvent être: ',' pour une suite, '|' pour un OU logique, '&' pour un ET logique. La Fréquence détermine le nombre d'apparitions de l'élément: ? = optionnel, * = 0 ou plus, + = 1 ou plus.
L'attribut est la troisième dimension de l'élément: il le qualifie par des paramètres dont le renseignement peut être: Obligatoire (#REQUIRED), Hérité d'un élément supérieur (#IMPLIED) (d'autre déclarations existent).
L'entité est équivalente à une macro: insère le texte 'lala' à l'endroit ou se trouve l'appel à entité: %replace;. Exemple: devient:
Lire une DTD contenant de nombreuses entités est difficile. Une DTD lisible est souvent rédigée sous la forme CANONIQUE, toutes entités résolues.


Logo de la date de modification 08/05/2021 Logo du nombre de vues 1 268 vues

Bookmark and Share


Cet élément est cité dans l'article suivant :

L'Informatique : SGML


Cliquez ici pour envoyer un messageVous en savez plus !
Si vous avez d'autres informations, des corrections à apporter à cette page, n'hésitez pas !
Cliquez ici, et envoyez moi vos informations.

La page Facebook du site :
Page FaceBook du site De l'Aleph à l'@

La page Twitter du site :
Suivre le site De l'Aleph à l'@ sur Twitter

CSS Valide !