5. Narzędzia do strukturalizacji tekstów

Wiadomo już jakie wymagania musi spełniać tekst aby można go było efektywnie i wielokrotnie wykorzystywać. Pojawia się jednak pytanie kto, kiedy i jak powinien dokonywać “strukturalizacji” tekstu? Odpowiedź jest z pozoru prosta: powinno to być robione na możliwie najwcześniejszym etapie opracowania tekstu, czyli już w momencie jego powstawania u autora, który używa odpowiedniego strukturalnego edytora tekstu. Jest jednak dosyć poważny problem. Popularne i modne edytory nie wspomagają tworzenia tekstów “strukturalnych”. We wszystkich właściwie edytorach tekstu i systemach składu istnieją co prawda tzw. “style” (styles) ale ich możliwości są mocno ograniczone i niedostosowane do potrzeb strukturalizacji dokumentów.

Rysunek 1. Fragment struktury książki

Rysunek 2. Użycie “stylów” do zdefiniowania struktury książki

Style można bowiem wiązać tylko z akapitami, co powoduje powstawanie płaskiej struktury logicznej tekstu, nie oddającej rzeczywistych logicznych zależności występujących w prawdziwych dokumentach. Rozdział książki składa się przecież np. z tytułu, po którym następuje, powiedzmy kilka akapitów wprowadzających, i dalej z podrozdziałów, znowu zawierających tytuł oraz akapity itd. Na rysunku Rysunek 1 pokazany jest schematycznie fragment struktury książki. Widać tutaj hierarchię elementów logicznych struktury oraz relację zawierania elementów niższego poziomu w elementach wyższego poziomu.

Na rysunku Rysunek 2 przedstawiony jest efekt próby wykorzystania mechanizmu stylów do zakodowania tej samej struktury książki. Nie istnieje możliwość tworzenia hierarchii stylów, w której style wyższego poziomu zawierałyby style niższego poziomu — cała struktura się spłaszcza i przestaje być hierarchiczna. Co jeszcze gorsze — nie ma nawet miejsca na niektóre elementy: “Rozdział” czy “Podrozdział” zdefiniowany za pomocą stylów to w rzeczywistości tylko tytuły odpowiednio rozdziału i podrozdziału. Nie ma możliwości zdefiniowania elementów takich jak “Rozdział” (w sensie właściwym, a nie “stylowym”), które są tylko (a może aż) “pojemnikami” zawierającymi elementy niższego poziomu. Mogą istnieć tylko takie elementy, które zawierają bezpośrednio jakiś tekst. Są to bardzo poważne ograniczenia, które właściwie dyskwalifikują cały mechanizm stylów dostępny w edytorach czy systemach składu do strukturalizacji dokumentów.

Oczywiście nawet tak słabe narzędzie jak style mogłoby nieco usprawnić pracę. Ale jest jeszcze jeden problem z nimi związany. Nie ma możliwości sprawdzania logicznej “poprawności” dokumentu w taki sposób definiowanego. Wynika to poniekąd, ze spłaszczenia całej struktury (braku możliwości zagnieżdżania elementów i tworzenia ich hierarchii). Bo przecież pożyteczna byłaby możliwość zagwarantowania unikania pewnych oczywistych błędów w strukturze. Na przykład nigdy nie jest dozwolone pominięcie jednego poziomu podrozdziałów umieszczenie elementu Podpodrozdział bezpośrednio w elemencie Rozdział (rys. Rysunek 3)

Rysunek 3. Błąd w strukturze logicznej dokumentu

Na rysunku Rysunek 3 obrazowo przedstawione są efekty próby stworzenia “niepoprawnego” dokumentu. W przypadku wykorzystywania strukturalizacji, sytuacja taka nie może się zdarzyć. Dokument, w którym nie są zachowane pewne ustalone zależności między elementami jest przez programy, służące do jego przetwarzania traktowany jako błędny i wymaga poprawienia. Jeśli użyjemy mechanizmu stylów, nie mamy możliwości weryfikacji poprawności struktury dokumentu. Może to prowadzić do sytuacji pokazanej z prawej strony, kiedy w wyniku niedopatrzenia pominięty został jeden poziom podrozdziałów i w numeracji pojawiło się zero.

Narzędzia, jakie są naprawdę potrzebne to edytory strukturalne, czyli takie, które pozwalają oprócz samej treści i informacji związanej z formatowaniem dokumentu, wprowadzać oraz weryfikować także jego strukturę. Edytory strukturalne udostępniają także narzędzia umożliwiające efektywne poruszanie się po strukturze dokumentu: np. możliwe jest wyświetlenie wszystkich tytułów podrozdziałów rozdziału 2, albo przeniesienie całego logicznego fragmentu tekstu np. rozdziału wraz całą zawartością, bez konieczności jawnego sprawdzenia gdzie on się kończy, w inne miejsce. Edytory strukturalne mogą także (choć nie muszą) umożliwiać definiowanie i wykorzystywanie szablonów na prywatne potrzeby autora.