ایکس کوئیری گرامر

XQuery ਕੇਵਲ ਮਹਾਂਪੱਖੀ ਸੰਵੇਦਨਸ਼ੀਲ ਹੈ, XQuery ਦੇ ਇਲਾਕੇ, ਗੁਣ ਅਤੇ ਵਾਰੀਅਬਲ ਲਾਜ਼ਮੀ ਤੌਰ 'ਤੇ ਲਾਜ਼ਮੀ XML ਨਾਮ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ。

XQuery ਦੇ ਬੁਨਿਆਦੀ ਗਰੰਟੇਸ਼ਨਾਂ:

ਕੁਝ ਬੁਨਿਆਦੀ ਗਰੰਟੇਸ਼ਨਾਂ:

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

XQuery ਸਿਧਾਂਤਕ ਪ੍ਰਗਟਾਵਾ

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

ਹੇਠ ਦੇ ਉਦਾਹਰਣ ਦੇਖੋ:

for $x in doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

ਕਿਰਪਾ ਕਰਕੇ "If-Then-Else" ਦੀ ਗਰੰਟੇਸ਼ਨ ਦੇਖੋ: if ਇਕਲੌਤੀ ਪ੍ਰਗਟਾਵੇ ਦੇ ਬਾਅਦ ਦੀ ਗੁੰਜਾਇਸ਼ ਲਾਜ਼ਮੀ ਹੈ।else ਵੀ ਲਾਜ਼ਮੀ ਹੈ, ਪਰ ਸਿਰਫ "else ()" ਲਿਖ ਸਕਦੇ ਹੋ ਵੀ ਹਨ。

ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਦਾ ਨਤੀਜਾ:

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</adult>

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 被返回,则会发生错误。