XSLT 3.0
Der XSLT 3.0-Prozessor von StyleVision entspricht der XSLT 3.0 Recommendation vom 8. Juni 2017 und der XPath 3.1 Recommendation vom 21. März 2017 des World Wide Web Consortium (W3C).
Der XSLT 3.0-Prozessor hat dieselben implementierungsspezifischen Eigenschaften wie der XSLT 2.0-Prozessor. Zusätzlich dazu unterstützt er eine Reihe neuer XSLT 3.0-Funktionen: XPath- und XQuery 3.1-Funktionen und Operatoren und die XPath 3.1-Spezifikation.
Anmerkung: | Die optionale Streaming-Funktion wird derzeit nicht unterstützt., d.h. das gesamte Dokument wird unabhängig vom Wert des Attributs streamable in den Arbeitsspeicher geladen. Falls genügend Arbeitsspeicher zur Verfügung steht, (i) wird das gesamte Dokument - ohne Streaming - verarbeitet (ii) werden "guaranteed-streamable" Konstrukte korrekt verarbeitet, so als würde bei der Ausführung Streaming verwendet und (iii) Streaming-Fehler würden nicht erkannt werden. In 64-Bit-Apps sollte die Nicht-Streaming-Verarbeitung kein Problem darstellen. Falls zu wenig Arbeitsspeicher zur Verfügung steht, können Sie mehr Speicherplatz zum System hinzufügen. |
Namespaces
In Ihrem XSLT 3.0 Stylesheet sollten die folgenden Namespaces deklariert sein, damit Sie alle in XSLT 3.0 verfügbaren Typ-Konstruktoren und Funktionen verwenden können. Normalerweise werden die unten aufgelisteten Präfixe verwendet; bei Bedarf können Sie auch andere Präfixe verwenden.
Namespace Name | Präfix | Namespace URI |
XML Schema-Typen | xs: | http://www.w3.org/2001/XMLSchema |
XPath/XQuery 3.1-Funktionen | fn: | http://www.w3.org/2005/xpath-functions |
Mathematische Funktionen | math: | http://www.w3.org/2005/xpath-functions/math |
Zuordnungsfunktionen | map: | http://www.w3.org/2005/xpath-functions/map |
Array-Funktionen | array: | http://www.w3.org/2005/xpath-functions/array |
XQuery-, XSLT- und XPath-Fehlercodes | err: | http://www.w3.org/2005/xpath-functions/xqt-errors |
Serialisierungsfunktionen | Ausgabe | http://www.w3.org/2010/xslt-xquery-serialization |
Normalerweise werden diese Namespaces im Element xsl:stylesheet oder xsl:transform deklariert, wie unten gezeigt:
<xsl:stylesheet version="3.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"
...
</xsl:stylesheet>
Beachten Sie die folgenden Punkte:
•Der XSLT 3.0-Prozessor verwendet als Standard-Funktions-Namespace den Namespace für XPath- und XQuery-Funktionen und Operatoren 3.1 (siehe Tabelle oben). Sie können daher die Funktionen dieses Namespace in Ihrem Stylesheet ohne Präfix verwenden. Wenn Sie den Namespace für Funktionen in Ihrem Stylesheet mit einem Präfix deklarieren, können Sie zusätzlich dazu das in der Deklaration zugewiesene Präfix verwenden.
•Bei Verwendung von Typ-Konstruktoren und Typen aus dem XML Schema-Namespace, muss bei Aufruf des Typ-Konstruktors (z.B. xs:date) das in der jeweiligen Namespace-Deklaration verwendeten Präfix verwendet werden.
•Einige XPath/XQuery-Funktionen haben denselben Namen wie XML Schema-Datentypen. So gibt es z.B. für die XPath-Funktionen fn:string und fn:boolean XML-Schema-Datentypen mit demselben lokalen Namen: xs:string und xs:boolean. Wenn Sie daher den XPath-Ausdruck string('Hello') verwenden, wird der Ausdruck als fn:string('Hello') ausgewertet und nicht als xs:string('Hello').