Eingabehilfen

Inhalt

XML-Übersicht

Wozu braucht man XML?

Um herauszufinden, wo XML am besten eingesetzt wird, sollten Sie die Hauptvorteile von XML beachten. Einige habe ich bereits erwähnt. In diesem Abschnitt werden die Vorteile von XML gegenüber anderen Markup-Languages oder ähnlichen Technologien ausführlicher beschrieben.

X steht für "eXtensible"

Bei der Arbeit mit XML vergessen Entwickler manchmal, dass das X für "Extensible", also "erweiterbar", steht. Das bedeutet, dass Sie beliebig viele zusätzliche Tags definieren können, ohne dass die Anwendung abstürzt. Sie können diesem Element zum Beispiel untergeordnete Elemente hinzufügen:

<employee>
 	<name>John Doe</name>
	<job>Software Analyst</job>
    	<salary>2000</salary>
</employee>

Danach sieht das Element folgendermaßen aus:

<employee>
  	<name>John Doe</name>
	<job>Software Analyst
		<responsibility>Write technical specifications</responsibility>
		<responsibility>Translate client requirements into software requirements</responsibility>
	</job>
	<hire_date>Jun 25, 2005</hire_date>
	<salary>2000</salary>	
</employee>

Die Anwendung, die dieses XML-Dokument liest, "versteht", auf welchen Angestellten (employee) Bezug genommen wird.

Unterschiedliche Plattformen, eine Sprache

Portabilität wird dadurch erreicht, dass Sie Tags und Attribute definieren können. Es sind keine besonderen Bibliotheken oder Anwendungsserver erforderlich, um ein XML-Dokument zu "lesen" (obwohl Sie Ihre Entwicklungsumgebung ein bisschen konfigurieren müssen, um sie XML-bereit zu machen, wie ich in einem späteren Artikel erläutern werde). XML-Dokumente sind normale Textdateien, weshalb anders als bei den meisten binären Dateien keine spezielle Software für die Interpretation benötigt wird. Sie können zum Beispiel einfach Windows Editor verwenden, um eine XML-Datei zu öffnen und zu bearbeiten.

Deshalb ist XML die erste Wahl, wenn Informationen über mehrere (nicht kompatible) Hardware- oder Softwareplattformen oder Anwendungen ausgetauscht werden sollen. Dies hat zur Entwicklung verschiedener XML-Anwendungen in der Kommunikationstechnologie geführt, darunter WML (Wireless Markup Language) und WAP (Wireless Application Protocol). WML ist eine XML-basierte Sprache, um Internetanwendungen für mobile Geräte wie etwa Handys und PDAs zu konfigurieren. Weitere Informationen über WML finden Sie in diesem Tutorial* des W3 Consortium.

Portabilität ist auch in Business-to-Business-Anwendungen praktisch, wenn viele Unternehmen große Mengen von Wirtschafts- und Finanzdaten auf plattformunabhängigem Weg austauschen müssen. Verschiedene Anwendungen setzen SOAP* (Simple Object Access Protocol) ein. Dies ist ein weit verbreitetes XML-basiertes Protokoll für den Austausch derartiger Informationen über das Internet. Diese XML-basierten Anwendungen zur gemeinsamen Informationsnutzung werden Web Services oder Webdienste genannt.

Inhalt und Form getrennt

Mit XML können Sie Inhaltredundanz vermeiden. Ihre Kunden konzentrieren sich auf die Verwendung von HTML und CSS, um Layout und Darstellung zu definieren, die von Änderungen an den Informationen, die separat in einer XML-Datei gespeichert werden, nicht betroffen sind.

Zum Beispiel gibt ein Content Management System Dokumente in verschiedenen Formaten an die Endkunden weiter: HTML, PDF usw. Es ist jedoch nicht besonders sinnvoll, eine separate Version jedes Dokuments für die einzelnen Formate zu speichern. Der Inhalt würde dupliziert und somit wertvollen Speicherplatz belegen, sodass das CMS mit redundanten Informationen verstopft und dadurch langsamer wird. Durch den Einsatz einer XML-basierten Engine wird der Inhalt nur einmal gespeichert, dann extrahiert und im gewünschten Format angezeigt.

Wenn XML den Inhalt von der Form trennt, wie kann ich meine Daten dann darstellen?

