ایکس پیچ، ایکس کوئری اور ایکس ایس ایل تی فنکشن

توابع دسترسی

نام توضیح
fn:node-name(node) بازگشت نام نود پارامتر.
fn:nilled(node) بازگشت مقدار بولین که نشان‌دهنده رد کردن نود پارامتر است.
fn:data(item.item,...) پذیرش یک توالی از عناصر و بازگشت یک توالی از مقادیر اتمی.
  • fn:base-uri()
  • fn:base-uri(node)
بازگشت مقدار attribute base-uri برای نود فعلی یا مشخص شده.
fn:document-uri(node) بازگشت مقدار属性 document-uri مشخص شده برای نود.

توابع خطا و ردیابی

نام توضیح
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

مثال: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

نتایج: به محیط پردازش خارجی http://example.com/test#toohigh و رشته "Error: Price is too high" بازمی‌گردانند.

fn:trace(value,label) برای debug کردن جستجو استفاده می‌شود.

توابع مربوط به عدد

نام توضیح
fn:number(arg)

بازگشت مقدار عددی پارامتر. پارامتر می‌تواند مقدار بولین، رشته یا مجموعه‌ای از نودها باشد.

مثال: number('100')

نتایج: 100

fn:abs(num)

بازگشت مقدار محض پارامتر.

مثال: abs(3.14)

نتایج: 3.14

مثال: abs(-3.14)

نتایج: 3.14

fn:ceil(num)

بازگشت بزرگترین عدد صحیح که بزرگتر از پارامتر num است.

مثال: ceil(3.14)

نتایج: 4

fn:floor(num)

بازگشت بزرگترین عدد صحیح که از num پارامتر کمتر است.

مثال: floor(3.14)

نتائج: 3

fn:round(num)

num پارامتر را به نزدیک‌ترین عدد صحیح می‌اندازد.

مثال: round(3.14)

نتائج: 3

fn:round-half-to-even()

مثال: round-half-to-even(0.5)

نتایج: 0

مثال: round-half-to-even(1.5)

نتائج: 2

مثال: round-half-to-even(2.5)

نتائج: 2

درباره توابع کلمه

نام توضیح
fn:string(arg)

بازگشت ارزش کلمه پارامتر.

مثال: string(314)

نتائج: "314"

fn:codepoints-to-string(int,int,...)

بر اساس توالی کدپوینت بازگشت کلمه.

مثال: codepoints-to-string(84, 104, 233, 114, 232, 115, 101)

نتائج: 'Thérèse'

fn:string-to-codepoints(string)

بر اساس کلمه بازگشت توالی کدپوینت.

مثال: string-to-codepoints("Thérèse")

نتائج: 84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) بر اساس مقایسه Unicode کدپوینت، اگر ارزش comp1 برابر با ارزش comp2 باشد، true بازمی‌گرداند. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint)، در غیر این صورت false بازمی‌گرداند.
  • fn:compare(comp1,comp2)
  • fn:compare(comp1,comp2,collation)

اگر comp1 کمتر از comp2 باشد، -1 بازمی‌گرداند. اگر comp1 برابر با comp2 باشد، 0 بازمی‌گرداند. اگر comp1 بیشتر از comp2 باشد، 1 بازمی‌گرداند. (بر اساس مقایسه‌ای که استفاده می‌شود).

مثال: compare('ghi', 'ghi')

نتایج: 0

fn:concat(string,string,...)

بازگشت پیوند کلمات.

مثال: concat('XPath ','is ','FUN!')

نتائج: 'XPath is FUN!'

fn:جمع-(string,string,...,sep)

از پارامتر sep به عنوان جداکننده استفاده می‌کند تا رشته‌های پارامتر string را به صورت یکپارچه بازگرداند.

مثال: string-join(('We', 'are', 'having', 'fun!'), ' ')

نتایج: ' We are having fun! '

مثال: string-join(('We', 'are', 'having', 'fun!'))

نتایج: 'Wearehavingfun!'

مثال: string-join((), 'sep')

نتایج: ''

  • fn:substring(zیرجمله,start,len)
  • fn:substring(zیرجمله,start)

زیرجمله از موقعیت start شروع شده و طول مشخص شده را بازمی‌گرداند. اولین کاراکتر با شماره 1 شروع می‌شود. اگر پارامتر len را مشخص نکنید، زیرجمله از موقعیت start تا انتهای رشته بازمی‌گرداند.

