XQuery ఎంపిక మరియు ఫిల్టరింగ్

XML ఉదాహరణ డాక్యుమెంట్

మేము క్రింది ఉదాహరణలో ఈ "books.xml" డాక్యుమెంట్ను (మరియు పైని చాప్టర్స్ లో ఉపయోగించిన XML ఫైల్ను) కొనసాగిస్తాము.

మీ బ్రౌజర్‌లో "books.xml" ఫైల్‌ను చూడండి..

ఎలిమెంట్స్ ఎంపిక మరియు తగ్గించడం

ముంది చాప్టర్లులో చూసిన పద్ధతిలో, మేము పాథ్ ఎక్స్ప్రెషన్స్ లేదా FLWOR ఎక్స్ప్రెషన్స్ ఉపయోగించి ఎలిమెంట్స్ ను ఎంపిక చేసి తగ్గించాము.

దిగువన ఉన్న FLWOR ఎక్స్ప్రెషన్ చూడండి:

for $x in doc("books.xml")/bookstore/book
వార్ $x/price>30
ఆర్డర్ బై $x/title
return $x/title
ఫర్
(ఆప్షనల్) ఇన్ ఎక్స్ప్రెషన్ ద్వారా వారిని బంధించడానికి వారిని బంధించండి
లెట్
(ఆప్షనల్)
వార్
(ఆప్షనల్) ఒక పరిస్థితిని నిర్ణయించండి
ఆర్డర్ బై
(ఆప్షనల్) ఫలితం యొక్క క్రమబద్ధతను నిర్ణయించండి
రిటర్న్
ఫలితంలో రాబట్టబడుతున్న విషయాన్ని నిర్ణయిస్తుంది

ఫర్ స్టేట్‌మెంట్

ఫర్ స్టేట్‌మెంట్ వారిని వాటిని బంధించడానికి వారిని బంధించవచ్చు. ఫర్ స్టేట్‌మెంట్ ఒక ఇటీరేషన్ ఉత్పత్తి చేస్తుంది. ఒక FLWOR ఎక్స్ప్రెషన్‌లో పలు ఫర్ స్టేట్‌మెంట్స్ ఉండవచ్చు.

ఒక ఫర్ స్టేట్‌మెంట్‌లో ఒక నిర్దిష్ట సంఖ్యలో లోపల లోపల చొరవ చేయడానికి మీరు ఉపయోగించవచ్చు:కీవర్డ్ టు :

ఫర్ $x ఇన్ (1 టు 5)
return <test>{$x}</test>

ఫలితం:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

కీవర్డ్ అట్ ఇటీరేషన్స్ లో కాల్క్యులేషన్ కొరకు ఉపయోగించవచ్చు:

ఫర్ $x అట్ $i ఇన్ డాక్("books.xml")/bookstore/book/title
రిటర్న్ <book>{$i}. {డాటా($x)}</book>

ఫలితం:

<book>1. ఇవర్‌డే ఇటాలియన్</book>
<book>2. హ్యారీ పాటర్</book>
<book>3. ఎక్స్క్యూరీ కిక్ స్టార్ట్</book>
<book>4. లెర్నింగ్ ఎక్స్ఎమ్ఎల్</book>

ఫర్ స్టేట్‌మెంట్‌లో కూడాపలు ఇన్ ఎక్స్ప్రెషన్స్ అనుమతిస్తాయిప్రతి ఇన్ ఎక్స్ప్రెషన్ ను కామా స్ప్లిట్ చేయండి:

ఫర్ $x ఇన్ (10,20), $y ఇన్ (100,200)
రిటర్న్ <test>ఎక్స్={$x} మరియు యెయ్={$y}</test>

ఫలితం:

<test>ఎక్స్=10 మరియు యెయ్=100</test>
<test>ఎక్స్=10 మరియు యెయ్=200</test>
<test>ఎక్స్=20 మరియు యెయ్=100</test>
<test>ఎక్స్=20 మరియు యెయ్=200</test>

లెట్ స్టేట్‌మెంట్

let వాక్యం వ్యాఖ్యానికి వాస్తవిక విలువను అందిస్తుంది, మరియు అదే వాక్యాన్ని బహుళంగా వినియోగించడానికి నివారిస్తుంది. let వాక్యం బదులు అనుకూలంగా కాదు.

let $x := (1 to 5)
return <test>{$x}</test>

ఫలితం:

<test>1 2 3 4 5</test>

where వాక్యం

where వాక్యం ఫలితాలకు ఒకటి లేదా అనేక పరిస్థితులను నిర్ణయిస్తుంది (criteria).

where $x/price>30 and $x/price<100

order by వాక్యం

order by వాక్యం ఫలితాల క్రమబద్ధీకరణ నిర్ణయిస్తుంది. ఇక్కడ మేము category మరియు title ప్రకారం ఫలితాలను క్రమబద్ధీకరించాలని నిర్ణయించాము:

for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title

ఫలితం:

<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

return వాక్యం:

return వాక్యం వాటిని తిరిగి ఇవ్వడానికి నిర్ణయిస్తుంది.

for $x in doc("books.xml")/bookstore/book
return $x/title

ఫలితం:

<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>