XQuery 1.0, XPath 2.0 und XSLT 2.0 die gleichen Funktionen Bibliothek.
XQuery-Funktionen
XQuery auf XPath-Ausdrücken gebaut. XQuery 1.0 und XPath 2.0 das gleiche Datenmodell teilen und die gleichen Funktionen und Operatoren unterstützen.
Sie können auch Ihre eigenen Funktionen in XQuery definieren.
XQuery-Datentypen
XQuery teilt die gleichen Datentypen wie XML Schema 1.0 (XSD) .
Beispiele für Function Calls
Ein Aufruf einer Funktion kann angezeigt werden, wo ein Ausdruck erscheinen. Schauen Sie sich die folgenden Beispiele:
Beispiel 1: In einem Element
<name>{upper-case($booktitle)}</name>
Beispiel 2: In dem Prädikat eines Pfadausdruckes
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Beispiel 3: In einer Klausel LET
let $name := (substring($booktitle,1,4))
XQuery Benutzerdefinierte Funktionen
Wenn Sie nicht die XQuery-Funktion, die Sie benötigen finden, können Sie Ihre eigenen schreiben.
Benutzerdefinierte Funktionen können in der Abfrage oder in einer separaten Bibliothek definiert werden.
Syntax
declare function Hinweise zu benutzerdefinierten Funktionen: - Verwenden Sie die declare Funktion Schlüsselwort
- Der Name der Funktion muss vorangestellt werden
- Der Datentyp der Parameter sind meist die gleiche wie die Datentypen in XML-Schema-Definition
- Der Körper der Funktion muss von geschweiften Klammern umgeben sein
Beispiel für eine benutzerdefinierte Funktion in der Abfrage erklärt
declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
as xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
};
Below is an example of how to call the function above:
<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>