ایکس کوئری زبان

XQuery ਨੂੰ ਮੇਲਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਹੈ, XQuery ਦੇ ਇਲੈਕਟਰਨ, ਆਟਰੀਬਿਊਟਸ ਅਤੇ ਵਾਰੀਅਬਲਸ ਨੂੰ ਲਾਗੂ XML ਨਾਮ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ。

XQuery ਦੇ ਬੁਨਿਆਦੀ ਗਰੇਟਰ ਰੂਲਸ:

ਕੁਝ ਬੁਨਿਆਦੀ ਗਰੇਟਰ ਰੂਲਸ:

  • XQuery ਨੂੰ ਮੇਲਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਹੈ
  • XQuery ਦੇ ਇਲੈਕਟਰਨ, ਆਟਰੀਬਿਊਟਸ ਅਤੇ ਵਾਰੀਅਬਲਸ ਨੂੰ ਲਾਗੂ XML ਨਾਮ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ。
  • XQuery ਚਿੰਨ੍ਹ ਮੁੱਲਾਂ ਨੂੰ ਇੱਕਲੀ ਯਾਨੀ ਦੋਹਰੀ ਕੋਟੇ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ。
  • XQuery ਵਾਰੀਅਬਲਸ ਨੂੰ "$" ਨਾਲ ਅਤੇ ਇੱਕ ਨਾਮ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਉਦਾਹਰਣ, $bookstore
  • XQuery ਨੋਟਸ ਨੂੰ (: ਅਤੇ :) ਵੱਲੋਂ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ, ਉਦਾਹਰਣ ਵਜੋਂ, (: XQuery ਨੋਟਸ :)

XQuery ਕੰਡੀਸ਼ਨਲ ਐਕਸਪ੍ਰੈਸ਼ਨ

"If-Then-Else" ਨੂੰ XQuery ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ。

ਹੇਠਾਂ ਦੇ ਉਦਾਹਰਣ ਨੂੰ ਦੇਖੋ:

ਜਿਸ ਵਾਸਤੇ $x in doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then {data($x/title)}
	else {data($x/title)}

请注意 "If-Then-Else" 的语法:if 表达式后的圆括号是必需的。else 也是必需的,不过只写 “else ()” 也可以。

上面的例子的结果:

Everyday Italian
Harry Potter
Learning XML
XQuery Kick Start

XQuery 比较

在 XQuery 中,有两种方法来比较值。

  1. 通用比较:=, !=, <, <=, >, >=
  2. 值的比较:eq、ne、lt、le、gt、ge

这两种比较方法的差异如下:

请看下面的 XQuery 表达式:

$bookstore//book/@q > 10

如果 q 属性的值大于 10,上面的表达式的返回值为 true。

$bookstore//book/@q gt 10

如果仅返回一个 q,且它的值大于 10,那么表达式返回 true。如果不止一个 q 被返回,则会发生错误。