XML Zusatztechnologien
In Verbindung mit XML bestehen einige Zusatztechnologien wie XPath, XPointer, XLinks oder XSLT. Diese Zusatztechnologien vereinfachen den Zugriff auf ein XML Dokument, oder das Transformieren der Inhalte in andere Dokumenttypen welche wiederum über dritte Tools angesprochen werden können.
XPath – Dokumentenadressierung
XPath ist eine Abfragesprache um Teile eines XML – Dokumentes zu adressieren. Ein XPath Ausdruck setzt sich wie folgt zusammen:
- einem oder mehreren Lokalisierungsschritten (Local Steps) ( Trenner: / )
- optional von einem oder mehreren Prädikaten (predicates)
Ein Lokalisierungsschritt besteht aus:
- Achse (axis)
- Knotentest (node-test)
Für die XPath Adressierung gibt es verschiedene Arten von Knoten. Diese können sowohl relativ, wie auch absolut adressiert werden:
- Wurzelknoten (einer pro Dokument)
- Elementknoten
- Attributknoten
- Textknoten
- Kommentarknoten
- Namensraumknoten
Um die Theorie etwas zu verdeutlichen gibt es hierzu ein kleines Beispiel:
<Mitglieder>
<Mitglied Id="1">
<Vorname>Simon</Vorname>
<Nachname>Michel</Nachname>
<Strasse>Hauptstrasse 12</Strasse>
<PLZ>33102</PLZ>
<Stadt>Paderborn</Stadt>
</Mitglied>
<Mitglied Id="2">
<Vorname>Michael</Vorname>
<Nachname>Müller</Nachname>
<Strasse>Bahnhofsstrasse 21</Strasse>
<PLZ>44147</PLZ>
<Stadt>Dortmund</Stadt>
</Mitglied>
</Mitglieder>
Erläuterung Quellcode
Wurzelement: /Mitglieder
Vornamen: /Mitglieder/Mitglied/Vorname
Vorname erstes Mitglied: /Mitglieder/Mitglied[1]/Vorname
Vorname zweites Mitglied: /Mitglieder/Mitglied[@Id=“2“]Vorname
XPointer – Anfragesprache
- Anfragesprache, um Teile eines XML – Dokumentes zu adressieren
- Erweiterung der XPath-Spezifikation
- XPointer erweitert XPath um die Typen point (Punkt) und range (Bereich)
- dadurch ist es möglich anstelle von ganzen Knoten auch eine bestimmte Stelle oder einen Bereich innerhalb eines Knotens oder über mehrere Knoten hinaus auszuwählen.
Beispiele für XPointer
xpointer(id("ebnf"))
- wählt das Element der ID ebnf
xpointer(descendant::language[position()=2])
- wählt das erste language-Element aus, welches das zweite Child seines Parent-Elements ist
ebnf
- Kurzform für die Suche nach dem Element mit der ID ebnf
1/14/2
- wählt das zweite Childelement des 14. Child-Elements des ersten Child-Elements des Root-Elements
xpointer(id("ebnf")) xpointer(id(„EBNF"))
- zeigt ebenfalls auf das Element mit der ID ebnf
XLink – Definition von Links
- attributbasierte Syntax zur Definition von Links in XML-Dokumenten
- Empfehlung des World Wide Web Consortiums
- kann Verbindung zwischen zwei Punkten herstellen (ähnlich Hyperlink-Elementen)
- Verweise zu mehreren Dokumenten
- Verweise zwischen ungleichen Dokumenten
- Elemente, die Verknüpfungen enthalten, heißen Verknüpfungselemente
- Verknüpfungselemente werden durch das xlink:form Attribut identifiziert:
- simple
- extended
- locator
- arc
- resource
- title
XLink Beispiel
<COMPOSER xmlns:xlink="http://w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.users.interport.net"> Beth Anderson </COMPOSER>
Erläuterung Quellcode
- Verknüpfungszielattribut xlink:href
- Wert des xlink:href-Attributs ist der absolute URL
- Verbindung zwischen COMPOSER-Element im aktuellen Dokument und dem Inhalt Beth Anderson im Remote-Dokument
XSLT – Transformation in andere Dateiformate
- Transformationssprache
- stellt Elemente bereit, die Regeln definieren, wie ein XML-Dokument in ein anderes Dokument transformiert werden soll
- Bearbeitung durch XSLT-Prozessor
- Umwandlung von XML-Dokumenten in andere
- SVG
- Java-Code
- Textdatei



