Home Previous Zeitschrift 2000/11 Next Previous Up Next Previous Up Next Previous Up Archiv Index
 
  Inhalt:
 
 
 

   Status Quo: HTML

   XML zur Rettung

   Überblick

   Autor

XML mit FileMaker: Die Erste

Was ist XML?

Die Abkürzung XML kursiert seit einiger Zeit durch das Web. XML soll das Web besser, schneller und anwenderfreundlicher machen. Doch was ist XML eigentlich und wie funktioniert es? Wo kann es eingesetzt werden und wie wird es eingesetzt?

XML ist eine Abkürzung für "EXtensible Markup Language." Eine "Markup Language" ist eine Menge von Tags ("Marken"), die sowohl für den Computer, als auch für Menschen leserlich sind. Die bekannteste Markup Language ist HTML (HyperText Markup Language) mit der die meisten Seiten im Internet geschrieben sind. Ein Beispiel für HTML:

<HTML>
<HEAD>
<TITLE>XML</TITLE>
</HEAD>
<BODY>
<H1>XML - Eine Einf&uuml;hrung</H1>
</BODY>
</HTML>

Bestimmte Tags sagen dem Programm (Internet Browser), wie es mit den Daten umgehen soll. Die Informationen, die den "Kopf" der Datei betreffen, werden durch die Tag "<HEAD>" umschlossen und der Textteil des Dokuments von "<BODY>". Derselbe Tag mit einem "/" (Slash) beendet den markierten Teil. Der Browser kennt die Regeln von HTML und "weiss", dass z.B. "<H1>" eine grosse Überschrift markiert, die Fett und gross dargestellt wird.

"Extensible" deutet an, dass der "Wortschatz" von XML nicht fest definiert ist und leicht erweitert werden kann. Der Vorteil von XML gegenüber HTML ist, dass der Entwickler seine eigenen Tags definieren kann, und so dem Computer "erklären" kann, was die einzelnen Daten bedeuten. Besonders, wenn auf Datenbanken zugegriffen wird, kann das dem Entwickler und dem User nutzen.

Der Status Quo: HTML

Um zu verstehen wie XML genau eingesetzt wird, hier erst einmal ein Beispiel, wie Datenbanken mit HTML funktionieren. Stellen Sie sich vor, Sie wollen heute abend ins Kino. Dazu besuchen Sie eine Seite, die alle Kinos Ihrer Stadt mit dem aktuellen Programm auflistet. In HTML sieht das Ganze ungefähr so aus:

Bild: HTML Tabelle

Diese Tabelle liegt natürlich nicht als statische Seite vor. Sie wird aus einer Datenbank generiert. Dazu gibt es zahlreiche verschiedene Methoden. Mit der FileMaker CDML (Claris Dynamic Markup Language) sieht die Vorlage zum Beispiel so aus:

<TABLE>
   <TR>
      <TH>Kino</TH>
      <TH>Film</TH>
      <TH>Uhrzeit/TH>
   </TR>
[FMP-RECORD]
   <TR>
      <TD>[FMP-FIELD: Kino]</TD>
      <TD>[FMP-FIELD: Film]</TD>
      <TD>[FMP-FIELD: Uhrzeit]</TD>
   </TR>
[/FMP_RECORD]
</TABLE>

Wieder gibt es hier bestimmte Tags, die dem Programm, in diesem Fall dem FileMaker WebCompanion, mitteilen, was es tun soll. Der Bereich zwischen den [FMP-RECORD] Tags wird einfach für jeden Datensatz wiederholt und mit den entsprechenden Daten gefüllt. Die ganze Arbeit wird vom Server durchgeführt: Er sucht die entsprechenden Datensätze (das Programm dieser Woche), sortiert (alphabetisch nach Kino) und stellt alles in HTML dar, damit es im Web lesbar ist. Besonders mühsam wird das, wenn Sie jetzt eine Änderung haben wollen. Zum Beispiel will der User die Daten nach Uhrzeit und nicht nach Kinos sortiert haben. Der Browser hat keine Informationen, darüber, was die Daten bedeuten, deshalb muss er eine neue Anfrage an den Server schicken, der wieder die ganze Arbeit leisten muss, mit nur einem geänderten Parameter. Wenn der Browser wüsste, welche der Daten die Uhrzeit darstellen, könnte er einfach die neue Sortierung durchführen, ohne den Server zu belasten.

