Wie man RSS-Feeds einfach in Websites integriert

XSLT mit Dreamweaver 8
Kommentare

Erstmals in der aktuellen Version können mit Dreamweaver 8 XSLT-Dateien visuell bearbeitet werden. Dies eröffnet unter anderem die Möglichkeit, RSS-Feeds auf einfache Weise in Websites zu integrieren.

XSLT (XSL Transformation) als Teilmenge der Sprache XSL (Extensible Stylesheet Language) ist eine Programmiersprache zur Umwandlung von XML-Dokumenten in verschiedene andere Dokumentformate wie XHTML, HTML, PDF, CSV und weitere. Dreamweaver 8 unterstützt XSLT zur Transformation von XML-Dokumenten in XHTML- oder HTML-Dokumente. Mit XSLT werden Regeln für die Dokumententransformation definiert. Das XSLT-Dokument enthält daher XSLT-Elemente zur Steuerung der Transformation sowie Elemente der Zielsprache, um die korrekte Ausgabe zu gewährleisten. Innerhalb eines XSLT- und/oder XML-Dokumentes dient XPath, eine weitere Untermenge von XML, zur Adressierung von Teilen oder Bereichen innerhalb der XML-Dokumente. XSLT-Dokumente werden mit dem Dateipräfix .xsl gespeichert, was etwas zu Verwirrung führen kann, da es sich dabei nicht um XSL-Dokumente handelt! Listing 1 zeigt eine Beispiel-XSLT-Datei. Wer schon mit Template-Systemen gearbeitet hat, erkennt sicherlich einige Gemeinsamkeiten. Auch im XSLT-Dokument sind Platzhalter und Steuerelemente vorhanden (im Quelltext markiert). Diese werden bei der Transformation durch die entsprechenden Inhalte aus einem XML-Dokument ersetzt.

Listing 1
-----------------------------

 
 
 
Gestaltung von XSLT-Dateien

Da in den XSLT-Dokumenten sowohl Elemente aus XSLT als auch Elemente aus XHTML enthalten sind, können diese Dokumente genauso gestaltet werden, wie Sie dies bisher bei dynamischen Seiten gewohnt waren. Dreamweaver ermöglicht jetzt das visuelle Gestalten bei XSLT-Dokumenten in der gleichen Weise, wie es bisher für dynamische Seiten unterstützt wurde.

RSS-Feed

RSS-Feed (RSS = Really Simple Syndication in der RSS-2.0-Spezifikation) ist eine Technologie, die dazu dienen soll, Nachrichten auf eine einfache Weise in Websites einzubinden oder mit einem Newsreader, ähnlich einer E-Mail, lesen zu können. Es gibt mittlerweile gleich mehrere Standards für RSS-Feeds, die unabhängig voneinander entwickelt wurden. Die RSS-Feed-Spezifikation gibt es nicht! Wir haben die neuen Dreamweaver-Funktionen mit einigen verschiedenen RSS-Standards ausprobiert – es funktioniert offensichtlich mit allen.

Mehrere Transformationsmöglichkeiten

Grundsätzlich gibt es zwei verschiedene Möglichkeiten, mit der XSLT-Technik zu arbeiten, die wir im Folgenden zunächst beschreiben und später am Bsp. einer RSS-Feed-Einbindung erläutern werden.

Clientseitige Transformation

Bei der clientseitigen Transformation wird die XSLT-Transformation auf dem Client und somit mit dem Browser des Clientrechners durchgeführt. Diese Art der Transformation wird nur von neueren Browsern unterstützt. Neben der Notwendigkeit, in die XML-Quelldatei eingreifen zu können, ist die mangelhafte Unterstützung bei älteren Browsern ein Nachteile dieser Methode. Der Vorteil liegt darin, dass Sie keinerlei serverbasierende Anwendungen benötigen, um die Transformation durchzuführen.

Clientseitige Transformation mit Dreamweaver

Um diese Methode mit Dreamweaver anzuwenden, müssen Sie zunächst eine neue XSLT-Seite oder ein XSLT-Fragment anlegen. Gleich beim Anlegen des Dokumentes erscheint ein Dialog, in dem Sie die lokale XML-Datei auswählen können. Die für clientseitige Transformationen verwendeten XML- und XSLT-Seiten müssen im gleichen Verzeichnis abgelegt sein. Ansonsten sucht der Browser beim Lesen der XML-Datei nach der XSLT-Seite für die Transformation, kann aber die durch relative Links definierten Elemente nicht finden (Abbildung 1).

