Przykładowy dokument XML



Podobne dokumenty
Przykładowy dokument XML

Przykładowy dokument XML

XML extensible Markup Language 7

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Model semistrukturalny

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

29. Poprawność składniowa i strukturalna dokumentu XML

1 XML w bazach danych

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Cechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment.

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

XML extensible Markup Language 3

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

XML w bazie danych IBM DB2

Extensible Markup Language III

XQuery. sobota, 17 grudnia 11

2017/2018 WGGiOS AGH. LibreOffice Base

Dlaczego GML? Gdańsk r. Karol Stachura

Spis treści. Przedmowa

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XML w bazach danych i bezpieczeństwie

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Relacyjne bazy danych a XML

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

2 Podstawy tworzenia stron internetowych

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura

XML extensible Markup Language. Paweł Chodkiewicz

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Rola języka XML narzędziem

Bazy danych i strony WWW

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Systemy baz danych. mgr inż. Sylwia Glińska

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

DTD - encje ogólne i parametryczne, przestrzenie nazw

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Język XQuery jako narzędzie do integracji danych Oracle XML Data Synthesis

XML i nowoczesne technologie zarządzania treścią

Podstawowe zapytania SELECT (na jednej tabeli)

Wprowadzenie do baz danych

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

XML w bazach danych i bezpieczeństwie

Bazy danych. Polecenia SQL

Programowanie internetowe

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

Wykład 2. Relacyjny model danych

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Autor: dr inż. Katarzyna Rudnik

Systemy GIS Tworzenie zapytań w bazach danych

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

XML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Dokumentacja SMS przez FTP

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Przestrzenne bazy danych Podstawy języka SQL

Oracle11g: Wprowadzenie do SQL

Krzysztof Kadowski. PL-E3579, PL-EA0312,

ANKIETER wersja tworzenie kwestionariusza

Podstawy JavaScript ćwiczenia

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

XML i nowoczesne metody zarządzania treścią

Wprowadzenie do baz danych

Bazy danych dokumentów XML wykład 1 wprowadzenie

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

Wprowadzenie do języka SQL

Otwarte protokoły wymiany informacji w systemach ITS

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Historia kodowania i format plików XML. Jolanta Bachan

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Język SQL. Rozdział 2. Proste zapytania

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak

1 Podstawy c++ w pigułce.

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

GML w praktyce geodezyjnej

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

252 Bazy danych. Praca z językiem XML

Wprowadzenie do technologii XML

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Część II. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

1. Przypisy, indeks i spisy.

Środowisko XML (Extensible Markup Language).

Transkrypt:

Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML jest językiem znaczników, jak HTML, XML nie posiada swoich własnych znaczników, można tworzyć własne znaczniki według potrzeb, tworząc nowe znaczniki, należy trzymać się specyfikacji XML-a.

Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>

Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>

Wady i zalety XML-a Zalety Łatwy do odczytania, zarówno dla człowieka, jak dla maszyny (zwykły tekst). Zawiera dane i jednocześnie opisuje znaczenie danych (self-documenting). Może reprezentować praktycznie dowolny rodzaj danych: hierarchie, rekordy, listy (elastyczność, uniwersalność). Sformalizowany zapis pozwala na komputerowe przetworzenie, weryfikacje dokumentów XML (well-formed). Wady Nadmiarowość informacji (powtarzające się znaczniki, zagnieżdżone elementy). Nie wszystko da się wyrazić elastycznie w postaci struktury hierarchicznej (np. albo Film->Aktor, albo Aktor->Film)

Zastosowanie XML-a Elektroniczna wymiana danych Usługi e-biznesu: transakcje zakodowane w postaci XML-a (XML jako podstawa Web Serwisów), wiele formatów pochodnych. Komunikacja w sferze publicznej (np. podatnik urząd podatkowy, systemy celne, NFZ - świadczeniodawcy, itp.). Do zapisu informacji o luźnej strukturze, trudnej do jednoznacznego opisana w momencie projektowania, np. formularze WWW, wymagające częstych zmian. Format przechowywania dokumentów.

