| I Ogólnopolskie Seminarium ,,Internet jako narzędzie ewangelizacji'' | ||
|---|---|---|
| Poprzedni | Publikacje elektroniczne — przygotowanie tekstów | Następny |
Pora więc zacząć opowiadać na postawione pytania. Częściowa odpowiedź na pytanie postawione w tytule tej części została udzielona już powyżej. Wszystko co powiedzieliśmy wcześniej na temat struktury logicznej tekstów obejmuje swoim zasięgiem standard SGML. SGML umożliwia kodowanie tekstów w sposób strukturalny. Nie jest to co prawda, żaden program, ani nawet konkretny format kodowania tekstu, ale coś bardziej ogólnego. Jest to mianowicie “metajęzyk” (czy “metaformat”) pozwalający definiować języki (formaty) służące do opisywania logicznej struktury dokumentów. SGML (nieco wbrew swojej nazwie) nie jest językiem w klasycznym sensie, bo nim być nie może, ze względu na cel jakiemu ma służyć. Nie da się bowiem (a nawet jeśli by się dało, to nie ma to sensu) za pomocą jednego ściśle określonego języka (formatu) opisać struktury wszystkich możliwych dokumentów. Popatrzmy jak różne części składowe mogą zawierać rodzaje publikacji:
list: nadawca, adresat, adres, data, powitanie, treść, pozdrowienia, podpis;
kryminał: autor, tytuł, spis treści, rozdział, akapit;
artykuł naukowy: autor, tytuł, streszczenie, sekcja, wzór, tabela, rysunek, twierdzenie, dowód, wniosek, definicja itd.;
Do oznaczania elementów w dokumentach służą znaczniki (tags). Każdemu elementowi przypisany jest znacznik otwierający (nazwa) i znacznik zamykający (/nazwa). Oprócz definicji elementów i znaczników z nimi związanych DTD zawiera także reguły ich używania: np. czy możliwe jest opuszczenie znacznika zamykającego lub otwierającego dany element, jeśli z kontekstu możliwe jest wywnioskowanie faktu jego istnienia.
Oto przykład: załóżmy, że element rozdział składa się obowiązkowego tytułu, po którym może nastąpić jeden lub więcej akapitów. Na rysunku Rysunek 4 pokazany jest schemat zależności między elementami oraz cztery równoważne sposoby zaznaczenia struktury tego fragmentu tekstu.
Rysunek 4. Opuszczanie znaczników
Ogromną zaletą SGML–a jest także prawdziwa, a nie jedynie deklarowana, “otwartość” — dokumenty zakodowane z wykorzystaniem tego standardu nie są związane z jakąkolwiek platformą sprzętową, systemem operacyjnym, czy konkretnym systemem oprogramowania. W dobie popularności różnych edytorów, które umożliwiają podobno konwertowanie mnóstwa najróżniejszych formatów, a nie są w stanie poprawnie odczytać tekstów w swoich rodzimych formatach, tyle tylko, że przygotowanych w systemie z zainstalowanym innym zestawem czcionek, wydaje się to niemożliwe — ale tak jest naprawdę.
Wszystko to chyba wydaje się dziwnie znajome. Identyczną notację, takie same konwencje dotyczące możliwości opuszczania znaczników i niezależność (przynajmniej częściową) od oprogramowania i sprzętu znamy z języka HTML. Jest tak dlatego, że HTML to w rzeczywistości najbardziej znana aplikacja SGML. Niestety w język HTML, mimo iż oparty na standardzie SGML, należy do formatów prezentacyjnych i nie bardzo się nadaje do kodowania struktury dokumentów. Jest to język stosunkowo prosty i zorientowany na prezentację dokumentu w okienku przeglądarki WWW. Możliwości jakie oferuje są bardziej zbliżone (choć dużo uboższe) do mechanizmów “styli” znanych z WYSIWYG, niż do prawdziwego kodowania strukturalnego.
Tworzone są już nowe standardy, które mają zastąpić bądź uzupełnić HTML. Jednym z nich jest XML — kolejna aplikacja SGML, mająca zachować (niestety niezupełnie) zgodność “w dół” z językiem HTML. Uproszczenie w stosunku do “pełnego” standardu SGML polega przede wszystkim na możliwości zrezygnowania z definiowania DTD, ponieważ jego opracowanie jest sprawa złożoną. W wielu praktycznych zastosowaniach, zwłaszcza związanych z elektroniczną publikacją dokumentów hipertekstowych o prostej strukturze, nie jest to nawet konieczne. XML to jednak jeszcze przyszłość — narzędzia do przygotowywania oraz prezentacji tekstów dopiero powstają, a i sama definicja języka XML nie jest jeszcze ostatecznie ustalona.