مثال: substring('Beatles',1,4)

نتایج: 'Beat'

مثال: substring('Beatles',2)

نتایج: 'eatles'

  • fn:string-length(zیرجمله)
  • fn:string-length()

طول زیرجمله مشخص شده را بازمی‌گرداند. اگر پارامتر string وجود نداشته باشد، طول رشته ارزش فعلی گره را بازمی‌گرداند.

مثال: string-length('Beatles')

نتایج: 7

  • fn:normalize-space(zیرجمله)
  • fn:normalize-space()

حذف فضاهای خالی در ابتدا و انتهای رشته مشخص شده و تمام توالی‌های فضاهای خالی درونی را به یک فضای خالی تبدیل می‌کند و سپس نتایج را بازمی‌گرداند. اگر پارامتر string وجود نداشته باشد، به فضای خالی فعلی مراجعه می‌کند.

مثال: normalize-space(' The   XML ')

نتایج: 'The XML'

fn:normalize-unicode() Unicode规范化 را اجرا می‌کند.
fn:upper-case(zیرجمله)

زیرجمله پارامتر را به صورت بزرگ تبدیل می‌کند.

مثال: upper-case('The XML')

نتایج: 'THE XML'

fn:lower-case(zیرجمله)

زیرجمله پارامتر را به صورت کوچک تبدیل می‌کند.

مثال: lower-case('The XML')

نتایج: 'the xml'

fn:ترجمه(زیرجمله1, زیرجمله2, زیرجمله3)

string1 میں string2 کو string3 سے بدل دیں

مثال: translate('12:30','30','45')

نتیجہ: '12:45'

مثال: translate('12:30','03','54')

نتیجہ: '12:45'

مثال: translate('12:30','0123','abcd')

نتیجہ: 'bc:da'

fn:escape-uri(stringURI,esc-res)

مثال: escape-uri("http://example.com/test#car", true())

نتیجہ: "http%3A%2F%2Fexample.com%2Ftest#car"

مثال: escape-uri("http://example.com/test#car", false())

نتیجہ: "http://example.com/test#car"

مثال: escape-uri ("http://example.com/~bébé", false())

نتیجہ: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

اگر string1 string2 کا حصہ ہوتا ہے تو true واپس دیتا ہے، درغیر ایندہ false واپس دیتا ہے。

مثال: contains('XML','XM')

نتائج: true

fn:starts-with(string1,string2)

اگر string1 string2 سے شروع ہوتا ہے تو true واپس دیتا ہے، درغیر ایندہ false واپس دیتا ہے。

مثال: starts-with('XML','X')

نتائج: true

fn:ends-with(string1,string2)

اگر string1 string2 سے ختم ہوتا ہے تو true واپس دیتا ہے، درغیر ایندہ false واپس دیتا ہے。

مثال: ends-with('XML','X')

نتیجہ: false

fn:substring-before(string1,string2)

مقابل کوئی فونکشن کا استعمال کریں جس سے string1 میں string2 کا قبل میں آنا والا حصہ نکال سکتے ہیں。

مثال: substring-before('12/10','/')

نتیجہ: '12'

fn:substring-after(string1,string2)

مقابل کوئی فونکشن کا استعمال کریں جس سے string1 میں string2 کا بعد میں آنا والا حصہ نکال سکتے ہیں。

مثال: substring-after('12/10','/')

نتائج: '10'

fn:matches(string,pattern)

اگر string پارامٹر مخصوص طرح سے نمائش کردیا جاتا ہے تو true واپس کردیا جاتا ہے، نہ تو false واپس کردیا جاتا ہے۔

مثال: matches("Merano", "ran")

نتائج: true

fn:replace(string,pattern,replace)

مخصوص طرح کو replace پارامٹر میں تبدیل کرنا اور نتائج کو واپس کردیا جاتا ہے۔

مثال: replace("Bella Italia", "l", "*")

نتائج: 'Be**a Ita*ia'

مثال: replace("Bella Italia", "l", "")

نتائج: 'Bea Itaia'

fn:tokenize(string,pattern)

مثال: tokenize("XPath is fun", "\s+")

نتائج: ("XPath", "is", "fun")

anyURI کی کردار

نام توضیح
fn:resolve-uri(relative,base)  

بولین نمائش کی کردار

نام توضیح
fn:boolean(arg) اعداد، اعداد تابع یا نمائش کی بولین نمائش واپس کردیا جاتا ہے。
fn:not(arg)

