solchen Pfades keinen, einen oder mehrere Knoten. Diese zunächst unbestimmte Anzahl von Knoten, die unterhalb eines bestimmten Pfades liegen, bezeichnet man als Knoten-Set .
11.2.4 XSL oder CSS – Formatierung für XML-Elemente
XML-basierte Dateien enthalten nichts anderes als logische Auszeichnungen (auch semantische Auszeichnungen genannt). Eine Auszeichnung wie
…
sagt nur etwas über die Bedeutung der an dieser Stelle gespeicherten Daten aus, aber nichts darüber, wie solche Daten darzustellen sind. Die so bezeichneten Daten sind völlig unabhängig vom Ausgabemedium (etwa Bildschirm, Display, Lautsprecher, Drucker), und sie enthalten keinerlei Angaben zur Formatierung (Schriftart, Schriftgröße, Farben usw.). Im Gegensatz zu HTML-Daten, für deren Darstellung ein Browser Default-Werte benutzt, hat er bei XML-Daten keine Anhaltspunkte, wie diese darzustellen sind. Bevor Sie solche Daten also präsentieren können, müssen Sie mit Hilfe einer Style-Sprache angeben, wie die Daten formatiert werden sollen.
Dazu stehen heute zwei Formatsprachen zur Verfügung: CSS und XSL. CSS ( Cascading Stylesheets ), das auch für HTML eingesetzt wird, ist dabei die »Brot- und Buttersprache«. Sie genügt, um einem Web-Browser mitzuteilen, wie er die Elemente einer XML-Dateidarstellen soll. XSL (Extensible Stylesheet Language) ist dagegen wesentlich mächtiger und enger an den Konzepten von XML orientiert.
11.2.5 Transformation mit XSLT
XSLT ist eine Komponente der XML-Style-Sprache XSL. Mit Hilfe von XSLT können Sie Daten von einer XML-Sprache in eine beliebige andere XML-Sprache transferieren (konvertieren). So können Sie beispielsweise auch XML-Daten in (X)HTML transformieren – und zwar, bevor der Browser überhaupt etwas davon mitbekommt, also serverseitig. Der Webserver benötigt dazu eine Schnittstelle, die das Einbinden eines XSL/XSLT-verarbeitenden Software-Moduls erlaubt.
Wenn Sie beispielsweise XML-Daten in HTML transformieren, dann stellen Sie eine Verbindung zwischen Elementen und Attributen Ihrer XML-Daten und bestimmten HTML-Konstrukten her. So können Sie im XSLT-Stylesheet beispielsweise angeben, dass ein Element namens
vorname
in den HTML-Code
[ … ] | umgesetzt werden soll. Wenn Sie nun in Ihren XML-Anwendungsdaten das XSL-Stylesheet einbinden und beispielsweise
Stefannotieren, dann wird daraus beim Transformieren als Ergebnis das HTML-Konstrukt
Stefan | erzeugt.
Man spricht auch von Umwandlung von einem Quellbaum in einen Ergebnisbaum . Dahinter steht die Tatsache, dass sich alle XML-basierten Daten als Baumstruktur darstellen lassen. Das folgende Schaubild verdeutlicht, wie aus einem Quellbaum ein Ergebnisbaum wird – natürlich handelt es sich dabei nur um einen kleinen Ausschnitt:
Bild 11.1: Konvertierung von Markup-Daten mittels XSLT
11.2.6 XML-Namensräume
Durch die Zuordnung zu einer DTD gehören Elemente und Attribute dem Namensraum dieser DTD an. Fehlt jedoch die Dokumenttyp-Deklaration, dann gibt es keine solche eindeutige Zuordnung. Es bleibt unklar, woher (d. h. aus welchem Namensraum) die verwendeten Element- und Attributnamen kommen. Dazu besteht die Möglichkeit, bei einem Element- oder Attributnamen explizit einen Namensraum anzugeben.
Besonders wichtig ist die Bezeichnung des Namensraums, wenn sich Namen von Elementen oder Attributen aus unterschiedlichen Namensräumen in die Quere kommen. Angenommen, in einem XML-Dokument gibt es zweimal ein Element namens
div
. Einmal bezieht es sich auf einen eigenen Namensraum, und einmal soll es als HTML-Element fungieren. Nur durch die Zuordnung zu einem bestimmten Namensraum ist in dem Fall klar, in welchem Kontext das Element interpretiert werden soll.
Zu diesem Zweck hat das W3-Konsortium den Begriff der qualifizierten Namen (engl. qualified names ) eingeführt. Qualifizierte Namen bestehen immer aus einem Präfix , welches den Namensraum bezeichnet, und einem lokalen Namensteil, der den Namen des Elements oder Attributs innerhalb des Namensraums bezeichnet. Beim gleichzeitigen Arbeiten mit mehreren Namensräumen ist es wichtig, qualifizierte Namen zu notieren.
Sie können innerhalb eines XML-Dokuments »Inseln« mit Daten aus bestimmten Namensräumen definieren.
Beispiel
Weitere Kostenlose Bücher