XML zur Rettung 

XML biete die Möglichkeit, die Daten zu erklären. Dass bietet dem Entwickler der Webseite die Chance viel Arbeit an den Browser zu übergeben und so den WebServer zu entlasten. Anders als bei HTML wird die Struktur (=Layout der Webseite) nicht zusammen mit den Daten über geben. Die Struktur wird als getrenntes File (XSL-Stylesheet) mitgeliefert. Was zuerst nach doppeltem Aufwand aussieht hat zwei Vorteile:

  1. Bei erneuten Anfragen an die Datenbank, muss das Layout nicht erneut mitgeliefert werden, denn es liegt ja schon beim Server vor. Da das Layout oft mir sehr vielen Grafiken aufbereitet ist, wird hier die Internet Leitung deutlich entlastet.
  2. Sollen die Daten für verschiedene Medien aufbereitet werden (z.B. WML für WAP-Handies) muss nur eine neue XSL Datei erstellt werden.
Um eine XML Liste zu erhalten machen Sie folgendes:

1. Öffnen Sie den FileMaker Pro 5.0. Legen Sie eine neue Datenbank namens "kino.fp5" an.
2. Legen Sie drei Felder an: Kino (Text), Film (Text) und Uhrzeit (Zeit). Bestätigen Sie die Felddefinitionen. FileMaker legt Ihnen nun sofort ein einfaches Layout mit den drei neuen Feldern an. Wechseln Sie in den Tabellenmodus.
3. Geben Sie ein paar Kinos, Filme und Zeiten ein.

Bild: Datenbank 

4. Aktivieren Sie den WebCompanion (Bearbeiten->Voreinstellungen->Programm->Plug-Ins) und aktivieren Sie das WebSharing für Ihre neue Datenbank (Datei->Sharing-> WebCompanion anklicken)

zwei Bildschirmphotos: Plug-Ins und Sharing

5. Starten Sie Ihren Internet Browser und geben folgende URL ein:
http://localhost/FMPro?-db=kino.fp5&-format=-dso_xml&-findall

Das Ergebnis sollte ungefähr so aussehen:

Ê <?xml version="1.0" encoding="UTF-8" ?> 
- <FMPDSORESULT xmlns="http://www.filemaker.com/fmpdsoresult">
Ê <ERRORCODE>0</ERRORCODE> 
Ê <DATABASE>kino.fp5</DATABASE> 
Ê <LAYOUT /> 
- <ROW MODID="1" RECORDID="1">
Ê <Kino>Palast</Kino> 
Ê <Uhrzeit>20:15</Uhrzeit> 
Ê <Film>Rocky 9</Film> 
Ê </ROW>
- <ROW MODID="1" RECORDID="2">
...

Das Ergebnis wird begonnen mit einer Versionsnummer. Dann folgt der Typ des Ergebnisses (FMPDSORESULT) mit einer URL wo eben dieser Typ beschrieben wird. ERRORCODE, DATABASE und LAYOUT bezeichnen die Parameter des Aufrufs, die noch Mal mit gegeben werden. Die nächste Zeile beginnt mit ROW und bezeichnet so einen Datensatz, mit der DatensatzID 1. Die ModID wird erst wichtig, wenn wir beginnen die Datensätze zu ändern. Die Felder werden mit eigenen Marken versehen. FileMaker generiert die Marken aus den Feldnamen, so dass es einfach ist, das Ergebnis, selbst in nicht-formatierter Form zu lesen.

Der nächste Schritt ist nun, diese Daten in eine ansehnlichere Form zu bringen, d.h. ein Style-Sheet zu entwerfen.

Überblick:

Teil 1: Was ist XML?
Teil 2: CSS - Style Sheets für XML
Teil 3: XSLT - Style Sheets für Fortgeschrittene
Teil 4: Eine komplette XML Lösung
 
 
 

Armin Briegel
seit 1997 Claris und später
FileMaker Promoter und Entwickler

E-Mail: armin@briegel.de


 
 

Anmerkung:

Die Teile 2 - 4 folgen in den nächsten Ausgaben.
Die Redaktion
 

Zum Seitenanfang
 


© ADOLPH Verlag GmbH - Letztes Update 03.05.2004