Clientseitige Transformation Zur clientseitigen Transformation sind zwei Dateien notwendig. Die XML-Quelldatei und die eigentliche XSLT-Datei. In der XML-Quelldatei muss ein Verweis (Directive) auf die XSLT-Datei eingefügt werden, damit die Transformation funktioniert. Aus diesem Grund ist bei der clientseitigen Transformation zwingend ein Zugriff auf die XML-Quelldatei erforderlich.


Funktionsschema

  • Der Clientrechner fordert ein XML-Dokument an (im Browser wird die XML-Datei angefordert – nicht die XSLT-Datei).
  • Der Server sendet die XML-Datei an den Browser.
  • Der Browser erkennt die XML-Direktive und fordert die XSLT-Datei an.
  • Der Server sendet die XSLT-Datei an den Browser.

Der Browser transformiert nach den Vorgaben der XSLT-Datei das XML-Dokument in ein XHTML-Dokument und zeigt es an.

Abbildung 1: Dialog beim Anlegen einer XSLT-Datei.
Abbildung 2: Bedienfeld BINDUNGEN mit XML-Elementen.

Anschließend sehen Sie im Bedienfeld BINDUNGEN die XML-Elemente der angebundenen Datei. Diese Elemente können Sie nun, wie Sie es vom Arbeiten mit dynamischen Seiten gewohnt sind, in das Dokument ziehen und layouten. Anschließend müssen Sie noch das XSLT-Dokument als Directive in der XML-Datei angeben. Dies geschieht ähnlich der Verknüpfung zu einem externen CSS-Stil. Öffnen Sie dazu das Menü BEFEHLE, wählen Sie XSLT-STYLESHEET ANHÄNGEN und das von Ihnen angelegte XSLT-Dokument aus. Bedenken Sie, dass im Browser nicht die XSLT-Datei, sondern die XML-Datei aufgerufen werden muss. Dreamweaver bietet eine Vorschau [F12] der XSLT-Datei – hierbei wird von Dreamweaver eine temporäre HTML-Datei erzeugt. Fragmente oder ganze XSLT-Seiten? Dreamweaver bietet Ihnen die Möglichkeit, zwischen XSLT-Fragmenten oder ganzen XSLT-Dokumenten zu wählen. Der Unterschied liegt darin, dass Fragmente ein weiteres Dokument benötigen, in das sie mit einem beliebigen Include-Verfahren eingebunden werden – sie enthalten keinen eigenen Dokumentenkörper (head und body). Bei dieser Methode müssen Sie darauf achten, dass eventuelle CSS-Stile, die ja im Head eines XHTML-Dokumentes deklariert werden müssen, im Zieldokument angelegt werden und nicht in den XSLT-Fragmenten. Sie können auch jedes bestehende HTML- oder XHTML-Dokument in eine XSLT-Seite konvertieren, indem Sie aus dem Menü DATEI | KONVERTIEREN | XSLT 1.0 auswählen.

Serverseitige Transformation

Die serverseitige Transformation ist etwas aufwendiger, hat aber den deutlichen Vorteil, dass die Transformation ohne Zutun des Browsers stattfindet. Sie ist daher unabhängig von den verwendeten Zielbrowsern. Dem Client wird nur die fertige transformierte Datei übergeben. Bei Wahl dieser Methode können Sie beispielsweise externe RSS-Feeds in Websites etc. einbinden. Ein Eingriff in die Original-XML-Datei ist hierbei nicht notwendig. Für die von diversen Websites bereitgestellten News-Feeder ist diese Vorgehensweise daher bestens geeignet.

Serverseitige Transformation mit Dreamweaver

