
ObjectHTML
Wstęp - geneza, zastosowania |
Składania definicji grupy jest następująca: group iden1 "stała" [extends iden2] gdzie iden1 jest nazwą (identyfikatorem) grupy, stała jest długą nazwą grupy, zaś iden2 jest nazwą grupy bazowej. Przykład hierarchii grup: group g_wierzchołek "Całość" group g_wprowadzenie "Wprowadzenie" extends g_wierzchołek group g_rozwinięcie "Rozwinięcie" extends g_wierzchołek group g_zakończenie "Zakończenie" extends g_wierzchołek group g_roździał_1 "Rozdział 1" extends g_rozwinięcie group g_roździał_2 "Rozdział 2" extends g_rozwinięcie group g_roździał_3 "Rozdział 3" extends g_rozwinięcie /* Struktura powyższych grup: g_wierzchołek g_wprowadzenie g_rozwinięcie g_rozdział_1 g_rozdział_2 g_rozdział_3 g_zakończenie */ Istnieje kilka instrukcji stworzonych z myślą o obsłudze group. Dokładniejszy ich opis znajduje się w dalszej części pracy (por. p. 5.10.15 - 5.10.21).
Przykłady: group g_main calss c_foo groups g_main method main() decl i, j, prev, next set i [ grmembers(g_main,cofiles) ] set prev [ beforeword($i,$this)] set next [ afterword($i,$this)] $this.longname; nl '<- ' if $prev != "" then set j $prev,".longname" '<a href ="' call($prev,href)() '"></a>' $$j '</a>' else 'brak' endif ' | ' if $next != "" then set j $next,".longname" '<a href ="' call($next,href)() '"></a>' $$j '</a>' else 'brak' endif ' ->' nl endm endc file f1 "Jeden" do c_foo.main() file f2 "Dwa" do c_foo.main() file f3 "Trzy" do c_foo.main() /* Po skompilowaniu powyższego przykładu powinny powstać trzy pliki: f1.html o następującej zawartości: "Jeden <- brak | <a href="f2.html">Dwa</a> ->" f2.html o następującej zawartości: "Dwa <- <a href="f1.html">Jeden</a> | <a href="f3.html">Trzy</a> ->" f3.html o następującej zawartości: "Trzy <- <a href="f2.html">Dwa</a> | brak ->" */ Powyższy przykład doskonale ilustruje elastyczność ObjectHTML w tworzeniu struktur nawigacyjnych. Dodanie nowego pliku który dziedziczy z klasy c_foo i wchodzi do struktury nawigacyjnej nie wymaga żadnych zmian w definicji klasy. |