Für die Verarbeitung oder Formatierung sollte ein separates XSL-Dokument verwendet werden. XSL steht für Extensible Style sheet Language. Ein XSL-Stylesheet legt die Präsentation der Daten, die in einer XML-Datei enthalten sind, fest. Zum Zeitpunkt der Ausgabe (Anzeige) werden XML und XSL kombiniert, um die erforderliche Formatierung auf die Daten anzuwenden, so wie Sie HTML-Dokumente mithilfe von Cascading Style Sheets (CSS) formatieren können.

In kommenden Artikeln werde ich XSL ausführlicher behandeln und dann auch erläutern, wie Sie mit XML und XSL eine formatierte Ausgabe erstellen. Dreamweaver 8 bietet eine schnelle, visuelle Möglichkeit, eigene XSL-Stylesheets für eine benutzerdefinierte XML-Datei zu erstellen. Sie werden lernen, wie unkompliziert Sie einen RSS-Datenstrom in Ihre Site einbinden und Ihren Besuchern so aktuelle Nachrichten oder Updates anbieten können.

Wenn Sie sich die drei wichtigsten Vorteile von XML vor Augen halten, ist eigentlich offensichtlich, wo XML eingesetzt werden sollte:

  • In Anwendungen, die mit großen Datenmengen umgehen, aber flexibel und erweiterbar sein müssen. Bei diesen Anwendungen kann es sich zum Beispiel um Webportale, Auflistungen von Stellenangeboten oder um Finanzanwendungen handeln.
  • Wo inhaltliche Redundanz vermieden werden sollte, zum Beispiel in Content-Management-Systemen, Dokumentbibliotheken oder Site-Erfassungssystemen.
  • Wo große Datenmengen über mehrere unterschiedliche Plattformen ausgetauscht werden müssen, zum Beispiel in Business-2-Business-Anwendungen, in E-Mail-Clients mit Unterstützung für News-Feeds oder bei mobilen Geräten.
  • Wo Informationen für eine große Anzahl von Kunden problemlos verfügbar sein müssen. Bei diesen Informationen kann es sich zum Beispiel um Nachrichtenschlagzeilen, Pressemitteilungen, wichtige Hinweise und Ankündigungen, Lesezeichen, Wiedergabelisten, Veranstaltungskalender oder Mailing-Listen handeln.

XML wird bereits in großem Umfang eingesetzt, um Daten zwischen verschiedenen Datenbankanwendungen zu übertragen. Die meisten DBMS (darunter Microsoft Access oder phpMyAdmin*) ermöglichen bereits den Export von Datenbanktabellen als XML-Dateien.

RSS (Really Simple Syndication) ist einer der gebräuchlichsten Einsatzbereiche von XML. Bei RSS handelt es sich lediglich um ein weiteres XML-Dokumentformat, das für die Syndikation von Nachrichten und ähnlichen Inhalten entwickelt wurde. Bekannte Websites, die mit RSS arbeiten, sind zum Beispiel Community-Sites wie Wired* und Slashdot*, aber auch persönliche Blogs. Macromedia stellt die Artikel des Developer Centers als RSS-Feed* zur Verfügung. Der Hauptvorteil von RSS ist, dass Benutzer Ihre Inhalte in dem von ihnen gewünschten Format lesen und sie in ihre eigenen Websites importieren können. In einem anderen Artikel beschreibe ich die Verwendung von RSS-Datenströmen mit Dreamweaver 8.

Wenn Sie sich die Nachteile von XML ansehen, ist ebenso offensichtlich, wo XML nicht verwendet werden sollte.

  • XML sollte nicht für kleine, private Websites oder für Unternehmenspräsentations-Websites verwendet werden, die nur wenig Inhalt oder nur wenige Seiten enthalten. In diesem Fall sind statisches HTML und CSS/Flash-Design besser geeignet.
  • XML sollte nicht für Websites mit umfangreichem Inhalt verwendet werden, wenn das Abrufen von Daten und die Datensicherheit sehr wichtig sind. In diesem Fall stellen Datenbanken eine viel bessere Lösung dar. Bei diesen Anwendungen kann es sich um Unternehmenswebsites, Data Warehouses und ähnliches handeln.
  • XML sollte nicht verwendet werden, um HTML oder Datenbanken zu ersetzen. Wenn Ihre Website bereits datenbankgesteuert ist, gibt es keinen Grund, zu XML zu wechseln. Sie können jedoch einen RSS-Datenstrom hinzufügen, um Nachrichten oder Unternehmensankündigungen zu übertragen, die Ihre Kunden dann direkt in ihre Websites importieren können.