XQuery 1.0 XPath 2.0 และ 2.0 XSLT หุ้นห้องสมุดฟังก์ชั่นเดียวกัน
ฟังก์ชั่น XQuery
XQuery ถูกสร้างขึ้นบนนิพจน์ XPath XQuery XPath 1.0 และ 2.0 แบ่งรูปแบบข้อมูลที่เหมือนกันและสนับสนุนการทำงานเดียวกันและผู้ประกอบการ
นอกจากนี้คุณยังสามารถกำหนดฟังก์ชั่นของคุณเองใน XQuery
ประเภท XQuery ข้อมูล
XQuery หุ้นประเภทข้อมูลเดียวกันเป็น XML Schema 1.0 (XSD)
ตัวอย่างของฟังก์ชั่นการโทร
การเรียกร้องให้ฟังก์ชั่นสามารถปรากฏที่การแสดงออกอาจปรากฏ ดูตัวอย่างด้านล่าง:
ตัวอย่างที่ 1: ในองค์ประกอบ
<name>{upper-case($booktitle)}</name>
ตัวอย่างที่ 2: ในกริยาของนิพจน์เส้นทาง
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
ตัวอย่างที่ 3: ในประโยคให้
let $name := (substring($booktitle,1,4))
XQuery ฟังก์ชั่นที่ผู้ใช้กำหนด
หากคุณไม่สามารถหาฟังก์ชั่น XQuery ที่คุณต้องการคุณสามารถเขียนของคุณเอง
ฟังก์ชั่นที่ผู้ใช้กำหนดสามารถกำหนดในการสอบถามหรือในห้องสมุดแยกต่างหาก
วากยสัมพันธ์
declare function หมายเหตุเกี่ยวกับฟังก์ชั่นที่ผู้ใช้กำหนด: - ฟังก์ชั่นการใช้คำหลักประกาศ
- ชื่อของฟังก์ชั่นที่จะต้องนำหน้า
- ชนิดข้อมูลของพารามิเตอร์ที่ส่วนใหญ่จะเป็นเช่นเดียวกับชนิดข้อมูลที่กำหนดไว้ใน Schema XML
- ร่างกายของฟังก์ชั่นจะต้องถูกล้อมรอบด้วยวงเล็บปีกกา
ตัวอย่างของฟังก์ชั่นที่ผู้ใช้กำหนดประกาศในแบบสอบถาม
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>