4. Budujemy szablony dodatkowe
Pora przyjrzeć się teraz, jak tworzyć szablony dla poszczególnych modułów. Tutaj nie możemy już oczywiście wyświetlać prologów i DTD, dlatego naszym podstawowym narzędziem będzie opt:root, który pozwoli ładnie opakować nam kod do wyświetlenia:
<?xml version="1.0" ?> <opt:root> <h1>News</h1> <p>Strona z newsami</p> <opt:section name="news"> ... </opt:section> </opt:root>
Analogicznie jak poprzednio, prolog XML widoczny w kodzie, znajduje się tam wyłącznie dla wiadomości OPT (co nie znaczy, że może zawierać kompletne głupoty. Kompilator akurat sprawdza jego zawartość oraz składnię). Dzięki opt:root nie musimy się przejmować ograniczeniem "jeden główny znacznik", a przy okazji możemy ustawić warunki escape'owania oraz dołączyć dodatkowy szablon ze snippetami, które będziemy mogli używać w naszym kodzie:
<?xml version="1.0" ?> <opt:root escaping="yes" include="snippets.tpl"> <h1>News</h1> <p>Strona z newsami</p> <opt:section name="news"> ... </opt:section> <!-- wklej tutaj domyslny snippet do stronicowania z pliku snippets.tpl --> <opt:insert snippet="pagination" /> </opt:root>
Z tego powodu opt:root warto mieć w każdym szablonie nawet, jeśli wyłączyliśmy odpowiednie ograniczenie kompilatora.