Altova-Erweiterungsfunktionen
Altova-Erweiterungsfunktionen können in XPath/XQuery-Ausdrücken verwendet werden. Dadurch stehen neben den Funktionen in der Standardbibliothek der XPath-, XQuery- und XSLT-Funktionen zusätzliche Funktionen zur Verfügung. Die Altova-Erweiterungsfunktionen befinden sich im Altova-Erweiterungsfunktions-Namespace, http://www.altova.com/xslt-extensions und sind in diesem Abschnitt mit dem Präfix altova:, das als an diesen Namespace gebunden angenommen wird, gekennzeichnet. Beachten Sie, dass manche Funktionen in zukünftigen Versionen Ihres Produkts eventuell nicht mehr unterstützt werden oder dass sich das Verhalten einzelner Funktionen ändern kann. Um zu sehen, welche Altova-Erweiterungsfunktionen unterstützt werden, lesen Sie bitte die Dokumentation zur jeweiligen Release.
Die in der "XPath/XQuery Functions"-Spezifikation des W3C definierten Funktionen können (i) in einem XSLT-Kontext in XPath-Ausdrücken und (ii) in einem XQuery-Dokument in XQuery-Ausdrücken verwendet werden. In dieser Dokumentation sind die Funktionen, die im Zusammenhang mit XPath in XSLT verwendet werden können, mit einem XP-Symbol und Funktionen, die im Zusammenhang mit XQuery verwendet werden können, mit einem XQ-Symbol markiert; sie fungieren als XQuery-Funktionen. In den XSLT-Spezifikationen des W3C (nicht in den "XPath/XQuery Functions"-Spezifikationen) sind außerdem Funktionen definiert, die in XSLT-Dokumenten in XPath-Ausdrücken verwendet werden können. Diese Funktionen sind mit dem Symbol XSLT gekennzeichnet und werden als XSLT-Funktionen bezeichnet. In welcher XPath/XQuery- und XSLT-Version eine Funktion verwendet werden kann, wird in der Beschreibung der Funktion (siehe Symbole unten) angegeben. Funktionen aus der XPath/XQuery- und XSLT-Funktionsbibliothek werden ohne Präfix aufgelistet. Erweiterungsfunktionen aus anderen Bibliotheken wie z.B. Altova-Erweiterungsfunktionen werden mit einem Präfix angegeben.
XPath-Funktionen (in XPath-Ausdrücken in XSLT verwendet): | XP1 XP2 XP3.1 |
XSLT-Funktionen (in XPath-Ausdrücken in XSLT verwendet): | XSLT1 XSLT2 XSLT3 |
XQuery-Funktionen (in XQuery-Ausdrücken in XQuery verwendet): | XQ1 XQ3.1 |
Verwendung von Altova-Erweiterungsfunktionen
Um Altova-Erweiterungsfunktionen verwenden zu können, müssen Sie den Altova-Erweiterungsfunktions-Namespace deklarieren (erster markierter Bereich im Codefragment unten) und die Erweiterungsfunktionen anschließend so verwenden, dass sie als zu diesem Namespace gehörig aufgelöst werden (siehe zweiter markierter Bereich). Im Beispiel unten wird die Altova-Erweiterungsfunktion age verwendet.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:altova="http://www.altova.com/xslt-extensions">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="Persons">
<xsl:for-each select="Person">
<xsl:value-of select="concat(Name, ': ')"/>
<xsl:value-of select="altova:age(xs:date(BirthDate))"/>
<xsl:value-of select="' years
'"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XSLT-Funktionen
XSLT-Funktionen können in XPath-Ausdrücken nur im XSLT-Kontext verwendet werden (ähnlich wie die XSLT 2.0-Funktionen current-group() oder key()). Diese Funktionen sind nicht für Nicht-XSLT-Kontext gedacht und funktionieren in einem solchen Kontext (z.B. in einem XQuery-Kontext) nicht. Beachten Sie, dass XSLT-Funktionen für XBRL nur mit Altova Produkten verwendet werden können, die XBRL unterstützen.
XPath/XQuery-Funktionen
XPath/XQuery-Funktionen können sowohl in XPath-Ausdrücken im XSLT-Kontext als auch in XQuery-Ausdrücken verwendet werden.
Diagrammfunktionen (nur Enterprise- und Server-Editionen)
Altova-Erweiterungsfunktionen für Diagramme werden nur in der Enterprise und Server Edition von Altova-Produkten unterstützt und ermöglichen die Generierung von Diagrammen anhand von XML-Daten.
Barcode-Funktionen
Mit Hilfe der Altova Barcode-Erweiterungsfunktionen können Barcodes generiert und in mittels XSLT Stylesheets generierte Ausgabedokumente eingefügt werden.