Мова програмування XQuery визначає FLWOR (вимовляється як «flower») як вирази, які підтримують ітерацію та прив’язування змінних до проміжних результатів. FLWOR — це абревіатура: FOR, LET, WHERE, ORDER BY, RETURN. FLWOR майже аналогічний SELECT-FROM-WHERE SQL і може використовуватися для надання функціональних можливостей, подібних до XML-документів.
Значення кожної букви абревіатури
Як згадувалось раніше ,FLWOR це абревіатура, і кожна буква означає певний вираз.
- F - for. Вибирає набір усіх вузлів
- L - let. Помістіть результат у змінну XQuery
- W - where. Вибирає вузол, заданий умовою.
- O - order by. Сортує вказані вузли відповідно до умов.
- R - return. Повертає кінцевий результат.
Приклад
Ось для прикладу у нас є такий xml документ під назвою ("file.xml").Тут вказані школи(school) з їхніми id та учні(student) , що навчаються у даних школах. Також кожен учень має ім'я(Name),
прізвище (Surname), стать(Sex), та рік народження(BirthYear).Імена та прізвища вигадані. Будь-які збіжності випадкові.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Schools> <School id="SH001"> <Students> <Student id="ST1SH001"> <Name>Sviatoslav</Name> <Surname>Kondera</Surname> <Sex>Man</Sex> <BirthYear>2002</BirthYear> </Student> <Student id="ST2SH001"> <Name>Orest</Name> <Surname>Rodtsevych</Surname> <Sex>Man</Sex> <BirthYear>2002</BirthYear> </Student> <Student id="ST3SH001"> <Name>Solomiya</Name> <Surname>Tymnyak</Surname> <Sex>Woman</Sex> <BirthYear>2005</BirthYear> </Student> </Students> </School> <School id="SH002"> <Students> <Student id="ST1SH002"> <Name>Yarina</Name> <Surname>Panteriy</Surname> <Sex>Woman</Sex> <BirthYear>2003</BirthYear> </Student> <Student id="S2SH002"> <Name>Nazar</Name> <Surname>Rodtsevych</Surname> <Sex>Man</Sex> <BirthYear>2005</BirthYear> </Student> </Students> </School> </Schools>
Приклад запиту XQuery . У даному прикладі ми йдемо циклом по усіх учнях(Student) та створюємо змінну StudentYears , яка позначає кількість років учня. Далі ми сортуємо учнів по року народження та вибираємо учнів , які мають більше або рівне 18 років. Та повертаємо ім'я , прізвище та кількість років.
for $student in doc("file.xml")//Student let $StudentYears:= year-from-date(current-date())- $student/BirthYear order by $student/BirthYear where $StudentYears>=18 return (concat("Name: ",$student/Name ," Surname: ",$student/Surname," Years: ",$StudentYears))
Результат Запиту
Name: Sviatoslav Surname: Kondera Years: 19 Name: Orest Surname: Rodtsevych Years: 19 Name: Yarina Surname: Panteriy Years: 18
Посилання
- W3C XML Query (XQuery) - FLWOR Expressions [ 2 лютого 2006 у Wayback Machine.]
- Introduction to FLWOR [ 11 квітня 2015 у Wayback Machine.]
- https://www.w3schools.com/xml/xquery_flwor.asp [ 1 грудня 2021 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Mova programuvannya XQuery viznachaye FLWOR vimovlyayetsya yak flower yak virazi yaki pidtrimuyut iteraciyu ta priv yazuvannya zminnih do promizhnih rezultativ FLWOR ce abreviatura FOR LET WHERE ORDER BY RETURN FLWOR majzhe analogichnij SELECT FROM WHERE SQL i mozhe vikoristovuvatisya dlya nadannya funkcionalnih mozhlivostej podibnih do XML dokumentiv Znachennya kozhnoyi bukvi abreviaturiYak zgaduvalos ranishe FLWOR ce abreviatura i kozhna bukva oznachaye pevnij viraz F for Vibiraye nabir usih vuzliv L let Pomistit rezultat u zminnu XQuery W where Vibiraye vuzol zadanij umovoyu O order by Sortuye vkazani vuzli vidpovidno do umov R return Povertaye kincevij rezultat PrikladOs dlya prikladu u nas ye takij xml dokument pid nazvoyu file xml Tut vkazani shkoli school z yihnimi id ta uchni student sho navchayutsya u danih shkolah Takozh kozhen uchen maye im ya Name prizvishe Surname stat Sex ta rik narodzhennya BirthYear Imena ta prizvisha vigadani Bud yaki zbizhnosti vipadkovi lt xml version 1 0 encoding UTF 8 standalone yes gt lt Schools gt lt School id SH001 gt lt Students gt lt Student id ST1SH001 gt lt Name gt Sviatoslav lt Name gt lt Surname gt Kondera lt Surname gt lt Sex gt Man lt Sex gt lt BirthYear gt 2002 lt BirthYear gt lt Student gt lt Student id ST2SH001 gt lt Name gt Orest lt Name gt lt Surname gt Rodtsevych lt Surname gt lt Sex gt Man lt Sex gt lt BirthYear gt 2002 lt BirthYear gt lt Student gt lt Student id ST3SH001 gt lt Name gt Solomiya lt Name gt lt Surname gt Tymnyak lt Surname gt lt Sex gt Woman lt Sex gt lt BirthYear gt 2005 lt BirthYear gt lt Student gt lt Students gt lt School gt lt School id SH002 gt lt Students gt lt Student id ST1SH002 gt lt Name gt Yarina lt Name gt lt Surname gt Panteriy lt Surname gt lt Sex gt Woman lt Sex gt lt BirthYear gt 2003 lt BirthYear gt lt Student gt lt Student id S2SH002 gt lt Name gt Nazar lt Name gt lt Surname gt Rodtsevych lt Surname gt lt Sex gt Man lt Sex gt lt BirthYear gt 2005 lt BirthYear gt lt Student gt lt Students gt lt School gt lt Schools gt Priklad zapitu XQuery U danomu prikladi mi jdemo ciklom po usih uchnyah Student ta stvoryuyemo zminnu StudentYears yaka poznachaye kilkist rokiv uchnya Dali mi sortuyemo uchniv po roku narodzhennya ta vibirayemo uchniv yaki mayut bilshe abo rivne 18 rokiv Ta povertayemo im ya prizvishe ta kilkist rokiv for student in doc file xml Student let StudentYears year from date current date student BirthYear order by student BirthYear where StudentYears gt 18 return concat Name student Name Surname student Surname Years StudentYears Rezultat ZapituName Sviatoslav Surname Kondera Years 19 Name Orest Surname Rodtsevych Years 19 Name Yarina Surname Panteriy Years 18PosilannyaW3C XML Query XQuery FLWOR Expressions 2 lyutogo 2006 u Wayback Machine Introduction to FLWOR 11 kvitnya 2015 u Wayback Machine https www w3schools com xml xquery flwor asp 1 grudnya 2021 u Wayback Machine