4. Struktura logiczna tekstu

Wszystko o czym powiedzieliśmy do tej pory wyraźnie wskazuje, że istnieje potrzeba takiego przygotowania tekstów, aby oprócz treści “właściwej” (tego co autor ma do powiedzenia) zawierały także informacje dodatkowe. Te informacje mogą być dwojakiego rodzaju: służące do automatycznego klasyfikowania dokumentu oraz określające wyraźnie i jednoznacznie strukturę logiczną dokumentu. Sytuacja jest nieco podobna do wymagań jakie stawiane są tekstom drukowanym tradycyjnie na papierze. Gotowa książka oprócz treści zawiera różne elementy wprowadzone w procesie składu (różne kroje i wielkości czcionek, paginy, światła itp). Tekst bez tych dodatkowych elementów, które nic przecież nie wnoszą do zawartości merytorycznej, byłby bardzo trudny w odbiorze dla czytelnika.

W przypadku tekstów, które mają być publikowane w postaci elektronicznej droga między autorem a czytelnikiem jest nieco inna i inne są wymagania na ostateczną (jeśli w ogóle da się taką zdefiniować) postać dokumentu. Ponieważ nie jest znana z góry ostateczna forma prezentacji informacji to ograniczone zastosowanie ma klasyczne podejście do redakcji technicznej tekstu. Nie da się raz na zawsze definitywnie przypisać elementom strukturalnym tekstu fizycznych atrybutów (takich jak krój czy wielkość czcionek, różnego rodzaju światła, czyli odstępy między różnymi częściami tekstu itp). Można co najwyżej, przewidując możliwe sposoby prezentacji tekstu, przygotować różne szablony (style sheets) dla różnych mediów, uwzględniające ich możliwości i ograniczenia. Na przykład na kolorowym terminalu tekstowym nie ma możliwości wyróżnienia tytułu przez powiększenie czcionki, ale jest możliwość zastosowania innego koloru.

W ten sposób dochodzimy do sedna sprawy. Ponieważ nie da się złożyć tekstu w sensie tradycyjnym, a tylko przygotować go do “włożenia w pewne szablony” lub późniejszej automatycznej obróbki, to wszystkie logiczne elementy tekstu muszą być właściwie zidentyfikowane i odpowiednio oznaczone. Takie przygotowanie tekstu oprócz umożliwienia automatycznego formatowania dokumentu, pozwala także dokonywać różnych niezbędnych operacji na tekście. Jeśli np. chcemy opublikować książkę czy inny duży tekst w WWW to oczywiste jest, że należy podzielić go na “kawałki” umieszczając każdy rozdział w innym pliku. Ale to nie wszystko. Każdy rozdział (poza być może pierwszym i ostatnim) powinien zawierać odnośniki (link) do rozdziału poprzedniego i następnego. Tego typu podział i powiązania mogą być łatwo zrealizowane w sposób automatyczny (czyli za pomocą odpowiedniego programu), ale tylko wtedy kiedy informacja o granicach i zawartości rozdziałów będzie obecna w dokumencie źródłowym. I nie będzie oczywiście żadnym problemem zastosowanie tego schematu do dokumentu bardziej skomplikowanego — zawierającego więcej niż jeden poziom rozdziałów (np. rozdziały, podrozdziały itd.). Oczywiście w takim przypadku na każdej stronie zawierającej podstawową jednostkę podziału naszego tekstu (np. podrozdział) powinny znaleźć się odnośniki do sąsiednich podrozdziałów oraz do początku bieżącego rozdziału.

Co więcej tak przygotowany tekst można przetwarzać w różny sposób, bez konieczności wprowadzania jakichkolwiek zmian do jego zawartości “źródłowej”. Dokument staje się więc “otwarty”, jego format przestaje być przeszkodą w ponownym wykorzystaniu (jak to bardzo często niestety bywa — spróbujmy np. przenieść dokument zapisany w formacie edytora TAG na stronę WWW), a odwrotnie umożliwia dostosowywanie formy prezentacji do aktualnych wymagań i możliwości odbiorcy oraz pozwala na wielokrotne używanie tekstu w różny sposób i do różnych celów.

W tym miejscu warto zwrócić uwagę na jeden fakt: tekst zapisany w formacie uwzględniającym jego strukturę logiczną zwykle nie bardzo nadaje się do bezpośredniej prezentacji. Aby można go było wykorzystać (przeczytać, umieścić na serwerze zawierającym zbiór dokumentów itp.) musimy go przekształcić na inną postać albo zdefiniować odpowiedni proces konwersji oparty np. na wykorzystaniu szablonów. Ujawnia się więc w tym momencie podział na dwa typy formatów tekstów: format strukturalny i format prezentacyjny.

Dokumenty w formacie strukturalnym znakomicie nadają się do przetwarzania, indeksowania, klasyfikowania, umieszczania w bazach danych. Ponieważ nie zawierają informacji o atrybutach typograficznych czy zależnościach geometrycznych między różnymi elementami dokumentu, to aby można było je “wygodnie” przeczytać muszą być przetransformowane do jakiegoś formatu prezentacyjnego. I nie ma z tym żadnego problemu. Wystarczy z każdym z elementów logicznych dokumentu źródłowego związać pewien zestaw atrybutów fizycznych i zakodować je za pomocą odpowiednich poleceń formatujących. Takie przypisanie parametrów fizycznych do logicznych części dokumentu nazywane jest często szablonem. Przejście w drugą stronę, czyli od dokumentu w formacie prezentacyjnym do dokumentu strukturalnego nie jest możliwe bez udziału człowieka, który musi “zinterpretować” sformatowany tekst. Co więcej taka “interpretacja” wcale nie musi być jednoznaczna…

Formaty prezezentacyjne nie muszą oczywiście odwoływać się bezpośrednio do fizycznych atrybutów, czy możliwości urządzeń wyjściowych. Współczesne formaty prezentacyjne takie jak PostScript, PDF (Portable Document Format), RTF czy HTML to języki bardzo wysokiego poziomu. Służą one jednak głównie do definiowania atrybutów typograficznych i zależności geometrycznych między różnymi elementami dokumentu w czasie prezentacji. Posiadanie takich właśnie możliwości jest kryterium zakwalifikowania danego formatu do rodziny formatów prezentacyjnych.