Limbajul de marcare generalizat standard („Standard Generalized Markup Language” - SGML ) este un limbaj de descriere pentru etichete , standard ISO (ISO 8879: 1986).
În 1969 , Charles Goldfarb (în) , care este apoi manager de proiect la IBM , este condus de limbajul descriptiv al companiei, sau Generalized Markup Language (Charles Goldfarb, Edward Mosher și Raymond Lorie) pentru încapsularea scriptului de limbă veche prea legat fizic de posibilitățile tehnice ale imprimantelor. Întregul produs este comercializat sub denumirea DCF ( Document Composition Facility ). Un fișier special numit profil , precum și o bibliotecă de macrocomenzi, indică modul în care vor fi interpretate semnele.
Goldfarb, pe care acest limbaj l-a făcut repede celebru, a părăsit această companie pentru a dezvolta un succesor al GML numit SGML ( Standard Generalized Markup Language ), publicat în 1986 ca standard ISO (ISO 8879: 1986).
La Comunitățile Europene au aderat la această dezvoltare inovatoare în 1984 și a adoptat SGML ca standard pentru foarte multe publicații oficiale, în cadrul FORMEX (formalizate Schimbul de electronice pentru Publicații) de proiect. De asemenea, dezvoltă Mark-It, primul analizor SGML care nu suferă restricții pentru cele mai avansate specificații SGML.
Unul dintre principiile fundamentale pe care se bazează SGML este separarea completă între structura logică a unui document (titluri, capitole, paragrafe, ilustrații ...), care este identificată prin etichete inserate în documentul însuși și aspectul acestuia, care depinde de suportul de prezentare (carte, ziar, ecran, chiar grafic) și care este definit în afara documentului în una sau mai multe foi de stil ( font , stil, dimensiune și culoare a caracterelor, alinierea și spațierea paragrafelor ...).
SGML eficientizează sistemele de documente IBM ; peste 90% din documentație este scrisă în GML . În Franța, a facilitat foarte mult munca producătorilor de aeronave, Airbus preluând astfel documentația SNECMA care putea fi afișată imediat conform propriilor standarde și recuperată la rândul său de proprii clienți care le afișau conform standardelor lor ; sau prin arsenalele livrarea cu ușurință clienților lor ( forța aeriană , bleumarin și armată , și , uneori , armate străine) de documentare a acestor standarde personalizate , fără nici un cost suplimentar.
Acest limbaj devine în special un standard de reprezentare la CERN , care trebuie să unifice riguros prezentarea documentelor echipelor sale, dar fără a le distrage prin impunerea de detalii tehnice tipografice asupra acestora. INRIA realizeze un prim editori SGML, numit Grif , cu o interfață de vecină decât Word .
HTML , creat de Tim Berners-Lee pentru World Wide Web , este o aplicație a SGML.
De la implementarea standardului ISO 8879 1986 SGML hachem, atunci când se analizează un document, acesta pare a fi compus din trei părți:
DTD ( Definiția Tip de document în limba franceză) definește structura documentului:
Fiecare DTD definește o clasă de documente la care sunt atașate toate instanțele similare.
O foaie de stil descrie modul în care va fi publicat documentul. Aceasta permite, de exemplu, să descrie o foaie de stil pentru hârtie (format A4) și o foaie de stil pentru ecrane (format 4/3); avantajul este de a putea, de exemplu, să creeze o foaie de stil pentru ecrane (format 16: 9) fără a rescrie nici structura și nici instanțele și beneficiind de un nivel maxim de reutilizare. Noile suporturi hardware necesită doar crearea foii de stil corespunzătoare.
O instanță este un document sau o parte a unui document etichetat conform unui DTD. Toate instanțele aceluiași DTD aparțin aceleiași clase de documente.
Vom nota și acest lucru va distinge avantajele și dezavantajele fiecărei clase de documente:
În HTML și GML îi lipsește disocierea completă între cele 3 părți: conținut (instanță), prezentare (foaie de stil) și structură (DTD).
Pentru a ilustra diferențele, trei exemple: