SGML (ang. Standard Generalized Markup Language) – standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Pozwala zapisać je w formie dokumentu tekstowego i dzięki temu łatwo przenosić, wyświetlać i drukować w różnych systemach elektronicznego przekazu danych. SGML jest od roku 1986 standardem ISO 8879:1986[1].
SGML w odróżnieniu od języków znaczników przeznaczonych do konkretnych zastosowań (takich jak HTML) nie jest zbiorem określonych znaczników i reguł ich użytkowania, lecz ogólnym, nadrzędnym językiem służącym do definiowania dowolnych znaczników i ustalania zasad ich poprawnego użytkowania.
Języka SGML używa się praktycznie do dwóch celów:
- precyzyjnego definiowania zbiorów znaczników przeznaczonych do konkretnych zastosowań – przykładem jest język HTML;
- ujednolicania zasad pisania i przekazywania dokumentów tekstowych w obrębie dużych firm lub instytucji.
W obydwu przypadkach dokument w języku SGML składa się z trzech części:
- deklaracji dokumentu, która definiuje ogólne reguły stosowane w zapisie dokumentu (np. maksymalna długość nazwy elementu, znak używany jako początek znacznika, domyślnie jest to znak „
<
”); - DTD – definicji typu dokumentu, czyli definicji wszystkich znaczników i reguł ich stosowania;
- właściwego dokumentu – tekst wraz ze znacznikami.
Ze względu na złożoność standardu SGML bardzo mało narzędzi implementuje pełny standard. Zwykle edytory SGML obsługują większość powszechnie używanych elementów języka i interpretują jedynie część pliku deklaracyjnego. W związku z trudnościami implementacyjnymi powstał język i standard XML będący początkowo podzbiorem reguł SGML (pierwsza wersja powstała w 2000 roku). Standard XML można obsługiwać narzędziami SGML-owymi, modyfikując odpowiednio plik deklaracyjny.
Ponieważ w praktyce zarówno deklaracja dokumentu SGML, jak i DTD „zaszyte” są najczęściej w oprogramowaniu (np. w przypadku języka HTML w przeglądarkach i programach do pisania stron WWW), użytkownicy końcowi, a nawet osoby przygotowujące na co dzień dokumenty, nie mają bezpośredniej styczności z DTD tej odmiany języka SGML, z której właśnie korzystają.
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ ISO: 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML). [dostęp 2019-07-23]. (ang.).