XML -Tutorial

XML-HOME XML-Einführung XML-Wie zu verwenden XML-Baum XML-Syntax XML-Elemente XML-Attribute XML-Namespaces XML-Anzeige XML-HttpRequest XML-Parser XML-DOM XML-XPath XML-XSLT XML-XQuery XML-XLink XML-Validator XML-DTD XML-Schema XML-Server XML-Beispiele XML-Quiz XML-Zertifikat

XML-AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

XML-DOM

DOM-Einführung DOM-Knoten DOM-Zugriff DOM-Knoten-Info DOM-Knotenliste DOM-Traversierung DOM-Navigation DOM Get-Werte DOM-Änderungsknoten DOM-Knoten entfernen DOM-Ersetzungsknoten DOM-Knoten erstellen DOM-Knoten hinzufügen DOM-Klonknoten DOM-Beispiele

XPath -Tutorial

XPath-Einführung XPath-Knoten XPath-Syntax XPath-Achsen XPath-Operatoren XPath-Beispiele

XSLT -Tutorial

XSLT-Einführung XSL-Sprachen XSLT-Transformation XSLT <Vorlage> XSLT <Wert von> XSLT <für-jeden> XSLT <sortieren> XSLT <wenn> XSLT <auswählen> XSLT anwenden XSLT auf dem Client XSLT auf dem Server XSLT XML bearbeiten XSLT-Beispiele

XQuery- Tutorial

XQuery-Einführung XQuery-Beispiel XQuery FLWOR XQuery-HTML XQuery-Bedingungen XQuery-Syntax XQuery hinzufügen XQuery-Auswahl XQuery-Funktionen

XML -DTD

DTD-Einführung DTD-Bausteine DTD-Elemente DTD-Attribute DTD-Elemente vs. Attr DTD-Entitäten DTD-Beispiele

XSD- Schema

XSD-Einführung XSD-Anleitung XSD <Schema> XSD-Elemente XSD-Attribute XSD-Einschränkungen

XSD- Komplex

XSD-Elemente XSD leer Nur XSD-Elemente Nur XSD-Text XSD gemischt XSD-Indikatoren XSD <beliebig> XSD <beliebiges Attribut> XSD-Ersetzung XSD-Beispiel

XSD -Daten

XSD-String XSD-Datum XSD Numerisch XSD Sonstiges XSD-Referenz

Webdienste _

XML-Dienste XML-WSDL XML-SOAP XML-RDF XML-RSS

Verweise

DOM-Knotentypen DOM-Knoten DOM-Knotenliste DOM NamedNodeMap DOM-Dokument DOM-Element DOM-Attribut DOM-Text DOM-CDATA DOM-Kommentar DOM-XMLHttpRequest DOM-Parser XSLT-Elemente XSLT/XPath-Funktionen

XQuery- Funktionen


XQuery 1.0, XPath 2.0 und XSLT 2.0 nutzen dieselbe Funktionsbibliothek.


XQuery-Funktionen

XQuery basiert auf XPath-Ausdrücken. XQuery 1.0 und XPath 2.0 nutzen dasselbe Datenmodell und unterstützen dieselben Funktionen und Operatoren.

XPath-Operatoren

XPath-Funktionen

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


XQuery-Datentypen

XQuery verwendet dieselben Datentypen wie XML Schema 1.0 (XSD).

XSD-String

XSD-Datum

XSD Numerisch

XSD Sonstiges


Beispiele für Funktionsaufrufe

Ein Aufruf einer Funktion kann dort erscheinen, wo ein Ausdruck erscheinen kann. Sehen Sie sich die folgenden Beispiele an:

Beispiel 1: In einem Element

<name>{upper-case($booktitle)}</name>

Beispiel 2: Im Prädikat eines Pfadausdrucks

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

Beispiel 3: In einer let-Klausel

let $name := (substring($booktitle,1,4))


Benutzerdefinierte XQuery-Funktionen

Wenn Sie die benötigte XQuery-Funktion nicht finden können, können Sie Ihre eigene schreiben.

Benutzerdefinierte Funktionen können in der Abfrage oder in einer separaten Bibliothek definiert werden.

Syntax

declare function prefix:function_name($parameter as datatype)
as returnDatatype
{
 ...function code here...
};

Hinweise zu benutzerdefinierten Funktionen:

  • Verwenden Sie das Schlüsselwort der Deklarationsfunktion
  • Der Name der Funktion muss vorangestellt werden
  • Der Datentyp der Parameter entspricht größtenteils den im XML-Schema definierten Datentypen
  • Der Rumpf der Funktion muss von geschweiften Klammern umgeben sein

Beispiel einer in der Abfrage deklarierten benutzerdefinierten Funktion

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>