Post on 16-Jan-2016
description
Generyczne Repozytorium Dokumentów w XML
Rafał GóreckiRafał HryniówTomasz Pieciukiewicz
Dlaczego taki temat
Brak ogólnie dostępnych repozytoriów dokumentów
Technologia XML gwarantuje niezależność od baz danych
Dedykowany język zapytań upraszczający wyszukiwanie
Założenia projektu
Język zapytań operujący na pojedynczym pliku XML
Wykorzystanie DTD do utrzymywania jednolitości XML
Udostępnianie zasobów poprzez WWW Wprowadzenie danych poprzez
wyspecjalizowany interfejs.
XML jako prosta baza danych
<Pracownicy> <Pracownik> <Imie>Jan</Imie> <Nazwisko>Ciemny</Nazwisko> <Zarobki>3500</Zarobki> </Pracownik> <Pracownik> <Imie>Jaś</Imie> <Nazwisko>Fasola</Nazwisko> <Funkcja>Projektant</Funkcja> </Pracownik> <Pracownik> <Imie>Kuba</Imie> <Nazwisko>Kowalski</Nazwisko> <Zarobki>2000</Zarobki> <Funkcja>Programista</Funkcja> </Pracownik> </Pracownicy>
Pracownik
Imie
Nazwisko Funkcja
Zarobki
Założenia języka zapytań (1)
Dopuszczalne pytania:– o wartość tekstową elementu (text node)– o wartość atrybutu– o zawieranie się elementów (czy X zawiera Y)– o posiadanie atrybutu przez element
Elementy zwracane– tablice wartości atrybutów– tablice wartości elementu tekstowego (text node)– tablice boolowskie– tablice elementów + struktura elementu (np.. Jako XML)
Założenie języka zapytań (2)
Pozostałe elementy:– obsługa LIKE – obsługa złączeń– funkcje agregowalne (min, max)– distinct– wyrażenia ścieżkowe– wyrażenia logiczne + kwantyfikatory
Ograniczenia języka zapytań
Działanie tylko na jednym pliku XML na raz. Brak instrukcji imperatywnych (Insert,
Update, Delete), a także funkcji, metod, klas Brak optymalizacji lub pewna optymalizacja
dla złączeń
Założenia implementacyjne
Język programowania – Java Interpreter oparty na podejściu stosowym Brak kompilacji do byte-code Wykorzystywany parser typu LR(n)
Interpreter oparty o podejście stosowe
Traktowanie XML jako prostej bazy danych pozwala stosunkowo łatwo wykorzystać podejście stosowe do przetwarzania XML.
Łatwa implementacja interpretera opartego o podejście stosowe