Zasady pisania dokumentów XML Reguły, aby dokument XML był poprawny składniowo: 1. element główny jest wymagany; zawsze musi być dokładnie jeden element główny; wszystkie pozostałe elementy dokumentu są zawarte w elemencie głównym; przed elementem głównym dopuszczalne są komentarze i instrukcje przetwarzania; 2. znaczniki zamykajace są niezbędne; każdy element musi mieć znacznik zamykający; 3. elementy muszą być odpowiednio zagnieżdżone; 4. wielkość liter ma znaczenie; 5. wartość atrybutu musi być zamykana w dwóch takich samych znakach pojedynczego lub podwójnego cudzysłowu.

Zasady tworzenia dokumentów XML Elementy składowe XML-a to znaczniki określające elementy, wartości tych elementów oraz atrybuty. Element XML to podstawowa jednostka dokumentu. Może zawierać: tekst, atrybuty, inne znaczniki. Każdy element ma znacznik otwierający: <nazwa_elementu> oraz znacznik zamykający: </nazwa_elementu>. Pusty element może składać się z pojedynczego znacznika otwierającego i zamykającego, np. <obrazek plik="mapa.jpg"/> Atrybuty elementu umieszczane są w obrębie znacznika otwierającego, w postaci par nazwa-wartość, np. <wysokosc jednostka="metr">33</wysokosc>. Opisują zawartość i przeznaczenie elementu. Informacje zawarte w atrybutach to metadane. Element może mieć wiele atrybutów, ich nazwy muszą być unikalne

Zasady tworzenia dokumentów XML Dokument XML powinien rozpoczynać się deklaracją, która wskazuje zastowaną wersję XML-a. Przykładowa deklaracja XML: <?xml version="1.0"?> Deklarację umieszczamy na początku, przed wszystkimi innymi elementami. Znaczniki rozpoczynające się od <? i kończące się?> to instrukcje przetwarzania. Służą do deklarowania wersji XML, określania kodowania znaków, arkuszy stylów.

Zasady tworzenia dokumentów XML Dokument XML powinien rozpoczynać się deklaracją, która wskazuje zastowaną wersję XML-a. Przykładowa deklaracja XML: <?xml version="1.0"?> Deklarację umieszczamy na początku, przed wszystkimi innymi elementami. Znaczniki rozpoczynające się od <? i kończące się?> to instrukcje przetwarzania. Służą do deklarowania wersji XML, określania kodowania znaków, arkuszy stylów. Komentarze XML: warto opisywać dokumenty XML, aby określić co oznacza dany element. Komentarz zaczyna się za pomocą <!, a kończy >. Nie wolno zagnieżdżać komentarzy, ani używać znaku wewnątrz komentarza.

Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <! cena ksiażki na podstawie platformy Ceneo > <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>

Predefiniowane encje XML-a: pięć znaków specjalnych Predefiniowane encje XML-a: & tworzy znak & < tworzy znak < > tworzy znak > " tworzy znak &apos; tworzy znak

Przekształcanie dokumentów XML za pomoca XSLT 2.0 Język XSLT służy do przekształcanie dokumentów XML na inny format, np. HTML. Przekształcanie dokumentu XML polega na zastosowaniu XSLT do analizy jego zawartości, a następnie podjęcie konkretnych działań w zależności od tego, jakie elementy zostaną znalezione. XSLT można użyć także do zmiany kolejności danych wynikowych na podstawie pewnych kryteriów, do wyświetlenia tylko określonych fragmentów informacji. W procesie przekształcania biorą udział dwa dokumenty: źródłowy dokument XML oraz arkusz stylów XSLT opisujący reguły przekształcania. Arkusze stylów to pliki tekstowe, zapisywane są z rozszerzeniem.xsl. Każdy arkusz stylów też jest plikiem XML. Do wykonania przekształcenia potrzebujemy: procesora XSLT lub przeglądarki, obsługującej XSLT (większość ma wbudowaną obsługę).

1. Powiązanie dokumentu XML z arkuszem stylów XSLT 2.0: dodajemy instrukcję (po deklaracji xml): <?xml-stylesheet type="text/xsl" href="booksstyl.xsl"?>

