- Generalized Markup Language
-
Le langage Generalized Markup Language, appelé également GML, est la première version de langage de balisage proposé par IBM. Ce langage permettra à IBM de construire un système de gestion de toute sa documentation. 90% des documents techniques sont écrits en GML. Ce langage est l’ancêtre du SGML et du HTML. Le HTML en reprend d’ailleurs une grande partie de son concept.
Sommaire
Histoire du GML
La première généralisation des balises dans le langage GenCode 1967: Recherche fondamentale du GCA
En 1967, William Tunnicliffe présente pour la première fois une approche pour séparer le fond du document par rapport à sa forme. C’est le début du GCA GenCode Committee qui élaborera les bases du premier langage de balisage généralisé[1].
L’ancêtre du SGML : le GML 1969 : Recherche fondamentale d’IBM
En 1969 Charles GOLDFARB est responsable d'un projet de recherche d'un système d'information intégré pour la documentation d'IBM[2]. Il s’appuiera sur les travaux de William Tunnicliffe. Avec Edward Mosher et Raymond Lorie ils inventent le GML, une anagramme de leurs noms (Goldfarb, Mosher et Lorie) )[3].
Ce premier langage de balisage est l'ancêtre du SGML. L'objectif initial poursuivi par Charles F. Goldfarb, avant d'être sollicité par IBM, était de faciliter la tache des juristes en élaborant un système de gestion intégré du droit (Charles F. Goldfarb est juriste de formation). Les juristes rencontraient des difficultés dans la recherche des textes de loi et de la jurisprudence associée[4].
C'est finalement au sein d'IBM que Charles F. Goldfarb avec ses deux collèges, Edward Mosher et Raymond Lorie, en développe une version commerciale, dédié à la documentation, qui sera l'objet d'une offre logiciel sur le document appelé "Document Composition Facility". Cette offre contiendra le profile Starter Set du GML des trois inventeurs. Ce concept donnera quelques suites commerciales à ses produits on trouvera notamment IPDT (Integrated Processing of Data and Text) distribué gracieusement dans l’offre (program offering) puis ASF (Application Support Facility) pour les aspects transactionnels (gestion de courrier, note, formulaire) qui sera tarifé et utilisé principalement par les compagnies d’assurances et les banques pour personnaliser leur communication client.
La première version en 1978 commercialisé par IBM en 1980
Dans sa première version, publiée en 1978 et commercialisée en 1980, le GML appelé Generalized Markup Language[5] (le parser est le profile SCRIPT/VS DSMPROF qui fait également office de DTD) contient déjà les principales balises que l'on retrouvera plus tard dans le HTML. Avec des balises de fin pour les balises structurantes et des balises de références pour les indexes et tables de matières ou table de figures. Les balises hiérarchiquement plus élevées dans une balise structurante de niveau inférieure fermait automatiquement la balise précédemment ouverte. Par la suite un certain nombre de DTD basées sur le premier GML ont été proposés par IBM pour faciliter la conception :
- DSMPROF3 (Starter Set Profile V3.2)
- DTD du Generalized Markup Language contenant la description des balises ainsi que le parser permettant de valider à priori le document.
- DSMPROF4 (Starter Set Profile V4.0)
- Dernière version de 1991 de la DTD DSMPROF
- DSMGM4 (Macro Library)
- Dernière version de 1991 de la DTD contenant toutes les macros des balises
- DSMBPROF (Bar Code Profile)
- DTD pour l'écriture de code à barres.
- DSMMPROF (Memo Profile)
- DTD Permet la rédaction de note ou memo.
- DSMTPROF (Transparency Profile)
- DTD pour la réalisation de transparent. La mise en forme adopte des polices de caractères avec des corps plus important.
- DSMSPROF (Schedule Profile)
- DTD réalisée pour réaliser des diagrammes de suivi de projet avec les jalons, taches ,réalisé, prévu, …
Ces DTD appelées profile par IBM contiennent la référence de chaque balise et l'identifiant de la macro associée. Chaque balise dispose d'une macro dédiée qui permet la validation (parser), puis la mise en forme (DTD).
Les balises du GML
Les balises du GML :ABSTRACT. :ADDRESS. :ALINE. :EADDRESS. :APPENDIX. :BACKM. :BODY. :CIT. :DL. :DTHD. :DDHD. :LP. :EDL. :FIG. :FIGCAP. :FIGDESC. :EFIG. :FIGLIST. :FIGREF. :FN. :FNREF. :FRONTM.
:GDOC. :GL. :GT. :GD. :LP. :EGL. :h0. :h1. :h2. :h3. :h4. :h5. :h6. :HDREF. :HP0. :HP1. :HP2. :HP3. :EHP3. :EHP2. :EHP1. :EHP0. :I1. :I2. :I3. :IH1. :IH2. IH3. :INDEX. :IREF.
:LIREF. :SL. :OL. :UL. :LI. :ESL. :EOL. /EUL. :LQ. :NOTE. :P. :PC. :PREFACE. :PSC. :Q. :RDEF. :TABLE. :ROW. :C. :TFT. :THD. :TCAP. :TDESC. :ETABLE. :TLIST. :TNOTE.* :TREF. :TITLEP. :TITLE. :DOCNUM. :DATE. :AUTHOR. :ETITLEP. :TOC. :XMP.
On retrouve une grande partie des balises qui feront par la suite le HTML.
Structure d’un document en GML
La structure du document est proposée. Il s'agit du principal apport de ce concept "la structuration du document". Il aboutira d'ailleurs plus tard au concept d'architecture objet pour les documents avec l'AFP (Advanced Function Presentation).
general document (:GDOC) le début du document front matter (:FRONTM) la page de garde title page (:TITLEP) le paragraphe de titre document title (:TITLE) le titre document number (:DOCNUM) la référence du document document date (:DATE) la date author name (:AUTHOR) l'auteur address of author or publisher (:ADDRESS) l'adresse address line (:ALINE) les lignes d'adresses abstract (:ABSTRACT) basic document elements preface (:PREFACE) la préface basic document elements lower-level heading segments (:H2 to :H6) basic document elements table of contents (:TOC) la table des matières (générée automatiquement) list of illustrations (:FIGLIST) la table des figures (générée automatiquement) list of tables (:TLIST) La table des tableaux (générée automatiquement) body (:BODY) le corps du document part (:H0) les parties du document (structure de niveau 0) basic document elements chapter (:H1) les chapitres du document (structure de niveau 1) basic document elements lower-level heading segments (:H2 to :H6) basic document elements appendix section (:APPENDIX) les appendices di document first-level heading segment (:H1) structure de niveau 1 de l'appendice basic document elements lower-level heading segments (:H2 to :H6) basic document elements back matter (:BACKM) page de fin first-level heading segment (:H1) basic document elements lower-level heading segments (:H2 to :H6) basic document elements index (:INDEX) l'index du document (généré automatiquement)
Un exemple de document en GML
:TABLE. :ROW.Champ un. :ROW.Champ deux. :ROW.Champ trois. :ETABLE.
Un exemple de document en HTML
<TABLE> <ROW>Champ un. <ROW>Champ deux. <ROW>Champ trois. </TABLE>
Les versions et évolutions du GML
La première version GML livrée par IBM au sein de son offre DCF se nommait "Document Composition Facility Generalized Markup Language: Starter set reference". Ce document dans sa première version est daté d'Avril 1980 (Order number SH20-9187-0) et pour sa septième et dernière version de 1991 (SH20-9187-6)[5].
Le GML donnera naissance en 1974 au SGML suite aux travaux de Charles Goldfarb. Il sera le principal acteur de la publication de la norme SGML ISO 8879 en 1986. En 1998 c’est le XML qui découlera également de ce premier concept[6]
Références
- [1]
- [2]
- Les racines du SGML - A Personal Recollection », 1996. Consulté le 2007-07-07 Charles F. Goldfarb, «
- interview avec le "Web Techniques Magazine" éditeur Michael Floyd
- Generalized Markup Language: Starter set reference, 1991. Order number SH20-9187-6 », 1991 IBM, «
- http://www.renater.fr/Video/2002ATHENS/P/DC/History/all.htm
Wikimedia Foundation. 2010.