پہلے boolean() کردار کے ذریعے پارامٹر کو ایک بولین نمائش میں واپس کردیا جاتا ہے۔ اگر بولین نمائش false ہے تو واپس کردار true فراہم کردیا جاتا ہے، نہ تو واپس کردار true فراہم کردیا جاتا ہے。

مثال: not(true())

نتیجہ: false

fn:true()

بولین درست نمائش واپس کردہ ہے。

مثال: true()

نتائج: true

fn:false()

بولین درست نمائش واپس کردہ ہے。

مثال: false()

نتیجہ: false

دوام، تاریخ اور وقت کی کردار

تاریخ، وقت، دوام کی اجزا کی استخراج کردار

نام توضیح
fn:dateTime(date,time) پارامٹر کو تاریخ اور وقت میں تبدیل کرنا۔
fn:years-from-duration(datetimedur) مقابلے کا سال حصہ اعداد کا مضبوط نمائش، معیاری الفاظ کا نمائش استعمال کیا جاتا ہے。
fn:months-from-duration(datetimedur) مقابلے کا ماہ حصہ اعداد کا مضبوط نمائش، معیاری الفاظ کا نمائش استعمال کیا جاتا ہے。
fn:days-from-duration(datetimedur) مقابلے کا دن حصہ اعداد کا مضبوط نمائش، معیاری الفاظ کا نمائش استعمال کیا جاتا ہے。
fn:hours-from-duration(datetimedur) بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده ساعت‌ها می‌باشد و به صورت استاندارد کلمات نشان داده می‌شود.
fn:minutes-from-duration(datetimedur) بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده دقیقه‌ها می‌باشد و به صورت استاندارد کلمات نشان داده می‌شود.
fn:seconds-from-duration(datetimedur) بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده دقیقه‌ها می‌باشد و به صورت استاندارد کلمات نشان داده می‌شود.
fn:year-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده سال می‌باشد.

مثال: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

نتایج: 2005

fn:month-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده ماه می‌باشد.

مثال: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

نتایج: 01

fn:day-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده روز می‌باشد.

مثال: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

نتایج: 10

fn:hours-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده ساعت‌ها می‌باشد.

مثال: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

نتایج: 12

fn:minutes-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده دقیقه‌ها می‌باشد.

مثال: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

نتایج: 30

fn:seconds-from-dateTime(datetime)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده ثانیه‌ها می‌باشد.

مثال: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

نتایج: 0

fn:timezone-from-dateTime(datetime) بخش منطقه زمانی پارامتر را بازمی‌گرداند، اگر وجود داشته باشد.
fn:year-from-date(date)

بازگشتی که شامل عدد صفر تا نه است که نشان‌دهنده سال می‌باشد.

مثال: year-from-date(xs:date("2005-04-23"))

نتایج: 2005

fn:month-from-date(date)

بازمی‌گرداند عدد صحیح بخش ماه پارامتر محلی.

مثال: month-from-date(xs:date("2005-04-23"))

نتایج: 4

fn:day-from-date(date)

بازمی‌گرداند عدد صحیح بخش روز پارامتر محلی.

مثال: day-from-date(xs:date("2005-04-23"))

نتایج: 23

fn:timezone-from-date(date) بخش منطقه زمانی پارامتر را بازمی‌گرداند، اگر وجود داشته باشد.
fn:hours-from-time(time)

بازمی‌گرداند عدد صحیح بخش ساعتی پارامتر محلی.

مثال: hours-from-time(xs:time("10:22:00"))

نتایج: 10

fn:minutes-from-time(time)

بازمی‌گرداند عدد صحیح بخش دقیقه‌ای پارامتر محلی.

مثال: minutes-from-time(xs:time("10:22:00"))

نتایج: 22

fn:seconds-from-time(time)

بازمی‌گرداند عدد صحیح بخش ثانیه‌ای پارامتر محلی.

مثال: seconds-from-time(xs:time("10:22:00"))

نتایج: 0

