XSLT führt einige Funktionen ein, die die von XPath zur Verfügung gestellten Funktionen erweitern. Das heißt, in XSLT stehen sowohl die eigenen als auch die XPath-Funktionen zur Verfügung. In XPath sind die erweiterten XSLT-Funktionen hingegen unbekannt.
Die von XSLT neu eingeführten Funktionen sollen im folgenden kurz vorgestellt werden.
Funktion: node-set document(object, node-set?)
Mit dieser Funktion kann auf vom aktuellen Quelldokument abweichende Dokumente zugegriffen werden. Dabei gibt es vier mögliche Kombinationen von Argumenten, die man berücksichtigen muss.
document(node set)
document(node set 1, node set 2)
document(string)
document(string, node set 2)
Ist das erste Argument ein Node Set, so wird für jedes Element im Node Set die document()
-Funktion mit dem Stringwert des Elements als erstes Argument aufgerufen.
Wenn das zweite Argument weggelassen wird, wird ein Node Set mit dem jeweiligen Element als einziger Inhalt bei jedem Aufruf übergeben. Wird das zweite Argument angegeben, wird dieses Argument in jedem einzelnen Aufruf benutzt. Das Ergebnis ist die Vereinigungsmenge der Einzelergebnisse.
Das erste Argument wird in einen String konvertiert, wenn es kein Node Set ist.
Der URI des Dokuments, auf das zugegriffen werden soll, wird durch das erste Argument bestimmt. Das kann ein absoluter URI, ein relativer URI und ein absoluter oder relativer URI mit einem Fragment-Identifier sein.
Mit xsl:key
werden Schlüssel für den Zugriff auf das Quelldokument deklariert. Auf Elemente des Quelldokuments kann man dann über die key()
-Funktion zugreifen.
Funktion: node-set key(string, object)
Das erste Argument ist der Schlüsselname, der abgefragt werden soll. Das zweite Argument liefert den Schlüsselwert, der als Kriterium zur Auswahl benutzt werden soll.
Über die Funktion generate-id()
können im Dokument eindeutige IDs erzeugt werden:
Funktion: string generate-id(node-set?)
Funktion: string format-number(number n, string format, string name?)
Diese Funktion dient zur Formatierung von Zahlenwerten. Im ersten Argument wird die Zahl angegeben, die formatiert werden soll. Das zweite bestimmt den Formatstring und das dritte die Formatschablone, die zu Interpretation des Formatstrings genutzt werden soll.
Die Formatierungsschablone für die Repräsentation von Zahlen als Strings wird über xsl:decimal-format
deklariert.
XSLT führt noch weitere Funktionen ein:
xsl:version
liefert als Ergebnis eine Zahl, welche die durch den Prozessor implementierte Version von XSLT zurückgibt.
xsl:vendor
liefert den Namen des Herstellers des Prozessors als Stringwert.
xsl:vendor-url
liefert eine URL auf Ressourcen zum XSLT-Prozessor des Herstellers
... [Seminar XML und Java] ... [Thema: XSLT] ... [Zusätzliche Funktionen] ... [Erweiterungen] ...