XML-Serverpages Vortrag im Rahmen des Seminars XML-Technologien Tobias Faessler
XML ServerPages2 Ausgangslage
3 XSP – Was ist das? eXtensible Server Pages XSP ist eine Komponente von Cocoon, mit der man dynamische Webapplikationen bauen kann.
XML ServerPages4 Was war die Absicht dahinter Man wollte es den Webdesigner ermöglichen, dass sie auch mit dynamischen Webinhalten zurecht kommen, ohne sie zu zwingen eine Programmiersprache zu lernen. Dieser Ansatz ist auf klare Arbeitsteilung ausgerichtet: –Applikationsentwickler –Inhalt Autor –Präsentationsdesigner
XML ServerPages5 Beispiel 1: Aufbau XSP XSLT XML HTML
XML ServerPages6 Beispiel 1: Code Beispiel 1 XSP XSLT
XML ServerPages7 Was ist zu beachten XSP-File: –Page-Tag als Root-Element jedes XSP- Dokuments. –Expression-Tag –benutzerdefinierte Elemente Cocoon:
XML ServerPages8 Wie unterscheidet sich XSP zu JSP XSP kann mit regulären XML-Parsern überprüft werden. XSP kann mittels XSLT transformiert werden. XSP ist keine Programmiersprache.
XML ServerPages9 Beispiel 1 mit ASP <% seitenTeil = "Dieser Abschnitt wird am Anfang im XSP-File generiet aber erst am Schluss aufgerufen " seitenTeil = seitenTeil & "Datum:" & Date() %> Beispiel1 Beispiel1
XML ServerPages10 Beispiel 2: XSP mit Logic intern XSLT XML HTML XSP& Logic
XML ServerPages11 Beispiel 2: Code Beispiel 2 XSP XSLT
XML ServerPages12 Was ist zu beachten XSP-File – und Element Die dienen dazu zusätzliche Java Klassen in das XSP-File einzubetten. –Logic-Tag Ermöglicht es Java-Code direkt im XSP-File zu integrieren. – Dient dazu den Wert einer Java-Variablen im XSP-File auszugeben. – Sagt dem XML Parser, dass es sich nicht Um XML handelt. Problem: if (a d {…}) Lösung2: if (a < b && c > d {…})
XML ServerPages13 Beispiel 3: Datenbank XSP XSLT XML HTML XSP & Logic Output Datenbank
XML ServerPages14 Beispiel 3: Code Beispiel 3 xml_Adressen.mdb (MS Access Datenbank)xml_Adressen.mdb XSP XSLT CSS
XML ServerPages15 Was ist zu beachten XSP-File –Elemente-Tag dient zur dynamischen Generierung von Elementen. –Attribut-Tag dient zur dynamischen Generierung von Attributen. Cocoon: –Sitemap Eintrag für das Style-Sheet:
XML ServerPages16 Beispiel 4: externes Logic-sheet XSP XSLT XML HTML LogicSheet
XML ServerPages17 Externes Logicsheet Externe Logicsheets dienen dazu Programmiercode und XML- Markup zu trennen. Gründe sind: Übersichtlichkeit, Risiko eines Sprachenmix, Wiederverwendbarweit des Sourcecodes Ähnlich wie bei der JAVA-API die Klassen, kommen auch hier immer wieder neue Logicsheets hinzu. (request, response, session, cookie, sendmail, …) /xsp/index.html
XML ServerPages18 Beispiel 4: Code Beispiel 4 XSP XSLT
XML ServerPages19 Was ist zu beachten XSP-File –xmlns:util=" Bem: Wir können auch eigene Logicsheets schreiben.
XML ServerPages20 Was läuft im Hintergrund Cocoon generiert aus dem XSP-und dem XSLT-File ein Java-File. Die generierten Java-Files sind eine gute Hilfe bei der Fehlersuche, da Cocoon oft nur die Kompilierfehler, mit Zeilennummer angibt. Die Java-Files findet man unter: [Tomcat-HOME]\work\localhost\cocoon\cocoon- files\org\apache\cocoon\www\bspVortrag\beispiel1.java
XML ServerPages21 Beobachtung in der Praxis Entwicklung eines Content-Management- Systems. Verkauf Art-Team (Photoshop) Build-Team (XSLT) Datenbankentwickler: Java-Team oder VB-Team Projektleiter
XML ServerPages22 Versionenkrieg Ich habe gearbeitet mit: NT 4 Service Pack 6a Apache Tomcat Cocoon (mit Version gab es Probleme) Text-Editor Tipp: Gelegentlich, das Work-Directory in Cocoon löschen wirkt wunder.
XML ServerPages23 Links docs/xsp/index.html