XQL
Предлага се тази статия да се обедини със страницата XQuery. |
XQL | |
Парадигма | Език за заявки |
---|---|
Реализиране през | 1990-те |
Автор | W3C |
Типизация на данните | слаба |
Програмни диалекти | XQuery |
Повлиян от | XPath, XML-QL |
Повлиява | XPath Full-Text |
Уебсайт | www.ibiblio.org/xql |
XQL (произнася се [екс-кю-ел], от англ. eXML Query Language – това е език за запитвания, специално разработен за работа с XML документи. Той е тясно свързан с XPath като неговите основни конструкции кореспондират на основните структури в XML.
Дизайнът на XQL е повлиян от по-рано предложен от W3C език за заявки към XML документи наречен XML-QL. Мотивацията за този дизайн се базира на това, че XML притежава свой вграден модела на данните, който е различен както от този на традиционните релационни бази данни, така и от този на обектно или обектно-реалционно ориентираните.
Синтаксис
[редактиране | редактиране на кода]В XQL един документ представлява подредено дърво с означени възли, които представят елементи, атрибути, инструкции за обработка и коментари. Всички заявки се извършват в аспект родител-наследник и наследник-предшественик в дървовидната структура на документа.
Заявките в XQL връщат като резултат XML елементи от един или повече XML документа: Обикновените низове се интерпретират като имена на такива елементи.
table
Тази заявка връща като реултат всички <table> елементи от документа.
front/author
Операторът за наследници „/“ означава йерархията в документ – резултатът от тази заявка са всички <author> елементи, които са наследници на <front>. Друг оператор, касаещ йерархията е „//“, който дава достъп до елементи на произволно ниво в йеарахията на документа, започвайки от зададения елемент.
За конкретизиране на търсения разултат XQL дава възможност за задаване на филтри чрез оператора „=“:
front/author='Иван Вазов'
Така зададена, заявката има разултат всички <author> елементи, които са преки наследници на <front> със съдържание „Иван Вазов“.
Имената на атрибутите се означават с „@“ и се третират като преки наследници на елементите, към които принадлежат:
front/author/address/@type='email'
Различни условия могат да се задават с използване на логически оператори:
front/author='Павел Вежинов'[@gender='male' and @shoesize='9EEEE']
XQL дава достъп и по нива в даокумента:
section[@level='4'][1 to 3]
Резултат от изпълнението на тази заявка са първите 4 елемента, чиито атрибут за ниво level има стойност 4, т.е. първите четири елемента от ниво 4 в XML дървото.
Стандарти свързани с XQL
[редактиране | редактиране на кода]XQL е съобразен със следните стандарти за бази данни
- SQL [ANSI X3]
- OQL [ODMG].
- XPath
- DOM (Document Object Model – Обектен документен модел) – стандартен обектен модел за програмен достъп до XML документи