SGML

język znaczników

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

Przypisy

edytuj

Linki zewnętrzne

edytuj