XQuery funksiyalari
XQuery 1.0, XPath 2.0 va XSLT 2.0 bir xil funksiyalar kutubxonasidan foydalanadi.
XQuery funksiyalari
XQuery XPath ifodalari asosida qurilgan. XQuery 1.0 va XPath 2.0 bir xil ma’lumotlar modeliga ega va bir xil funksiyalar hamda operatorlarni qo‘llab-quvvatlaydi.
XQuery’da o‘z funksiyalaringizni ham aniqlashingiz mumkin.
XQuery ma’lumot tiplari
XQuery XML Schema 1.0 (XSD) bilan bir xil ma’lumot tiplaridan foydalanadi.
Funksiya chaqiruvlariga misollar
Funksiya chaqiruvi ifoda kelishi mumkin bo‘lgan har qanday joyda kelishi mumkin. Quyidagi misollarga qarang:
1-misol: element ichida
<name>{upper-case($booktitle)}</name>2-misol: yo‘l ifodasining predikatida
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']3-misol: let bandida
let $name := (substring($booktitle,1,4))XQuery’da foydalanuvchi aniqlaydigan funksiyalar
Agar kerakli XQuery funksiyasini topa olmasangiz, uni o‘zingiz yozishingiz mumkin.
Foydalanuvchi aniqlaydigan funksiyalarni so‘rovning o‘zida yoki alohida kutubxonada aniqlash mumkin.
Sintaksis
declare function prefix:function_name($parameter as datatype)
as returnDatatype
{
...funksiya kodi shu yerda...
};Foydalanuvchi aniqlaydigan funksiyalar bo‘yicha eslatmalar:
- declare function kalit so‘zidan foydalaning
- Funksiya nomi prefiksga ega bo‘lishi kerak
- Parametrlarning ma’lumot tiplari asosan XML Schema’da aniqlangan ma’lumot tiplari bilan bir xil
- Funksiya tanasi jingalak qavslar ichiga olinishi kerak
So‘rovda e’lon qilingan foydalanuvchi funksiyasiga misol
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>W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
