Samouczek XML

Strona główna XML Wprowadzenie do XML XML Jak używać Drzewo XML Składnia XML Elementy XML Atrybuty XML Przestrzenie nazw XML Wyświetlacz XML Żądanie HTTP XML Parser XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Walidator XML XML DTD Schemat XML Serwer XML Przykłady XML Quiz XML Certyfikat XML

XML AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

XML DOM

Wprowadzenie do DOM Węzły DOM Dostęp do DOM Informacje o węźle DOM Lista węzłów DOM Przechodzenie DOM Nawigacja DOM DOM Uzyskaj wartości Zmiana węzłów DOM DOM Usuń węzły DOM Zamień węzły DOM Utwórz węzły DOM Dodaj węzły Węzły klonowania DOM Przykłady DOM

Samouczek XPath

Wprowadzenie do XPath Węzły XPath Składnia XPath Osie XPath Operatorzy XPath Przykłady XPath

Samouczek XSLT

Wprowadzenie XSLT Języki XSL Transformacja XSLT XSLT <szablon> XSLT <wartość-z> XSLT <dla każdego> XSLT <sortuj> XSLT <jeśli> XSLT <wybierz> XSLT Zastosuj XSLT na kliencie XSLT na serwerze XSLT Edytuj XML Przykłady XSLT

Samouczek XQuery

Wprowadzenie do XQuery Przykład XQuery XQuery FLWOR XQuery HTML Warunki XQuery Składnia XQuery XQuery Dodaj XQuery Wybierz Funkcje XQuery

XML DTD

Wprowadzenie do DTD Bloki konstrukcyjne DTD Elementy DTD Atrybuty DTD Elementy DTD a Attr Jednostki DTD Przykłady DTD

Schemat XSD

Wprowadzenie do XSD XSD Jak to zrobić XSD <schemat> Elementy XSD Atrybuty XSD Ograniczenia XSD

Kompleks XSD

Elementy XSD XSD Pusty Tylko elementy XSD Tylko tekst XSD Mieszane XSD Wskaźniki XSD XSD <dowolny> XSD <dowolnyAtrybut> Zastąpienie XSD Przykład XSD

Dane XSD

XSD ciąg Data XSD Numeryczne XSD Różne XSD Odniesienie XSD

Usługi internetowe

Usługi XML XML WSDL MYDŁO XML XML RDF XML RSS

Bibliografia

Typy węzłów DOM Węzeł DOM Lista węzłów DOM DOM NamedNodeMap Dokument DOM Element DOM Atrybut DOM Tekst DOM DOM CDATA Komentarz DOM DOM XMLHttpRequest Analizator DOM Elementy XSLT Funkcje XSLT/XPath

Funkcje XQuery


XQuery 1.0, XPath 2.0 i XSLT 2.0 współdzielą tę samą bibliotekę funkcji.


Funkcje XQuery

XQuery jest zbudowany na wyrażeniach XPath. XQuery 1.0 i XPath 2.0 współdzielą ten sam model danych i obsługują te same funkcje i operatory.

Operatorzy XPath

Funkcje XPath

Możesz także zdefiniować własne funkcje w XQuery.


Typy danych XQuery

XQuery współdzieli te same typy danych co XML Schema 1.0 (XSD).

XSD ciąg

Data XSD

Numeryczne XSD

Różne XSD


Przykłady wywołań funkcji

Wywołanie funkcji może pojawić się tam, gdzie może pojawić się wyrażenie. Spójrz na poniższe przykłady:

Przykład 1: W elemencie

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

Przykład 2: W predykacie wyrażenia ścieżki

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

Przykład 3: W zdaniu let

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


Funkcje zdefiniowane przez użytkownika XQuery

Jeśli nie możesz znaleźć potrzebnej funkcji XQuery, możesz napisać własną.

Funkcje zdefiniowane przez użytkownika można zdefiniować w zapytaniu lub w osobnej bibliotece.

Składnia

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

Uwagi dotyczące funkcji zdefiniowanych przez użytkownika:

  • Użyj słowa kluczowego funkcji define
  • Nazwa funkcji musi być poprzedzona prefiksem
  • Typy danych parametrów są w większości takie same jak typy danych zdefiniowane w schemacie XML
  • Treść funkcji musi być otoczona nawiasami klamrowymi

Przykład funkcji zdefiniowanej przez użytkownika zadeklarowanej w zapytaniu

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>