XQuery 3.1
Der XQuery 3.1-Prozessor von StyleVision entspricht der XQuery 3.1 Recommendation vom 21. März 2017 des World Wide Web Consortium (W3C) und unterstützt XPath- und XQuery-Funktionen 3.1. Die XQuery 3.1-Spezifikation ist eine Übermenge der 3.0-Spezifikation. Daher unterstützt der XQuery 3.1-Prozessor XQuery 3.0-Funktionen..
Namespaces
In Ihrem XQuery 3.1 Stylesheet sollten die folgenden Namespaces deklariert sein, damit Sie die in XQuery 3.1 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  | output  | http://www.w3.org/2010/xslt-xquery-serialization  | 
Beachten Sie die folgenden Punkte:
•Der Altova XQuery 3.1-Prozessor ist so konfiguriert, dass die oben aufgelisteten Präfixe an die entsprechenden Namespaces gebunden sind.
•Da der oben angeführte Namespace für vordefinierte Funktionen (siehe fn:) der Standard-Funktions-Namespace in XQuery ist, muss beim Aufruf von vordefinierten Funktionen das Präfix fn: nicht verwendet werden (string("Hello") ruft z.B. die Funktion fn:string auf). Das Präfix fn: kann jedoch verwendet werden, um eine vordefinierte Funktion aufzurufen, ohne die Namespace im Abfrage-Prolog deklarieren zu müssen (z.B.: fn:string("Hello")).
•Sie können den Standard-Funktions-Namespace durch Deklarierung des default function namespace-Ausdrucks im Abfrageprolog ändern.
•Bei Verwendung von Typen aus dem XML Schema-Namespace kann das Präfix xs: verwendet werden, ohne dass Sie den Namespace explizit deklarieren müssen und dieses Präfix im Abfrageprolog daran binden müssen. (Beispiel: xs:date und xs:yearMonthDuration.) Wenn Sie ein anderes Präfix für den XML-Schema-Namespace verwenden möchten, muss dieses im Abfrageprolog explizit deklariert werden. (Beispiel: declare namespace alt = "http://www.w3.org/2001/XMLSchema"; alt:date("2004-10-04").)
Wenn Namespaces für Funktionen, Typ-Konstruktoren, Node Tests usw. falsch zugewiesen wurden, wird ein Fehler ausgegeben. Beachten Sie jedoch, dass einige Funktionen denselben Namen wie Schema-Datentypen haben, z.B. fn:string und fn:boolean. (Sowohl xs:string als auch xs:boolean ist definiert.) Das Namespace-Präfix legt fest, ob die Funktion oder der Typ-Konstruktor verwendet wird.
Implementierungsspezifisches Verhalten
Die implementierungsspezifischen Eigenschaften sind dieselben wie für XQuery 1.0.
Zusätzlich dazu kann die Altova-spezifische Kodierung x-base64tobinary verwendet werden, um ein Binärdokument wie z.B. ein Bild zu erzeugen.