Strefa wolna od botów!
Piszemy my, nie maszyny.

Czym jest XQuery?

XQuery jest językiem zapytań, który wykorzystuje się do przeszukiwania dokumentów w formacie XML. Czym jest i jak działa XQuery? Jakie są podobieństwa między nim a MySQL? Na te i wiele innych pytań szczegółowo odpowiadamy w poniższym artykule. Zapraszamy do lektury.

 

 

Czym jest XQuery?

 

XQuery (z angielskiego XML query language) to określenie dla języka zapytań posiadającego określone cechy języka programowania, który wykorzystywany jest przede wszystkim do przeszukiwania dokumentów w formacie XML. 

Twórcy XQuery za cel postawili sobie zaprojektowanie takiego oprogramowania, które będzie posiadało mechanizmy zapytań do ekstrakcji danych z rzeczywistych i wirtualnych dokumentów WWW. W ten sposób łączy się technologie internetowe i bazy danych za pomocą XML.

Historia tego języka sięga grudnia 1998 roku. Wówczas firma W3C zorganizowała warsztaty QL’98, które dotyczyły języków przeszukiwania dokumentów XML. Z racji bardzo dużego zainteresowania XML-em utworzono wówczas grupę XML Query. Pierwszy szkielet omawianego języka został upubliczniony w lutym 2001 roku. Z kolei w sierpniu 2004 roku rozpoczęto prace nad rozwijaniem XPath w wersji 2.0. W styczniu 2007 roku XQuery 1.0 wraz z XPath 2.0 otrzymały oficjalną rekomendację od konsorcjum W3C.

Twórcy XQuery inspirowali się wieloma językami, m.in. XPath 1.0, SQL, Lorel, Quilt. Omawiany język jest statystycznie typowanym językiem deklaratywnym, który oparto na wyrażeniach ścieżkowych. Korzeń dokumentu jest oznaczany za pośrednictwem document node.

Jak wyglądają praktyczne przykłady użycia XQuery? Są one następujące:

  • wyodrębnienie informacji do wykorzystania w usłudze sieciowej,
  • generowanie raportów podsumowujących,
  • wyszukiwanie informacji w dokumentach internetowych,
  • przekształcenie danych z formatu XML na XHTML.

 

 

Czym jest XML?

 

XML to skrót z języka angielskiego – Extensible Markup Language, czyli rozszerzalny język znaczników. Pliki XML są wykorzystywane do przekazywania danych w sposób strukturalny – z łatwością mogą odczytać je zarówno ludzie jak i maszyny. Ta metoda zapisu danych została zaprojektowana w 1998 roku przez firmę W3C.

Wszystkie dokumenty w formacie XML muszą posiadać zagnieżdżone elementy – zapisuje się je jako znaczniki mające postać <znacznik></znacznik>. Najważniejszy atut dokumentów XML to fakt, iż w tej chwili istnieje wiele skutecznych narzędzi, które pozwalają na ich szybkie i sprawne przeszukiwanie. Oprócz XQuery jest to także SAX (ang.Simple API for XML), StAX (ang. Streaming API for XML), DOM (ang. Document Object Model),  JAXB (ang. Java Architecture for XML Binding) czy XSLT (ang. Extensible Stylesheet Language Transformations).

Język XML jest niezależny od platform, dlatego każdy programista może samodzielnie zdecydować, na jakim programie będzie obsługiwał, odczytywał i przetwarzał dane XML. System operacyjny, sprzęt oraz używany program nie mają żadnego znaczenia. Właśnie ta cecha sprawiła, że XML stał się jedną z najpopularniejszych technologii służących do wymiany informacji. 

 

 

Do czego XQuery jest podobne?

 

Język XQuery posiada wiele cech wspólnych z technologią XPath. Zarówno jeden jak i drugi są oparte na tym samym modelu danych oraz wyposażono je w identyczną bibliotekę funkcji i operatorów. Specjaliści wskazują, że język XQuery może być tak naprawdę uznany za rozszerzenie języka XPath, ale trzeba nadmienić, że definicje obu języków to odrębne rekomendacje.

XQuery to samodzielny standard, zaś wyrażenia XPath znajdują zastosowanie także w innych formatach, np. XPointer, XML Schema czy XSLT. Co ciekawe, XPath początkowo był projektowany wyłącznie dla XSLT i XPointer.

Skalę podobieństw pomiędzy XQuery i XPath najlepiej podkreśla fakt, iż przytłaczająca większość wyrażeń XPath jest także poprawnym wyrażeniem w XQuery. Do poprawnych zapytań zaliczyć można wyrażenia logiczne, arytmetyczne itp.

 

 

Czy można porównać XQuery do MySQL?

 

Czy istnieją podobieństwa między XQuery a MySQL? Przede wszystkim należy zaznaczyć, że MySQL to otwarto-źródłowy system zarządzania relacyjną bazą danych. Oprogramowanie cechuje się tym, że zapewnia dostęp do szerokiej liczby mechanizmów służących do ochrony danych użytkowników oraz zapewnia skalowalność.

 Jest również stosowane przez globalnych gigantów takich jak Facebook czy YouTube. Niewątpliwą zaletą MySQL jest fakt, iż jest to bardzo wydajna baza danych, która może obsługiwać nawet milion zapytań na sekundę. Podobnie jak XQuery może on być używany na dowolnie wybranym systemie operacyjnym. Oba języki wykorzystuje się do analizy i przetwarzania relacyjnych baz danych. Istnieje jednak istotna różnica – MySQL jest oparty na języku C++ i C, zaś XQuery służy do przeszukiwania dokumentów w formacie XML. 

 

 

Do czego można wykorzystać XQuery?

 

XQuery zaprojektowano jako język zapytań dla danych przechowywanych w formacie XML, zatem jego podstawową funkcją jest pobieranie informacji z baz danych XML. Obejmuje to relacyjne bazy danych przechowujące dane XML bądź prezentujące widok XML przetwarzanych danych. 

Niektórzy programiści wykorzystują także XQuery do modyfikowania dokumentów XML – na przykład do przekształcania wiadomości przesyłanych pomiędzy różnymi aplikacjami. W tym względzie XQuery konkuruje w sposób bezpośredni z XSLT, ponieważ oba oferują dokładnie tę samą funkcjonalność. To, z którego języka skorzystamy, uzależnione jest wyłącznie od naszych osobistych preferencji.

Są nawet i tacy specjaliści, którzy wykorzystują XQuery do renderowania XML do HTML, jednak należy mieć na uwadze, że oprogramowanie nie zostało do tego stworzone, tym samym takie działanie może nieść za sobą negatywne konsekwencje. 

Porozmawiajmy!

    Wypełnij formularz,
    a my pomożemy Ci wdrożyć najnowsze rozwiązania!