ล่าสุดการพัฒนาเว็บบทเรียน
 

ฟังก์ชั่น XQuery


XQuery 1.0 XPath 2.0 และ 2.0 XSLT หุ้นห้องสมุดฟังก์ชั่นเดียวกัน


ฟังก์ชั่น XQuery

XQuery ถูกสร้างขึ้นบนนิพจน์ XPath XQuery XPath 1.0 และ 2.0 แบ่งรูปแบบข้อมูลที่เหมือนกันและสนับสนุนการทำงานเดียวกันและผู้ประกอบการ

ผู้ประกอบการ XPath

ฟังก์ชั่น XPath

นอกจากนี้คุณยังสามารถกำหนดฟังก์ชั่นของคุณเองใน XQuery


ประเภท XQuery ข้อมูล

XQuery หุ้นประเภทข้อมูลเดียวกันเป็น XML Schema 1.0 (XSD)

XSD สตริง

XSD วัน

XSD ตัวเลข

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>