1. Powiązanie dokumentu XML z arkuszem stylów XSLT 2.0: dodajemy instrukcję (po deklaracji xml): <?xml-stylesheet type="text/xsl" href="booksstyl.xsl"?> 2. Przeglądarka (lub procesor XSLT) następnie wykona transformację pliku XML, zanim zostanie on wyświetlony. Pierwszy etap: konwersja dokumentu XML do drzewa węzłów, które jest hierarchiczną reprezentacją. Każdy węzeł odpowiada jednemu z elementów dokumentu XML, atrybutowi lub zawartości tekstowej. 3. Kolejny etap to odwołanie się do arkusza stylów XSLT w celu znalezienia instrukcji, określających sposób wyświetlania węzłów. Instrukcje te są zawarte w tzw. szablonach, które składają się z etykiety, która identyfikuje węzły, do których ma zastosowanie dany szablon i z instrukcji określających, jak te węzły mają być przekształcone.

Dokument XML i jego drzewo węzłów <?xml version="1.0"?> <books> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book> </books>

Dokument XML i jego drzewo węzłów!"" #$% #% # #

Inicjowanie arkusza stylów XSLT: deklarujemy, że to dokument XML: <?xml version="1.0"?> następnie deklarujemy przestrzeń nazw XSLT i jej prefiks oraz wersję XSLT <xsl:stylesheet xmlns:xsl="http://www.w3.org/ 1999/XSL/Transform" version="2.0"> określamy typ pliku wynikowego (html): <xsl:output method="html"/> tworzymy szablon główny: <xsl:template match="/"> w szablonie głównym określamy poszczególne elementy dokumentu HTML Zamykamy szablon główny: </xsl:template> i kończymy arkusz stylów: </xsl:stylesheet>

Tworzenie szablonu głównego: <xsl:template match="/"> Szablon główny określa reguły stosowane do węzła głównego dokumentu XML. Opisuje sposób przetwarzania zawartości z węzła głównego w nowe dane wynikowe. Aby utworzyć plik wyjściowy w formacie html, należy zastosować instrukcję: <xsl:output method="html"/> W obrębie szablonu głównego należy teraz określić poszczególne elementy dokumentu HTML (head, title, body, itp.). Wszystko w obrębie szablonu głównego, co nie jest instrukcją XSLT (czyli elementy literalne), będzie wyświetlane w takiej formie, w jakiej zostało zapisane. W ten sposób można dodać znaczniki i tekst html do pliku wynikowego.

Wyświetlanie wartości węzła Aby wyświetlić wartość węzła XML, używamy instrukcji <xsl:value-of>: <xsl:value-of select="wyrażenie"/> Wyrażenie XPath identyfikuje zbiór węzłów, który ma być wyświetlany. Uwagi instrukcja select="." służy do wybrania bieżącego węzła. Jeżeli wyrażenie select odpowiada więcej, niż jednemu węzłowi, wyświetlana jest zawartość pierwszego węzła. Można zwrócić tylko te węzły, dla których określony atrybut ma daną wartość, np.: select="books/book[@language= polski ]" Jeżeli wyrażenie select odpowiada węzłowi, który posiada węzły potomne, ich zawartość też jest wyświetlana. Jeżeli odpowiada pustemu zbiorowi węzłów - nic nie jest wyświetlane.

Zapętlanie węzłów Element xsl:for-each pozwala działać na wszystkich węzłach, do których pasuje. Aby przetwarzać węzły partiami, należy: w obrębie reguły szablony wpisujemy <xsl:for-each select="wyrażenie"> podajemy reguły przetwarzania węzłów, które mają być przetworzone (identyfikuje je wyrażenie XPath) kończymy instrukcję znacznikiem </xsl:for-each> Uwagi znacznik xsl:for-each powinno się umieszczać przed regułami, które mają być powtarzane dla każdego znalezionego węzła jeżeli chcemy umieścić zawartość węzłów w tabeli, znacznik <table> otwierający tabelę powinien być przed instrukcją <xsl:for-each>, a znacznik zamykający tabelę po niej.

