Standard Generalized Markup Language
Standard Generalized Markup Language
Standard Generalized Markup Language (« langage de balisage généralisé normalisé » - SGML) est un langage de description à balises, de norme ISO (ISO 8879:1986). HistoriqueEn 1969, Charles Goldfarb (en), qui est alors chef de projet chez IBM, fait lancer par cette compagnie un langage descriptif, ou Generalized Markup Language (Charles Goldfarb, Edward Mosher et Raymond Lorie), destiné à encapsuler l'ancien langage Script trop lié physiquement aux possibilités techniques des imprimantes. L'ensemble est commercialisé sous le nom de DCF (Document Composition Facility). Un fichier spécial nommé le profile, ainsi qu'une bibliothèque de macros, indiquent comment seront interprétées les marques. Goldfarb, que ce langage rend vite célèbre, quitte alors cette compagnie pour développer un successeur de GML appelé SGML (Standard Generalized Markup Language), publié en 1986 comme norme ISO (ISO 8879:1986). Les Communautés européennes s'associent à ce développement novateur dès 1984 et adoptent alors le SGML comme standard pour leurs très nombreuses publications officielles, dans le cadre du projet FORMEX (Formalized Exchange of Electronic Publications). Elles développent aussi Mark-It, le premier parser SGML qui ne souffre pas de restrictions par rapport aux spécifications les plus avancées du SGML. L'un des principes fondamentaux sur lequel repose le SGML est la séparation complète entre la structure logique d'un document (titres, chapitres, paragraphes, illustrations…), qui est identifiée par des balises insérées dans le document lui-même, et sa mise en page, qui dépend du support de présentation (livre, journal, écran, graphique même) et qui est définie en dehors du document dans une ou plusieurs feuilles de style (police, style, taille et couleur des caractères, alignement et espacement des paragraphes…). SGML rationalise les systèmes documentaires d'IBM ; plus de 90 % de la documentation est écrite en GML. Il a beaucoup facilité en France le travail des avionneurs, Airbus reprenant ainsi la documentation de la SNECMA aussitôt affichable sous ses propres normes, et récupérée à leur tour par ses propres clients qui les affichaient à leurs normes ; ou par des arsenaux livrant facilement à leurs clients (armée de l'air, marine et armée de terre, et parfois armées étrangères) des documentations à ces normes personnalisées sans aucun surcoût. Ce langage devient notamment un standard de représentation au CERN, qui a besoin d'unifier de façon rigoureuse la présentation des documents de ses équipes mais sans pour autant les déconcentrer en leur imposant des détails techniques de typographie. L'INRIA réalisera un des premiers éditeurs SGML, appelé Grif, avec une interface voisine de celle de Word. HTML, créé par Tim Berners-Lee pour le World Wide Web, est une application de SGML. NormalisationDepuis la mise en place de la norme ISO 8879 1986 SGML, lorsqu'on analyse un document, il apparaît comme étant composé de trois parties :
Document Type DefinitionLa DTD (Définition de Type de Document en français) définit la structure du document :
Chaque DTD définit une classe de documents à laquelle sont rattachées toutes les instances similaires. Feuille de styleUne feuille de style décrit comment sera publié le document. Cela permet, par exemple, de décrire une feuille de style pour le papier (format A4) et une feuille de style pour les écrans (format 4/3) ; l'avantage étant de pouvoir, par exemple, créer une feuille de style pour les écrans (format 16/9) sans réécrire ni la structure ni les instances et bénéficier d'un niveau de réutilisation maximal. Les nouveaux supports matériels ne nécessitent plus que la création de la feuille de style correspondante. InstanceUne instance est un document ou une partie de document balisée selon une DTD. Toutes les instances d'une même DTD appartiennent à la même classe de document. Diverses informations
Différences entre le GML ou HTML et une instance SGML bien forméeOn notera et cela distinguera les avantages et inconvénients de chaque classe de document :
Dans le HTML et le GML il manque la dissociation complète entre les 3 parties : le contenu (instance), la présentation (feuille de style), et la structure (DTD). Pour illustrer les différences, trois exemples :
<h1>Titre A de niveau 1
<p>Introduction
<h2>Titre A de niveau 2
<p>Description des éléments du titre A de niveau 2
<h2>Titre B de niveau 2
<p>Description des éléments du titre B de niveau 2
<h3>Titre A de niveau 3
<p>Description des éléments du titre A de niveau 3
<h1>Titre B de niveau 1
<p>Conclusion
<h1>Titre A de niveau 1</h1>
<p>Introduction</p>
<h2>Titre A de niveau 2</h2>
<p>Description des éléments du titre A de niveau 2</p>
<h2>Titre B de niveau 2</h2>
<p>Description des éléments du titre B de niveau 2</p>
<h3>Titre A de niveau 3</h3>
<p>Description des éléments du titre A de niveau 3</p>
<h1>Titre B de niveau 1</h1>
<p>Conclusion</p>
Un exemple d'extrait d'instance SGML <H>Titre A de niveau 1
<P>Introduction</P>
<H>Titre A de niveau 2
<P>Description des éléments du titre A de niveau 2</P>
</H>
<H>Titre B de niveau 2
<P>Description des éléments du titre B de niveau 2</P>
<H>Titre A de niveau 3
<P>Description des éléments du titre A de niveau 3</P>
</H>
</H>
</H>
<H>Titre B de niveau 1
<P>Conclusion</P>
</H>
Voir aussiArticles connexes
Liens externesRéférencesAutre
|
Portal di Ensiklopedia Dunia