fn:timezone-from-time(time) بخش منطقه زمانی پارامتر را بازمی‌گرداند، اگر وجود داشته باشد.
fn:adjust-dateTime-to-timezone(datetime,timezone) اگر پارامتر timezone خالی باشد، dateTime بدون منطقه زمانی بازمی‌گرداند. در غیر این صورت، dateTime با منطقه زمانی بازمی‌گرداند.
fn:adjust-date-to-timezone(date,timezone) اگر پارامتر timezone خالی باشد، date بدون منطقه زمانی بازمی‌گرداند. در غیر این صورت، date با منطقه زمانی بازمی‌گرداند.
fn:adjust-time-to-timezone(time,timezone) اگر پارامتر timezone خالی باشد، time بدون منطقه زمانی بازمی‌گرداند. در غیر این صورت، time با منطقه زمانی بازمی‌گرداند.

معاییر مرتبط با QNames

نام توضیح
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

توابع گره

نام توضیح
  • fn:name()
  • fn:name(nodeset)
بازگرداندن نام گره فعلی یا اولین گره در مجموعه گره‌ها.
  • fn:local-name()
  • fn:local-name(nodeset)
بازگرداندن نام گره فعلی یا اولین گره در مجموعه گره‌ها - بدون پیشوند فضای نام.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
بازگرداندن URI فضای نام گره فعلی یا اولین گره در مجموعه گره‌ها.
fn:lang(lang)

اگر زبان گره فعلی با زبان مشخص شده مطابقت دارد، true بازمی‌گرداند.

مثال: Lang("en") برای <p xml:lang="en">...</p>

مثال: Lang("de") برای <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
بازگرداندن ریشه درخت گره‌هایی که به گره فعلی یا گره مشخص شده تعلق دارند. معمولاً گره مستند است.

توابع توالی

توابع عمومی

نام توضیح
fn:index-of((item,item,...),searchitem)

بازگرداندن موقعیت‌هایی که در توالی پروژه‌ها با پارامتر searchitem برابر هستند.

مثال: index-of ((15, 40, 25, 40, 10), 40)

نتایج: (2, 4)

مثال: index-of (("a", "dog", "and", "a", "duck"), "a")

نتایج (1, 4)

مثال: index-of ((15, 40, 25, 40, 10), 18)

نتایج: ()

fn:remove((item,item,...),position)

بازگرداندن توالی جدیدی که توسط پارامتر item ساخته شده است - در حالی که پروژه‌ای که در position مشخص شده است، حذف می‌شود.

مثال: remove(("ab", "cd", "ef"), 0)

نتایج: ("ab", "cd", "ef")

مثال: remove(("ab", "cd", "ef"), 1)

نتایج: ("cd", "ef")

مثال: remove(("ab", "cd", "ef"), 4)

نتایج: ("ab", "cd", "ef")

fn:empty(item,item,...)

اگر مقدار پارامتر یک توالی خالی باشد، true بازمی‌گرداند، در غیر این صورت false.

مثال: empty(remove(("ab", "cd"), 1))

نتیجہ: false

fn:exists(item,item,...)

اگر پارامتر کا یقین نہیں خالی سیریز تو واپس فرض کیا جاتا، درغیر اینچہ واپس false فرض کیا جاتا.

مثال: exists(remove(("ab"), 1))

نتیجہ: false

fn:distinct-values((item,item,...),collation)

مختلف قیمت کو بازگرداندا.

مثال: distinct-values((1, 2, 3, 1, 2))

نتیجہ: (1, 2, 3)

fn:insert-before((item,item,...),pos,inserts)

item پارامتر سے بنائی گئی نئی سیریز کو بازگرداندا - اور pos پارامتر کی مدد سے inserts پارامتر کی قیمت کو داخل کرتا.

مثال: insert-before(("ab", "cd"), 0, "gh")

نتیجہ: ("gh", "ab", "cd")

مثال: insert-before(("ab", "cd"), 1, "gh")

نتیجہ: ("gh", "ab", "cd")

مثال: insert-before(("ab", "cd"), 2, "gh")

نتیجہ: ("ab", "gh", "cd")

مثال: insert-before(("ab", "cd"), 5, "gh")

نتیجہ: ("ab", "cd", "gh")

fn:reverse((item,item,...))

مخصوص پروئینٹ کی منفی ترتیب کو بازگرداندا.

مثال: reverse(("ab", "cd", "ef"))

نتیجہ: ("ef", "cd", "ab")

مثال: reverse(("ab"))

نتیجہ: ("ab")

fn:subsequence((item,item,...),start,len)

شروع اشارے کی مدد سے پروئینٹ کی سیریز کو بازگرداندا، سیریز کی لمبائی len اشارے کی مدد سے طے کی جاتی ہے، پہلا پروئینٹ کی پوزیشن 1 ہے.

