Neueste Web-Entwicklung Tutorials
 

XQuery-Funktionen


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.

XPath - Operatoren

XPath - Funktionen

Sie können auch Ihre eigenen Funktionen in XQuery definieren.


XQuery-Datentypen

XQuery teilt die gleichen Datentypen wie XML Schema 1.0 (XSD) .

XSD String

XSD Datum

XSD Numeric

XSD Misc


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>