!--a11y-->
Trennung von Datenbeschaffung, -auswertung und -ausgabe 
Um der BSP-Applikation eine klare und übersichtliche Struktur zu geben, ist es sinnvoll, logische und funktionale Elemente in den
Eventhandlern (diese enthalten ausschließlich Programmcode) unterzubringen. Im HTML-basierten Layout-Teil sollte dynamischer Scripting-Code lediglich für die Präsentation der Daten auf der jeweiligen Seite verwendet werden.
Anhand der Büchersuche in diesem Tutorial wird eine saubere Trennung von Datenbeschaffung, Datenauswertung und Datenausgabe demonstriert:
- Im OnInputProcessing der Suchseite werden die Seitenattribute für die Folgeseite gesetzt. Des weiteren soll, wenn nichts eingegeben wurde, auch nicht auf die Ergebnisseite navigiert werden.
- In der Initialisierung (OnInitialization) der Ergebnisseite
results.htm wird die Methode search_book zum Suchen passender Bücher aufgerufen. Im Falle einer ungültigen ISBN wird auf die Seite invalid_isbn.htm navigiert, im Falle eines anderen Fehlers auf die Fehlerseite. Trat kein Fehler auf, werden die gefundenen Bücher in die interne Tabelle bookcat_tab geschrieben.
- Im Layout-Teil wird dann nur geprüft, ob diese Tabelle leer ist (in diesem Fall wurden keine passenden Eingaben gefunden). Enthält sie Bücher, so werden diese in einer HTML-Tabelle ausgegeben.
Somit werden Funktionalität und Logik (Fehlerbehandlung) aus dem Layout-Teil herausgehalten.