Spis literatury jest rodzajem listy. Ponieważ istotą każdej listy jest powtarzanie się układu elementów, idealnym rozwiązaniem byłoby użycie osobnych znaczników dla każdego pola opisu bibliograficznego: nazwiska autora, tytułu, nazwy wydawcy, miejsca i roku wydania, uwag. Niestety, HTML jest zbyt ubogi, by zawierał odpowiednie znaczniki na każdą okazję. Nie pozwala także na definiowanie własnych znaczników. Zawsze jednak można użyć klas stylów.
Zasady automatycznego formatowania poniższego spisu są określone zestawem klas stylów. Obejmują one nie tylko dobór czcionek, ale także znaki interpunkcyjne oddzielające od siebie typowe fragmenty opisu.
Cały spis jest zorganizowany jako lista numerowana (element ol
).
Dla umożliwienia formatowania spisu literatury inaczej, niż wszystkich innych list numerowanych
(np. wielkość czcionki), zdefiniowałem klasę stylu o nazwie spislit
.
Jest to sensowne, gdyż w jednej pracy można umieścić kilka spisów literatury,
np. po każdym rozdziale.
Do opisu tytułu pozycji bibliograficznej zastosowałem element znakowania logicznego cite
,
przeznaczony właśnie do tytułów. Obszarowi tego elementu nadałem właściwości wizualne, obowiązujące
w całym dokumencie (choćby po to, żeby tytuły w tekście i w spisie wyglądały tak samo).
Jednak zastosowanie elementu cite
wewnątrz zakresu klasy spislit
automatycznie wygeneruje przy jego zakończeniu znak średnika i spację.
Ta własność obowiązuje tylko w zakresie klasy spislit
.
Decyzja, by po tytułach następowały kropki, a nie średniki, wymaga zmiany tylko jednego znaku w tylko jednym miejscu źródłowego tekstu dokumentu.
W wielu tytułach ujętych w spisie występują skróty pełniące rolę nazw własnych.
Zostały one oznakowane elementem acronym
, podobnie jak wszystkie
takie skróty występujące w tekście. Wpis w zestawie stylów wymusza, by skróty te
były w tytułach składane czcionką tego samego kroju, co cały tytuł,
lecz kontrastującej odmiany (prostej).
Pozostałym powtarzalnym częściom opisu bibliograficznego nie odpowiada
żaden element znakowania logicznego zdefiniowany w HTML.
Dlatego posłużyłem się elementem ogólnego przeznaczenia span
,
uzupełnionego wskazaniem zdefiniowanej przez mnie klasy stylu,
osobnej dla nazwiska autora (klasa autor
),
nazwy wydawcy (klasa wydawca
)
i uwag dodatkowych (klasa uwagi
).
Opis można rozbudować o inne elementy.
Klasę stylu uwagi
zaprojektowano tak, by objęty nią tekst nie był widoczny na wydruku.
Zatem tekst źródłowy to coś więcej, niż wydruk.
Dodatkowo każdy element spisu ma unikalny identyfikator,
by można go było użyć jako punkt docelowy odsyłacza umieszczonego w tekście.
Zdecydowałem, by każdy identyfikator pozycji bibliograficznej rozpoczynał się
ciągiem znaków „bib-
”. Taka konwencja pozwoli szybko
odróżnić rozsiane w tekście odsyłacze do spisu literatury
od innych odsyłaczy umieszczonych w pliku źródłowym.
Struktura przedstawionego spisu przypomina strukturę tabeli bazy danych. Mimo ograniczeń narzuconych przez zastosowany język formatowania (np. kolejność tekstów na wydruku zależy od kolejności w pliku źródłowym) udało się osiągnąć efekt oddzielenia opisu warstwy znaczeniowej od opisu warstwy wizualnej. W środowiskach dających możliwość definiowania własnych znaczników (np. za pomocą metajęzyka XML) ten sam efekt można osiągnąć łatwiej i w bardziej elegancki sposób. W środowiskach edytorów wizualnych sposób postępowania może być analogiczny do przedstawionego tutaj, może też wykorzystywać gotowe narzędzia przeznaczone specjalnie do tworzenia i zarządzania spisami literatury.