Funktionskategorien in XPath 1.0 und XSLT 1.0
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 5.)
In XPath 1.0/XSLT 1.0 sind insgesamt 36 Funktionen definiert, 11 davon stammen aus XSLT. Darüber hinaus kennt XPath 1.0 noch vier Nodetests, die, obwohl rein optisch ähnlich, nicht eigentlich zu den Funktionen zählen (dennoch werden sie oft als Nodetest-»Funktionen« bezeichnet).
XPath 1.0-Funktionen:
Die XPath 1.0-Funktionen sind in der W3C-Spezifikation zu XPath 1.0 vom 16. November 1999 beschrieben.
XSLT 1.0-Funktionen:
Die XSLT 1.0-Funktionen sind Bestandteil der W3C-Spezifikation zu XSLT 1.0, ebenfalls vom 16. November 1999.
Entsprechend ihres Verwendungsgebiets können die Funktionen wie folgt unterteilt werden:
Typkonvertierung und Formatierung
Name | Herkunft | Verwendung |
---|---|---|
boolean() | XPath 1.0 | Wandlung in einen booleschen Wert |
XSLT 1.0 | Formatierung Zahl nach String | |
number() | XPath 1.0 | Wandlung in Zahl |
string() | XPath 1.0 | Wandlung in String |
Tabelle: Funktionen zu Typkonvertierung und Formatierung.
Rundungsfunktionen für numerische Typen
Name | Herkunft | Verwendung |
---|---|---|
ceiling() | XPath 1.0 | Aufrundung der Eingabezahl |
floor() | XPath 1.0 | Abrundung der Eingabezahl |
round() | XPath 1.0 | Auf- oder Abrundung der Eingabezahl |
Tabelle: Rundungsfunktionen für numerische Typen.
Boolesche Funktionen
Name | Herkunft | Verwendung |
---|---|---|
false() | XPath 1.0 | boolescher Wert false |
true() | XPath 1.0 | boolescher Wert true |
not() | XPath 1.0 | boolesche Negation |
Tabelle: Boolesche Funktionen.
Stringfunktionen: Analyse und Manipulation
Name | Herkunft | Verwendung |
---|---|---|
concat() | XPath 1.0 | Stringaddition |
contains() | XPath 1.0 | Test auf Substring im Prüfstring |
normalize-space() | XPath 1.0 | Normalisierung von Weißraum |
starts-with() | XPath 1.0 | Test auf Substring am Stringanfang |
string-length() | XPath 1.0 | Zeichenzahl im Prüfstring |
substring() | XPath 1.0 | Extraktion eines Substrings |
substring-after() | XPath 1.0 | Teilstring nach Trennsymbol |
substring-before() | XPath 1.0 | Teilstring vor Trennsymbol |
translate() | XPath 1.0 | Zeichenersetzung nach Muster |
Tabelle: Stringfunktionen – Analyse und Manipulation.
Aggregation
Name | Herkunft | Verwendung |
---|---|---|
count() | XPath 1.0 | Knotenzahl in Nodeset |
sum() | XPath 1.0 | Addition von Values eines Nodesets |
Tabelle: Funktionen zu Aggregation.
Nodenamen und Identifier
Name | Herkunft | Verwendung |
---|---|---|
XSLT 1.0 | ID zur Laufzeit erzeugen | |
lang() | XSLT 1.0 | Sprachbestimmung |
local-name() | XPath 1.0 | lokaler Teil des QNames |
name() | XPath 1.0 | QName eines Knotens |
namespace-uri() | XPath 1.0 | Namensraum-URI eines Knotens |
Tabelle: Funktionen zur Ermittlung von Nodenamen und Identifiern.
Kontextinformation innerhalb eines Nodesets
Name | Herkunft | Verwendung |
---|---|---|
current() | XSLT 1.0 | Der aktuelle Knoten |
last() | XPath 1.0 | Index des letzten Knotens im Set |
position() | XPath 1.0 | Index des aktuellen Knotens im Set |
Tabelle: Kontextinformation innerhalb eines Nodesets.
Assoziation und Auffindung von Nodes und Ressourcen zur Laufzeit
Name | Herkunft | Verwendung |
---|---|---|
document() | XSLT 1.0 | Einbindung eines externen Dokuments |
key() | XSLT 1.0 | Node finden mit definiertem Schlüssel |
id() | XSLT 1.0 | Node finden mit ID (DTD) |
XSLT 1.0 | Unparsed Entity einbinden (DTD) |
Tabelle: Assoziation und Auffindung von Nodes und Ressourcen zur Laufzeit.
Information über die Laufzeitumgebung
Name | Herkunft | Verwendung |
---|---|---|
XPath 1.0 | Instruktion in Laufzeit verfügbar | |
XSLT 1.0 | Funktion in Laufzeit verfügbar | |
XPath 1.0 | Information über Laufzeitumgebung |
Tabelle: Information über die Laufzeitumgebung.
Nodetests (nicht zu den Funktionen zu rechnen)
Nicht zu den Funktionen gehören, obwohl im Aussehen identisch, die sogenannten Nodetests. Da deren Bezeichner 'comment', 'text' usw. keine geschützten Begriffe darstellen, werden ihnen in ihrer Bedeutung als Nodetests die Funktionsklammern als »Flags« beigegeben, um sie eindeutig zu kennzeichnen.
Sie werden deshalb an dieser Stelle aufgeführt, sind aber nicht in der folgenden Erläuterung der XPath-Funktionen enthalten. Die ausführliche Erklärung der Nodetests befindet sich in der Erläuterung von XPath-Ausdrücken und -Pattern.
Name | Herkunft | Verwendung |
---|---|---|
comment() | XPath 1.0 | Test auf Kommentarknoten |
text() | XPath 1.0 | Test auf Textknoten |
processing-instruction() | XPath 1.0 | Test auf PI |
node() | XPath 1.0 | Test auf beliebigen Knotentyp |
Tabelle: Die Nodetest-Ausdrücke aus XPath.
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Galileo Press, Rheinwerkallee 4, 53227 Bonn