Język XPath XPath jest językiem służącym do wybierania węzłów i zbioru węzłów poprzez określanie ścieżek ich lokalizacji w dokumencie XML. XPath można też użyć do dalszego przetworzenia zbioru zwróconych węzłów, za pomocą wbudowanych funkcji do obliczeń matematycznych, przetwarzania ciągów znaków i testowania warunków w dokumencie XML. U podstaw języka XPath leży możliwość stosowania ścieżek lokalizacji, w celu odwołania się do węzłów dokumentu XML (węzeł to każdy indywidualny fragment dokumentu XML: element, atrybut, zawartość tekstowa). XPath widzi dokument XML w postaci drzewa węzłów.

Dokument XML i jego drzewo węzłów <?xml version="1.0"?> <books> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book> </books>

Dokument XML i jego drzewo węzłów!"" #$% #% # #

Ścieżki lokalizacji Dwa rodzaje ścieżek lokalizacji: względna ścieżka: składa się z sekwencji kroków lokalizacji, rozdzielonych znakiem /. Każdy krok określa węzeł (lub zbiór węzłów) wzgl. węzła bieżącego. W kolejnym kroku każdy węzeł w tym zbiorze jest użyty w roli węzła bieżącego dla kolejnego kroku; bezwględna ścieżka: zaczyna się od znaku /, po którym może następować względna ścieżka lokalizacji. Znak / określa węzeł główny. Węzeł bieżący to element lub węzeł, który jest aktualnie przetwarzany.