مثال: subsequence(($item1, $item2, $item3,...), 3)

نتیجہ: ($item3, ...)

مثال: subsequence(($item1, $item2, $item3, ...), 2, 2)

نتیجہ: ($item2, $item3)

fn:unordered((item,item,...)) پروئینتس کی اردو کی مدد سے ترتیب میگیرنے پر منحصر ہیں.

فن:فحص کوالای سیری

نام توضیح
fn:zero-or-one(item,item,...) اگر متعدد مقادیر میں کوئی بھی پروجیکٹ موجود نہیں ہو تو پروجیکٹ واپس کردہ جاتا ہے، درغیر اینچہ خطا پیدا کردہ جاتا ہے
fn:one-or-more(item,item,...) اگر متعدد مقادیر میں کوئی بھی پروجیکٹ موجود ہو تو پروجیکٹ واپس کردہ جاتا ہے، درغیر اینچہ خطا پیدا کردہ جاتا ہے
fn:exactly-one(item,item,...) اگر متعدد مقادیر میں کوئی بھی پروجیکٹ موجود ہو تو پروجیکٹ واپس کردہ جاتا ہے، درغیر اینچہ خطا پیدا کردہ جاتا ہے

مساویت، یونین، انٹرسیکشن اور ایکسپکٹ

نام توضیح
fn:deep-equal(param1,param2,collation) اگر param1 اور param2 ایک دوسرے سے مساوی ہیں تو true واپس کردہ جاتا ہے، درغیر اینچہ false واپس کردہ جاتا ہے

کُل فونکشن

نام توضیح
fn:count((item,item,...)) نود کی تعداد کو واپس کردہ جاتا ہے
fn:avg((arg,arg,...))

مقادیر کی اوسط کو واپس کردہ جاتا ہے

مثال: avg((1,2,3))

نتائج: 2

fn:max((arg,arg,...))

کوئی بھی متعدد مقادیر کو واپس کردہ جاتا ہے جس کا مقادیر کوئی بھی متعدد مقادیر سے زیادہ ہوتا ہو

مثال: max((1,2,3))

نتائج: 3

مثال: max(('a', 'k'))

نتائج: 'k'

fn:min((arg,arg,...))

کوئی بھی متعدد مقادیر کو واپس کردہ جاتا ہے جس کا مقادیر کوئی بھی متعدد مقادیر سے کم ہوتا ہو

مثال: min((1,2,3))

نتائج: 1

مثال: min(('a', 'k'))

نتائج: 'a'

fn:sum(arg,arg,...) مخصوص نود کے مجموعی تعداد کو واپس کردہ جاتا ہے

سلسلہ پیدا کرنے والی فونکشن

نام توضیح
fn:id((string,string,...),node) یوں سلسلے کو واپس کردہ جاتا ہے جس میں عناصر کا آئیڈ ویلو، متعدد مقادیر میں سے کوئی ایک کا برابر ہوتا ہو
fn:idref((string,string,...),node) یوں سلسلے کو واپس کردہ جاتا ہے جس میں عناصر یا آٹھارک نود کا آئیڈی ریف ویلو، متعدد مقادیر میں سے کوئی ایک کا برابر ہوتا ہو
fn:doc(URI)  
fn:doc-available(URI) اگر doc() فنکشن سے داکومنٹ نود واپسی کیا جاتا ہے تو true واپسی کیا جائے گا، درغیر اینم واپسی کیا جائے گا。
  • fn:collection()
  • fn:collection(string)
 

پیش کیماوت فنکشن

نام توضیح
fn:position()

موجودہ پروسیس کے نود کی انڈیکس کی واپسی

مثال: //book[position()<=3]

نتائج: پہلے تین book عناصر کا انتخاب

fn:last()

درج کئے گئے نود لیسٹ میں پروجیکٹ کی تعداد کی واپسی

مثال: //book[last()]

نتائج: آخری book عناصر کا انتخاب

fn:current-dateTime() موجودہ dateTime (زمانی علاقے کے ساتھ)
fn:current-date() موجودہ تاریخ (زمانی علاقے کے ساتھ)
fn:current-time() موجودہ وقت (زمانی علاقے کے ساتھ)
fn:implicit-timezone() خفیہ زمنی علاقے کی کیماوت کی واپسی
fn:default-collation() مقابلے کی پیش فرض کی واپسی
fn:static-base-uri() بیس اوریج کی کیماوت کی واپسی