Wir zeigen Ihnen die serverseitige XSLT-Transformation mit einem lokalen XML-Dokument, auch wenn die Möglichkeit bestehen würde, dies über einen externen Server, zum Beispiel den eines Nachrichtendienstes, einzubinden. Bei der serverseitigen Transformation wird keinerlei Zugriff auf die XML-Quelldatei benötigt. Die ersten Schritte unterscheiden sich nicht vom Anlegen einer clientseitigen Transformation. Es werden neben der XML-Datei noch ein XSLT-Fragment oder eine ganze XSLT-Seite benötigt, in der Sie alle gewünschten Formatierungen und Layouts durchführen können. Die XML-Datei benötigt bei der jetzt geschilderten Methode keinen Verweis auf ein XSLT-Dokument. Das Ausführen eines XSLT-Stylesheet wie bei der clientseitien Transformation können Sie hier weglassen. Legen Sie anschließend ein neues dynamisches Dokument an (PHP) und entfernen Sie den kompletten Quelltext aus diesem Dokument. Die von Dreamweaver auch beim Anlegen dynamischer Dokumente unsinnigerweise eingefügte HTML-Struktur würde in diesem Fall ein fehlerhaftes Zieldokument ergeben. Um eine serverseitige Transformation anzulegen, klicken Sie einfach auf das Icon XSLT-TRANSFORMATION in der Einfügeleiste (Abbildung 3).

Abbildung 3: Serverseitige XSLT-Transformation anlegen.
Serverseitige Transformation Bei der serverseitigen Transformation ist neben dem XML- und XSLT-Dokument ein weiteres für das PHP-Skript notwendig. Darüber hinaus legt Dreamweaver 8.0 automatisch ein Verzeichnis mit Include-Dateien an. Dieses müssen Sie unbedingt mit auf den jeweiligen Webserver kopieren. Die Transformation wird von einem PHP-Skript übernommen, sodass an den Browser ausschließlich das fertige Dokument gesandt wird.

Funktionsschema

  • Aufruf eines PHP-Dokumentes oder eines anderen dynamischen Dokumentes.
  • Der Webserver führt die Skripte aus und sucht die zugehörigen Dokumente.
  • Der Webserver (bzw. PHP) transformiert die Dokumente nach den Vorgaben der XSLT-Datei.
  • Die transformierten Dokumente werden als HTML oder XHTML an den Browser geschickt.
  • Der Browser zeigt das fertige Dokument an.
  • In der folgenden Dialogbox müssen Sie nun nur noch die XML-Quelldatei und das entsprechende XSLT-Dokument auswählen. Alles Weitere wird von Dreamweaver 8.0 automatisch angelegt. Den von Dreamweaver 8.0 erzeugten Quelltext sehen Sie in Listing 2. Wie unschwer zu erkennen ist, wird die Programmierung seitens Macromedia objektorientiert angelegt. Die Klassen funktionieren einwandfrei sowohl mit PHP 4 als auch mit PHP 5.

    Listing 2
    -----------------------------
    setXML("rss.xml");
    $mm_xsl->setXSL("rss.xsl");
    echo $mm_xsl->Transform();
    ?> 
    
    Weitere Möglichkeiten von XSLT

    Neben den erwähnten und bekannten RSS-Feeds gibt es unzählige Anwendungen für XSLT-Transformationen. In immer stärkerem Maß setzt sich XML als Standard zum Datenaustausch beziehungsweise zur Datenbereitstellung durch. Mit XSLT und Dreamweaver haben Sie alle Werkzeuge, um diese Daten im Intra- oder Internet in eine lesbare Form zu bringen.

    Abbildung 4: Dialogbox zum Anlegen serverseitiger XSLT-Transformationen.
    Richard Beer Richard Beer (Jahrgang 1963) arbeitet seit 1996 in diversen Unternehmen der Multimediabranche und gründete 1999 zusammen mit Susann Gailus in Hamburg die Agentur firstART – Agentur für Design und Consulting. Seine Schwerpunkte liegen in der Konzeption, Entwicklung und Projektleitung von On- und Offlinemedien. Seit 2000 vermittelt er parallel zur Agenturtätigkeit sein Wissen in Firmenschulungen und offenen Seminaren. Aktuell verschiebt sich sein Schwerpukt auf E-Learning, WBT- und CBT-Erstellung. www.firstart.de
    Unsere Redaktion empfiehlt:

    Relevante Beiträge

    Meinungen zu diesem Beitrag

    X
    - Gib Deinen Standort ein -
    - or -