|
Aufgabe 8: XML, RSS und XSLT
|
|
Das Aufgabenblatt bitte nicht selbst am FBI ausdrucken!
Ihr habt in der letzten Aufgabe die Artikelverwaltung an die Datenbank angebunden.
Heute geht es um die Verarbeitung von Artikeln, die aus der Datenbank abgefragt und dann im XML-Format an Redaktionen verschiedener Zeitungen geliefert werden sollen. Ihr habt dabei die Möglichkeit, Eure eigenen Artikel bei zwei Zeitungen zur Publikation einzureichen. Da die Verlage ein bestimmtes Artikelformat fordern, müsst Ihr Eure Daten
entsprechend formatieren.
Konkret sollt Ihr ein Servlet entwickeln, das Folgendes leistet:
- Auslesen eines eigenen Artikels aus der Datenbank mit Hilfe einer einfachen SQL-Query.
- Umwandeln des Artikels in ein generisches XML-Format gemäß dieser DTD bzw. dieses XML-Schemas. Verwendet dazu die im JDK vorhandenen Möglichkeiten, einen XML-DOM-Baum aufzubauen. Wie dies genau funktioniert, findet Ihr in der Doku. Beachtet bei der XML-Erzeugung die Reihenfolge und Namen der Elemente, wie sie in der DTD angegeben sind.
- Herausschreiben des XML-Dokuments in den Ausgabestream des Servlets. Das Ausgeben des erzeugten XML-Dokuments ist leider nicht trivial mit toString() möglich. Ihr findet ein Beispiel in der Dokumentation, wie das Herausschreiben umzusetzen ist.
- Ausgabe eures Artikels im eigenen Layout mittels XSLT. Als kleine Starthilfe könnt ihr euch die XSL-Vorlage lokal speichern und anpassen.
Zum Testen ruft Ihr Euer Servlet einfach direkt auf. Wenn Ihr Euch das Ergebnis des Servlets mit der "Quelltext ansehen"-Option Eures Browsers anschaut, muss dort ein gültiges XML-File zu sehen sein (Beispiel). Ihr könnt das erzeugte XML-File auch hier gegen das oben genannte XML-Schema validieren, um zu überprüfen, ob es die richtige Struktur hat. Sobald das funktioniert, könnt Ihr versuchen, Euren Beitrag an die Redaktionen zu versenden. Dazu könnt Ihr folgendes Formular benutzen:
In das Textfeld gebt Ihr bitte die URL Eures Servlets ein, welches das XML für den Artikel generiert. Als Ergebnis sollte der Artikel hübsch formatiert im Abendblatt oder in der Morgenpost erscheinen.
- Entwerft eine kleine Suchseite, die mindestens einen Parameter aus einem Formular an das Servlet übergibt, der dann in die Query eingebunden wird, so dass ein zur Suchanfrage passender Artikel zurückgeliefert wird. (1 Punkt)
- Entwerft ein Servlet, das mehrere Artikel (z.B. alle Artikel Eurer Gruppe) auf einmal aus der Datenbank liest und daraus einen RSS-Feed nach Version 0.91 generiert (Beispiel: Spiegel online Schlagzeilen). Als <title> eines <item> soll dabei jeweils der Titel eines Artikels verwendet werden, als <link> soll eine URL angegeben werden, unter der der entsprechende Artikel vollständig anzeigt wird. Für das Auslesen und Anzeigen des Artikels unter dieser URL könnt Ihr Funktionalität aus Aufgabe 7 und der ersten Bonusaufgabe dieser Woche kombinieren. Testet Euren Feed mit einem geeigneten Feedreader, beispielsweise Firefox mit seinen Live Bookmarks. (2 Punkte)
Viel Spaß!
| Mi 12-16 Uhr
| Raum: B-201 und RZ
| Start: 05.04.2006
|
Eine Veranstaltung des Arbeitsbereichs Verteilte Systeme und Informationssysteme (VSIS)
|
|
Letzte Änderung : 31.05.2006 - 10:14
EMail: prInt06@vsis.informatik.uni-hamburg.de