XQuery ফাংশন

XQuery 1.0, XPath 2.0 এবং XSLT 2.0 একই ফাংশন লাইব্রেরি শেয়ার করে।

XQuery ফাংশন

XQuery-এ 100-এরও বেশি অভ্যন্তরীণ ফাংশন রয়েছে। এই ফাংশনগুলি স্ট্রিং মান, সংখ্যা, তারিখ ও সময় তুলনা, নোড ও QName অপারেশন, সিরিজ অপারেশন, লজিকাল মান ইত্যাদির জন্য ব্যবহার করা যায়। আপনি XQuery-তে নিজস্ব ফাংশনও পরিভাষা করতে পারেন。

XQuery অভ্যন্তরীণ ফাংশন

XQuery ফাংশন নামস্পেসের URI:

http://www.w3.org/2005/02/xpath-functions

ফাংশন নামস্পেসের ডিফল্ট প্রেফিক্স fn: হয়。

সুঝানা:ফাংশনগুলি fn: প্রেফিক্স দ্বারা আহ্বান করা হয়, যেমন fn:string()। কিন্তু, fn: নামস্পেসের ডিফল্ট প্রেফিক্স হওয়ার কারণে, ফাংশনের নামটি আহ্বান করা সময় প্রেফিক্স ব্যবহার করা নীচের নীতি নয়。

আপনি আমাদের XPath শিক্ষাক্রমে সম্পূর্ণ পুস্তক পাবেন:অভ্যন্তরীণ XQuery ফাংশন পরিচ্ছেদ》。

ফাংশন বাক্যাংশ উদাহরণ

ফাংশন বাক্যাংশগুলি একসঙ্গে ব্যবহার করা যেতে পারে। নিচের উদাহরণ দেখুন:

উদাহরণ 1: এলিমেন্টে

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

উদাহরণ 2: পথ প্রকাশনার বিবৃতিতে

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

উদাহরণ 3: let বিধানে

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

XQuery ব্যবহারকারী-নির্মিত ফাংশন

যদি প্রোগ্রামিংয়ের জন্য প্রয়োজনীয় XQuery ফাংশন না পাওয়া যায়, তবে নিজের ফাংশন লিখতে হবে

কোরিউলারে বা পৃথক লাইব্রেরিতে ব্যবহারকারী-নির্মিত ফাংশন নির্বাচন করা যেতে পারে

গ্রামাটিক

declare function প্রিফিক্স:ফাংশননাম($পারামিটার AS ডাটা টাইপ)
  AS রিটার্ন ডাটা টাইপ
{
(: ...ফাংশন কোড... :)
;

ব্যবহারকারী-নির্মিত ফাংশন সম্পর্কে নজরদারি:

  • declare function কীভাবে ব্যবহার করা হয়
  • ফাংশন নামটি প্রিফিক্স ব্যবহার করা হয়
  • পারামিটারের ডাটা টাইপটি সাধারণত XML স্কেমা এবং প্রদর্শিত হয়
  • ফাংশনের মূলবিন্যাসকে হার্ডলেবেল দ্বারা বেষ্টিত করা হয়

একটি কোরিউলারে ঘোষিত ব্যবহারকারী-নির্মিত ফাংশনের উদাহরণ:

declare function local:minPrice(
  $price as xs:decimal?,
  $discount as xs:decimal?
  AS xs:decimal?
{
let $disc := ($price * $discount) div 100
return ($price - $disc)
;
(: উপরোক্ত ফাংশন কলের উদাহরণ নিচে দেওয়া হল :)
<minPrice>{local:minPrice($book/price, $book/discount)}</minPrice>