base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
Eine der Möglichkeiten von XML ist es, dass man aus ein- und derselben Datenbasis unterschiedliche Ausgaben für verschiedene Formate erzeugen kann - ohne irgendetwas an den Seiten zu ändern. Im folgenden wird gezeigt, wie aus einer XML-Seite die Ausgabe für HTML, WAP und einfachen Text erzeugt wird. Wem sich der Vorteil hier nicht gleich erschliesst, möge sich vor Augen halten, dass er vielleicht Hunderte von Seiten erstellt hat, die er nun durch das Anpassen eines einzigen Tag-Satzes automatisch ALLE in ein neues Format wandeln kann. <h2>XML</h2> Hier die XML-Seite, der Ursprung für alle anderen Seiten: <code> <header titel="Meine Seite"/> <einleitung> Hier ist meine persönliche Seite. </einleitung> <adressen> <person> <name>Hans Huber</name> <strasse>Waldweg 3</strasse> <ort>12345 Berlin</ort> <telefon>030 / 12345678</telefon> </person> <person> <name>Andrea Aal</name> <strasse>Zossener Str. 9a</strasse> <ort>10999 Berlin</ort> <telefon>030 / 98765431</telefon> </person> </adressen> &disclaimer; <footer/> </code> In der eigentlichen XML-Seite sollte kein "Format-spezifischer" Code vorkommen, wie einleitende oder abschliessende Tags (z.B. <c><html><head><title>...</c> in HTML). Da wir sie in einer vernünftigen HTML-Seite und entsprechendes in einer wohlgeformten WAP-Seite brauchen, verwenden wir dafür die alleinstehenden Tags "header" (dem wir noch den Titel als Parameter mitgeben) und "footer". Man kann, wenn man weiss, was man tut, trotzdem Tagnamen verwenden, die in bestimmten Formaten eine Bedeutung haben, z.B. das <c><b>...</b></c>, das ja sogar in HTML und WAP dieselbe Bedeutung hat. Damit kann man das Tag einfach undefiniert durchreichen. Bei der reinen Text-Ausgabe ist dies zwar nicht gewünscht, allerdings weiss man ja, wofür das <c><b></c>-Tag steht und es für diesen Fall dann umdefinieren. <h2>HTML</h2> Hier nun die Tag-Datenbank für die HTML-Ausgabe: <tab> ... </tab> Im <c>header</c> wird der Parameter "titel" entsprechend eingesetzt. <c>adressen</c> baut eine Tabelle um die Ausgabe der Personen, der Rest sollte klar sein. Und das ist die HTML-Seite die erzeugt wird: <code> <html><head><title>Adressen</title></head><body bgcolor=ffffff> <h2>Adressen</h2> <p><i> Hier ist meine persönliche Adressenliste. </i></p> <table bgcolor=e0e0e0 cellpadding=4 cellspacing=0> <tr align=middle bgcolor=d0d0d0><td>Name</td><td>Strasse</td><td>Ort</td><td>Telefon</td></tr> <tr> <td><b>Hans Huber</b></td> <td>Waldweg 3</td> <td>12345 Berlin</td> <td>030 / 12345678</td> </tr> <tr> <td><b>Andrea Aal</b></td> <td>Zossener Str. 9a</td> <td>10999 Berlin</td> <td>030 / 98765431</td> </tr> </table> <p align=center><font size=2>Ich distanziere mich von den Inhalten aller weiterführenden Links!</font></p> </body></html> </code> <h2>WML</h2> Hier nun die Tag-Datenbank für die WML-Ausgabe: Der anfängliche Perl-Abschnitt im header ist notwendig, damit baseportal die Seite auch als WAP-Seite schickt, sonst können WAP-Browser die Seite garnicht verstehen. Ansonsten wird ebenfalls mit dem "titel"-Parameter ein entsprechender "Seitenkopf" erzeugt. Der "Disclaimer" wird in diesem Beispiel weggelassen, da WAP-Handys sowieso so wenig Platz auf dem Display haben. Die Definition von disclaimer (mit leerem "Code"-Feld) ist aber notwendig, denn sonst würde &disclaimer; einfach so in der Seite stehen bleiben. Die restlichen Tags entsprechen in etwa denjenigen bei HTML. Und das ist die WML-Seite die erzeugt wird: <code> <perl>$_header="Content-type: text/vnd.wap.wml\n\n";</perl> <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card title="Adressen"> <b>Adressen</b> <p><i> Hier ist meine persönliche Adressenliste. </i></p> <table columns=4> <tr><td>Name</td><td>Strasse</td><td>Ort</td><td>Telefon</td></tr> <tr> <td><b>Hans Huber</b></td> <td>Waldweg 3</td> <td>12345 Berlin</td> <td>030 / 12345678</td> </tr> <tr> <td><b>Andrea Aal</b></td> <td>Zossener Str. 9a</td> <td>10999 Berlin</td> <td>030 / 98765431</td> </tr> </table> </card></wml> </code> <h2>Text</h2> Und zum Schluss die Tag-Datenbank für die reine Text-Ausgabe: <tab> ... </tab> Hier setzen wir nun etwas Perl-Programmierung ein, um beim header den Titel komplett GROSS zu schreiben. Einen footer brauchen wir nicht. Die meisten anderen Tags geben einfach ihren Inhalt unverändert weiter (<c>$_</c>). Bei <c>adressen</c> werden noch überflüssige Zeilenumbrüche und Tabs entfernt. Und das ist die (zugegeben sehr schlichte) Text-Seite die erzeugt wird: <code> ADRESSEN Hier ist meine persönliche Adressenliste. Hans Huber, Waldweg 3, 12345 Berlin, 030 / 12345678 Andrea Aal, Zossener Str. 9a, 10999 Berlin, 030 / 98765431 --- Ich distanziere mich von den Inhalten aller weiterführenden Links! --- </code> Mit Datenbanken umsetzen Mancher wird sich bei diesem Beispiel verwundert die Augen reiben: Nanu, das ist doch eigentlich hervorragend für eine Datenbank geeignet - und genau dafür gibt es doch baseportal... Richtig! ;-) Hier zerfliessen die Grenzen zwischen einem Datenbank-System wie baseportal und XML - letzteres wurde u.a. so gestaltet, dass es auf der einen Seite einfach aus Datenbanken generiert und auf der anderen Seite leicht in Datenbank integriert werden kann. Natürlich sollte man die Personen mit einer entsprechende baseportal-Datenbank verwalten und dann mit <loop>...</loop> in die Seite einbinden... ;-)
Name:
Passwort:
Stichworte:
Version:
1
2
3 Angebot:
Alle
Nur Miete / Lizenz
Nur Miete / Lizenz professional
Nur Miete
Nur Miete smart + pro
Nur Miete smart + pro / Lizenz
Nur Miete pro
Nur Miete ab pure2, smart2, pro1
Nur Lizenz
Nur Lizenz professional
Nur Kostenlos
Ohne Änderungen zurück zur Seite
-
+
©
baseportal
GmbH. Alle Rechte vorbehalten.
powered in 0.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!