Wyrażenia XPath Wybieranie dzieci danego węzła: jeżeli bieżący węzeł zawiera elementy, które chcemy znaleźć, należy podać nazwę elementu - dziecka, aby odwołać się do dalszych potomków, należy użyć znaku / i podać nazwę dalszego potomka, itp. Znak * określa wszystkie dzieci bieżącego węzła, np. /book/authors/author /book/title Wybieranie rodzica danego węzła: za pomocą.. Można potem odwołać się do innych dzieci węzła, będącego tym rodzicem, np.../title spowoduje wybranie węzła - dziecka (o nazwie title) dla węzła będącego rodzicem węzła bieżącego;../* to wybranie wszystkich elementów-dzieci rodzica węzła bieżącego. Wybieranie atrybutów węzła: stosujemy znak @. Wpisz ścieżkę lokalizacji dla danego węzła, następnie /@nazwa atrybutu, np. /book/authors/author[@id=100]

Wyrażenia XPath Wybieranie wszystkich potomków: skrót // Aby wybrać wszystkich potomków węzła głównego użyj // Aby wybrać pewnych potomków danego węzła użyj ścieżka lokalizacji do węzła//nazwa elementu, który nas interesuje. Aby wybrać wszystkie węzły o danej nazwie, bez względu na ich położenie w dokumencie XML, użyj //nazwa elementu. Warunkowe wybieranie węzłów: w XPath można tworzyć wyrażenia logiczne (tzw. predykaty), do testowania warunków, na podstawie których można wybrac tylko pewien podzbiór ze znalezionego zbioru węzłów. Podajemy je w nawiasach kwadratowych, np. /book/authors/author[@id=200] Wybranie tylko wartości tekstowej elementu: funkcja text(), np. /book/authors/author/text()

Język XQuery Język XQuery 1.0 jest wykorzystywany do selekcji zawartości z danych źródłowych XML, przekształcania jej wg określonych reguł, a następnie zwracania w postaci np. pliku XML, HTML lub innej. XQuery stosuje składnię języka XPath 2.0 do wybierania zawartości źródłowej XML i modyfikacji tej zawartości w razie potrzeby.

Wyrażenia FLWOR Wyrażenie FLWOR zawiera następujące klauzule (od początkowych liter klauzul powstała nazwa wyrażenia:) F: for (dokonuje iteracji wiążąc zmienną z elementem) L: let (wiąże zmienną z sekwencją) W: where (eliminuje elementy do iteracji) O: order by (porządkuje elementy do iteracji) R: return (buduje wynik zapytania) xquery for $cust in db2-fn:xmlcolumn("customer.info")/customerinfo let $tel :=$cust/phone where $tel/@type= work order by $cust return ($cust/name/text(), $tel);

XML w relacyjnych bazach danych Model XML jest modelem hierarchicznym, natomiast dane relacyjne mają płaską strukturę. Dane XML opisują swoje znaczenie, a dane relacyjne nie. Dane XML mają określoną kolejność, a dane relacyjne nie. Konwersja z formatu XML na relacyjny jest kłopotliwa, w drugą stronę nieco łatwiejsza.

XML w relacyjnych bazach danych Dane XML można przechowywać w relacyjnej bazie danych na kilka sposobów: całe dokumenty XML, jako duże obiekty (CLOB / BLOB) - duża elastyczność w przechowywaniu dokumentów XML o różnej strukturze, kosztem wydajności zapytań. Szybkie wstawianie oraz pobieranie całych dokumentów Swoboda definiowania struktury dokumentu (schematu) Koniecznosc parsowania dokumentu w momencie realizowania zapytan przy odwołaniu do elementów nie poindeksowanych (niska wydajność zapytań) rozbite na kilka tabel bazy (Mimo stosunkowo dobrej wydajnosci wyszukiwania, tracimy to co motywuje do korzystania z formatu XML elastyczność.) Stosunkowo szybkie wyszukiwanie, nawet mimo konwersji XQuery na SQL Konieczność definiowania struktury (schematu) dokumentu przed wstawieniem - problem ze zmianą schematu

XML w DB2 Dokument jest wstawiany do pola o typie XML, w tle wezły dokumentu są dekomponowane do hierarchicznej postaci (do drzewa węzłów). Duża elastyczność, brak wymogu wcześniejszego definiowania schematu Szybkie wyszukiwanie, bez koniecznosci dynamicznego parsowania Spowolnione przy wstawianiu dokumentu. Hybrydowa architektura serwera DB2 pozwala zachować elastyczność formatu XML przy zachowaniu odpowiedniej wydajności.

XML w DB2 Dostęp do danych XML: języki SQL/XML oraz XQuery. Obsługa XML wbudowana w DB2: Wysoka wydajność dzięki głębokiej integracji XML w silnik DB2. Zoptymalizowane przechowywanie XML: Nowy sposób składowania oraz indeksowania dokumentów XML silnik hierarchiczny.

Zapytania na danych XML Istnieją dwa rodzaje zapytań XML w DB2: przy użyciu SQL z rozszerzniami XML (SQL/XML) (SQL jako język podstawowy, umożliwia złączenie danych XML z relacyjnymi); przy użyciu XQuery (XQuery jako język podstawowy).

Odpytywanie danych XML za pomoca XQuery XQuery jest użyty jako język podstawowy, można używać SQL osadzonego wewnątrz XQuery (za pomocą funkcji "db2-fn: sqlquery"). Przykład: xquery db2-fn:xmlcolumn("clients.contact") Wyrażenia XQuery zawsze poprzedzamy prefiksem xquery, aby DB2 wiedział, że należy użyć parsera XQuery. Funkcja db2-fn:xmlcolumn: zwraca dokumenty XML z kolumny podanej w parametrze. Odpowiada to wyrażeniu SQL: SELECT contact FROM clients Przykład - użycie wyrażenia FLWOR xquery for $y in db2-fn:xmlcolumn( CLIENTS.CONTACT )/Client/fax return $y

Odpytywanie danych XML za pomoca XQuery Funkcja db2-fn:sqlquery wykonuje zapytanie SQL i zwraca tylko wybrane dane XML. Zapytania SQL przekazane do db2-fn: sqlquery muszą zwracać tylko dane XML. Te dane XML mogą być następnie przetwarzane przez XQuery. xquery for $y in db2-fn:sqlquery( select comments from items where srp > 100 )/Comments/Comment where $y/responserequested= Yes return ( <action> {$y/productid, $y/customerid, $y/message} </action> )