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.
•Um Altova-Erweiterungsfunktionen von Funktionen in der Standardbibliothek zu unterscheiden, wurde Altova-Erweiterungsfunktionen in dieser Dokumentation das Suffix [altova:] angehängt, z.B. add-years-to-date [altova:].
•Wenn Sie Altova-Erweiterungsfunktionen jedoch in Ihren XPath/XQuery-Ausdrücken verwenden, müssen Sie die Funktion genau wie jede andere XPath/XQuery-Standardfunktion ohne Präfix oder Suffix verwenden. Verwenden Sie eine Altova-Erweiterungsfunktion folgendermaßen: add-years-to-date(xs:date("2014-01-15"), 10).
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>
XPath/XQuery-Funktionen
XPath/XQuery-Funktionen können sowohl in XPath-Ausdrücken als auch in XQuery-Ausdrücken verwendet werden.