XML: CSS-Erzeugung mit PHP

Werbung
XML: CSS-Erzeugung mit PHP
Holger Jakobs – [email protected], [email protected]
2008-11-21
Bei der XML-Dokumentformatierung mittels CSS haben wir die Stylesheets mit einem
einfachen Editor erzeugt und als Datei abgelegt. Wenn wir aber die XML-Datei aus einer
Datenbank dynamisch erzeugen, dann ergeben sich die Tag-Namen der Elemente aus der
Datenbankabfrage und sind nicht vorher bekannt.
Daraus ergibt sich, dass die Styleangaben ebenso dynamisch erzeugt werden müssen wie
die XML-Inhalte. Hier bietet sich also erneut die Verwendung von PHP an, wie die folgende
Abbildung verdeutlicht:
XML1.php
1
2
WEBSERVER
Kunden−DB
DB−SERVER
3
4
CSS1.php
1 Browser fragt PHP−Script XML1.php nach dem Ergebnis
einer SQL−Abfrage.
2 Server antwortet mit XML−Dokument, das einen Link auf
ein CSS erzeugendes PHP−Script enthält.
3 Browser interpretiert den Link auf das CSS−PHP−Script
und fragt beim Server nach dem Stylesheet an.
4 Server antwortet mit dem dynamisch erzeugten CSS−
Stylesheet.
Gehen Sie zur Entwicklung einer Lösung wie folgt vor:
1. Bauen Sie zunächst einmal einen Datei-Link auf ein CSS-Stylesheet in Ihre XMLAusgabe ein. Verwenden Sie also eine vorher bekannte Tabelle, so dass Sie die TagNamen kennen.
2. Ersetzen Sie den Link dann durch den Aufruf eines PHP-Scripts, das als ContentType ”text/css” erzeugt.
1
CSS-Erzeugung mit PHP
3. Überlegen Sie, wie Sie die Information über die SQL-Abfrage an das Stylesheet weitergeben, denn es muss schließlich von der Datenbank die Spaltennamen erfragen.
4. Gewisse Teile des CSS-Stylesheets bleiben unverändert, z. B. der Name des RootElements.
5. Die Namen der Tags für die einzelnen Spalten dagegen variieren und müssen dynamisch erzeugt werden.
6. Schauen Sie, ob Sie verhindern können, dass die evtl. große Datenmenge der XMLAbfrage auch bei der CSS-Erzeugung wieder von der Datenbank ermittelt werden
muss. Schließlich werden nur die Spaltennamen gebraucht und nicht die Nutzdaten.
Vergessen Sie nicht, Ihre Ergebnisse zu dokumentieren.
$Id: 02-CSS-PHP.tex,v a5120cdeb070 2008/11/06 11:45:29 bibjah $
2
Herunterladen