XML w bazach danych, standardy wiaż ace dokumenty XML

Podobne dokumenty
XML w bazach danych, standardy wiążące dokumenty XML

Inne standardy zwiazane z XML

Inne standardy zwiazane z XML

XML w bazach danych i bezpieczeństwie

XML w bazach danych i bezpieczeństwie

XML a relacyjne bazy danych. XML w bazach danych. Klasyfikacja wsparcia dla XML-a w bazach danych. XML a relacyjne bazy danych.

XML a relacyjne bazy danych. XML w bazach danych. Klasyfikacja wsparcia dla XML-a w bazach danych. XML a relacyjne bazy danych.

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath 2.0 funkcyjny język programowania

XML a relacyjne bazy danych. XML w bazach danych. Klasyfikacja wsparcia dla XML-a w bazach danych. XML a relacyjne bazy danych.

XML we własnych aplikacjach

Model semistrukturalny

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath2.0 funkcyjny język programowania

SGML a XML różnice. XML a SGML. Standardy pokrewne. Minimalizacja w SGML-u. Elementy w SGML-u. Atrybuty w SGML-u

XML we własnych aplikacjach

Programowanie obiektowe

Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em. Rodzaje przetwarzania XSLT (2) Zmienne. Zaawansowane możliwości XSLT

Spis treści. Przedmowa

XML standardy pokrewne

Relacyjne bazy danych a XML

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

XML in own applications

XML we własnych aplikacjach

Bazy danych dokumentów XML wykład 1 wprowadzenie

XML i nowoczesne technologie zarządzania treścią

XML w bazie danych IBM DB2

1 XML w bazach danych

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro

Wykład I. Wprowadzenie do baz danych

Zdalna edycja i przeglądanie dokumentacji medycznej.

XML i nowoczesne metody zarządzania treścią

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Bazy danych - wykład wstępny

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

XML-owe bazy danych ćwiczenia 1

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

Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Porównanie systemów zarządzania relacyjnymi bazami danych

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Pojęcie systemu baz danych

Database Connectivity

XML W BAZACH DANYCH 1. WSTĘP

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

INFORMATYKA Pytania ogólne na egzamin dyplomowy

1 Wprowadzenie do J2EE

Wybrane działy Informatyki Stosowanej

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

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

dlibra 3.0 Marcin Heliński

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

Rozwiązania bazodanowe EnterpriseDB

Oracle11g: Wprowadzenie do SQL

Technologia informacyjna

Programowanie internetowe

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

XML Schema. Alternatywne metody definiowania struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

Bazy danych Wykład zerowy. P. F. Góra

Administracja i programowanie pod Microsoft SQL Server 2000

XML Schema. Forma nazwy lokalnych elementów i atrybutów

Nowoczesne zastosowania XML

ETL darmowe narzędzia

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

Przykładowy dokument XML

GML w praktyce geodezyjnej

EDI, XML i ochrona danych Przemysław Kazienko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

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

Programowanie MorphX Ax

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Kazienko P.: Rodzina języków XML. Software nr 6 (90) czerwiec 2002, s Rodzina języków XML. Przemysław Kazienko

WPROWADZENIE DO BAZ DANYCH

Rola testowania w projektowaniu XML-owych baz danych

PHP: bazy danych, SQL, AJAX i JSON

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


Modelowanie hierarchicznych struktur w relacyjnych bazach danych

SZKOLENIE: Administrator baz danych. Cel szkolenia

Aplikacje Internetowe, Servlety, JSP i JDBC

RELACYJNE BAZY DANYCH

Język SQL, zajęcia nr 1

Baza danych. Modele danych

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

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

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

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Projektowani Systemów Inf.

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Wprowadzenie do systemów baz danych. Wykład 1

Dostęp do baz danych z serwisu www - PHP. Wydział Fizyki i Informatyki Stosowanej Joanna Paszkowska, 4 rok FK

Transkrypt:

XML w bazach danych, standardy wiaż ace dokumenty XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 1 / 1

XML w Javie uzupełnienie Walidacja Walidacja względem DTD podczas parsowania SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setvalidating(true); XMLReader reader = factory.newsaxparser().getxmlreader(); reader.setcontenthandler(mojconenthandler); reader.seterrorhandler(mojerrorhandler); reader.parse(args[0]); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 4 / 1

XML w Javie uzupełnienie Walidacja Walidacja względem XML Schema SchemaFactory schemafactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schemat = schemafactory.newschema(new StreamSource(args[1])); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setvalidating(false); factory.setschema(schemat); factory.setnamespaceaware(true); XMLReader reader = factory.newsaxparser().getxmlreader(); reader.setcontenthandler(mojconenthandler); reader.seterrorhandler(mojerrorhandler); reader.parse(args[0]); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 5 / 1

XML w Javie uzupełnienie Walidacja Walidacja i zapis drzewa DOM SchemaFactory schemafactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schemat = schemafactory.newschema(new StreamSource(args[1])); Validator validator = schemat.newvalidator(); validator.validate(new DOMSource(doc)); DOMImplementationLS lsimpl = (DOMImplementationLS)domImpl.getFeature("LS", "3.0"); LSSerializer ser = lsimpl.createlsserializer(); LSOutput out = lsimpl.createlsoutput(); out.setbytestream(new FileOutputStream(args[0])); ser.write(doc, out); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 6 / 1

XML w Javie uzupełnienie Walidacja Walidacja i zapis drzewa DOM SchemaFactory schemafactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schemat = schemafactory.newschema(new StreamSource(args[1])); Validator validator = schemat.newvalidator(); validator.validate(new DOMSource(doc)); DOMImplementationLS lsimpl = (DOMImplementationLS)domImpl.getFeature("LS", "3.0"); LSSerializer ser = lsimpl.createlsserializer(); LSOutput out = lsimpl.createlsoutput(); out.setbytestream(new FileOutputStream(args[0])); ser.write(doc, out); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 6 / 1

Transformacje XSLT XML w Javie uzupełnienie Transformacje TransformerFactory trans_fact = TransformerFactory.newInstance(); transformer = trans_fact.newtransformer(new StreamSource(args[2])); Source src = new StreamSource(args[0]); Result res = new StreamResult(args[1]); transformer.transform(src, res); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 7 / 1

XML w Javie uzupełnienie Transformacje Transformacje Zastosowanie do zapisu zdarzeń SAX po przefiltrowaniu SAXParserFactory parser_fact = SAXParserFactory.newInstance(); XMLReader reader = parser_fact.newsaxparser().getxmlreader(); TransformerFactory trans_fact = TransformerFactory.newInstance(); Transformer transformer = trans_fact.newtransformer(); XMLFilter filtr = new FiltrGrupyWażne(); filtr.setparent(reader); InputSource doc = new InputSource(args[0]); Source src = new SAXSource(filtr, doc); Result res = new StreamResult(args[1]); transformer.transform(src, res); Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 8 / 1

XML w bazach danych Klasyfikacja wsparcia dla XML-a w bazach danych Baza danych ze wsparciem dla XML (zwykle relacyjna, czasem obiektowa badź inna) konfiguracja struktur danych jako tabel i powiazań, eksport i import danych w postaci dokumentów XML, struktura dokumentów XML pochodna relacyjnych struktur danych, zastosowanie: integracja, wymiana danych; XML-owa baza danych: konfiguracja struktur danych przy pomocy DTD/XML Schema, wyszukiwanie z użyciem XQuery lub XPath, indeksowanie elementów, atrybutów, wyrażeń XPath, struktura danych dokumenty XML, możliwa optymalizacja wewnętrznego formatu danych, zastosowanie: przechowywanie i przetwarzanie dokumentów strukturalnych. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 10 / 1

XML w bazach danych Klasyfikacja wsparcia dla XML-a w bazach danych Baza danych ze wsparciem dla XML (zwykle relacyjna, czasem obiektowa badź inna) konfiguracja struktur danych jako tabel i powiazań, eksport i import danych w postaci dokumentów XML, struktura dokumentów XML pochodna relacyjnych struktur danych, zastosowanie: integracja, wymiana danych; XML-owa baza danych: konfiguracja struktur danych przy pomocy DTD/XML Schema, wyszukiwanie z użyciem XQuery lub XPath, indeksowanie elementów, atrybutów, wyrażeń XPath, struktura danych dokumenty XML, możliwa optymalizacja wewnętrznego formatu danych, zastosowanie: przechowywanie i przetwarzanie dokumentów strukturalnych. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 10 / 1

XML w bazach danych XML w relacyjnych bazy danych XML w relacyjnych bazach danych Korzyści: integracja aplikacji, wymiana danych, łatwe transformacje danych, prezentacja danych. Problemy: czy i jak przechowywać dokumenty XML w bazie danych? metody dostępu (zadawania zapytań), efektywność. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 11 / 1

XML w bazach danych XML a relacyjne bazy danych XML w relacyjnych bazach danych Przechowywanie XML-a w relacyjnych bazach danych: elementy dokumentu XML jako pola tabeli bazodanowej (dokument rozłożony na czynniki pierwsze ), dokument XML w całości przechowywany w polu bazy danych. Sposoby wspierania XML-a przez systemy zarzadzania bazami danych: generowanie XML-a na podstawie zawartości bazy danych, wypełnianie zawartości bazy na podstawie zawartości dokumentu XML, specjalne indeksowanie pól zawierajacych XML, zapytania XPath/XQuery na danych typu XML, wbudowane parsery XML i procesory XSLT. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 12 / 1

XML w bazach danych XML a relacyjne bazy danych XML w relacyjnych bazach danych Przechowywanie XML-a w relacyjnych bazach danych: elementy dokumentu XML jako pola tabeli bazodanowej (dokument rozłożony na czynniki pierwsze ), dokument XML w całości przechowywany w polu bazy danych. Sposoby wspierania XML-a przez systemy zarzadzania bazami danych: generowanie XML-a na podstawie zawartości bazy danych, wypełnianie zawartości bazy na podstawie zawartości dokumentu XML, specjalne indeksowanie pól zawierajacych XML, zapytania XPath/XQuery na danych typu XML, wbudowane parsery XML i procesory XSLT. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 12 / 1

XML w bazach danych Przykład XML w Oracle XML w relacyjnych bazach danych Wsparcie dla XML w Oracle 10g (http://www.oracle.com/xml). Parsery XML dostarczane przez Oracle: pozwalaja na wykorzystanie XML-a we własnych aplikacjach korzystajacych z bazy, dostępne dla PL-SQL-a, Javy i C++. XML-SQL Utility: generowanie XML-a bezpośrednio z bazy przy pomocy specjalnych zapytań, wypełnianie bazy na podstawie zawartości dokumentu XML. Typ danych XMLType. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 13 / 1

XML w bazach danych XML w Oracle XML-SQL Utility XML w relacyjnych bazach danych Eksport XML funkcja getxml() SELECT xmlgen.getxml( select * from emp ) FROM dual; <rowset> <row id= 1 > <empno>10</empno> <name>scott Tiger</name> <title>specialist</title> </row>... </rowset> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 14 / 1

XML w bazach danych XML w relacyjnych bazach danych XML w Oracle XMLType XMLType specjalny typ danych: kolumny, tabele, perspektywy, zmienne,... indeksowanie zawartości XML, zapytania XQuery, kontrola poprawności strukturalnej względem XML Schema, przekształcenia XSLT. Specjalne operatory: extract, extractvalue, exisitsnode, transform, updatexml, XMLSequence. XPath Rewrite przekształcanie ścieżek XPath w równoważne konstrukcje SQL na wewnętrznej reprezentacji strukturalnej XMLType. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 15 / 1

XML w bazach danych XML w relacyjnych bazach danych Bazy danych ze wsparciem dla XML Istotne wsparcie DB2, IBM (wersja 9 purexml) Oracle (od 8i) Microsoft SQL Server (od wersji 2000) Sybase ASE 12.5 Minimalne wsparcie MySQL (zapytania XPath nad węzłami tekstowo zawierajacymi XML) PostgreSQL (walidacja i ścieżki XPath, interfejs ma być zmieniony) Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 16 / 1

XML w bazach danych XML w relacyjnych bazach danych Bazy danych ze wsparciem dla XML Istotne wsparcie DB2, IBM (wersja 9 purexml) Oracle (od 8i) Microsoft SQL Server (od wersji 2000) Sybase ASE 12.5 Minimalne wsparcie MySQL (zapytania XPath nad węzłami tekstowo zawierajacymi XML) PostgreSQL (walidacja i ścieżki XPath, interfejs ma być zmieniony) Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 16 / 1

XML w bazach danych XML-owa baza danych XML-owe bazy danych Warstwa logiczna: dokument XML jako podstawowa jednostka przechowywanych danych, schemat jako definicja struktury, kolekcje dokumentów. Warstwa fizyczna: niekoniecznie tekstowo zapisane dokumenty XML, indeksy. Funkcjonalności typowe dla baz danych: interfejs do aktualizacji danych, transakcje i współbieżny dostęp, bezpieczeństwo. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 17 / 1

XML w bazach danych XML-owa baza danych XML-owe bazy danych Warstwa logiczna: dokument XML jako podstawowa jednostka przechowywanych danych, schemat jako definicja struktury, kolekcje dokumentów. Warstwa fizyczna: niekoniecznie tekstowo zapisane dokumenty XML, indeksy. Funkcjonalności typowe dla baz danych: interfejs do aktualizacji danych, transakcje i współbieżny dostęp, bezpieczeństwo. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 17 / 1

XML w bazach danych XML-owa baza danych XML-owe bazy danych Warstwa logiczna: dokument XML jako podstawowa jednostka przechowywanych danych, schemat jako definicja struktury, kolekcje dokumentów. Warstwa fizyczna: niekoniecznie tekstowo zapisane dokumenty XML, indeksy. Funkcjonalności typowe dla baz danych: interfejs do aktualizacji danych, transakcje i współbieżny dostęp, bezpieczeństwo. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 17 / 1

XML w bazach danych Tamino XML-owa baza danych XML-owe bazy danych Pierwszy serwer bazodanowy przechowujacy dane w XML-u. Komunikacja: za pośrednictwem protokołu HTTP, bezpośrednio przez URL, moduł X-Node, zapewniajacy integrację z innymi źródłami danych: ODBC, OLE DB, system plików. Platforma dla: aplikacji internetowych typu B2C, elektronicznej wymiany dokumentów: wsparcie dla XML Signature; systemów zarzadzania treścia: wersjonowanie, scalanie, indeksowanie dokumentów nie-xml. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 18 / 1

XML w bazach danych Tamino XML-owa baza danych XML-owe bazy danych Pierwszy serwer bazodanowy przechowujacy dane w XML-u. Komunikacja: za pośrednictwem protokołu HTTP, bezpośrednio przez URL, moduł X-Node, zapewniajacy integrację z innymi źródłami danych: ODBC, OLE DB, system plików. Platforma dla: aplikacji internetowych typu B2C, elektronicznej wymiany dokumentów: wsparcie dla XML Signature; systemów zarzadzania treścia: wersjonowanie, scalanie, indeksowanie dokumentów nie-xml. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 18 / 1

XML:DB XML w bazach danych XML-owe bazy danych Inicjatywa specyfikacji XML-owych baz danych. XML Database API (XAPI) kolekcje zasobów, zasób odpowiada dokumentowi XML, odczyt i zapis (całego) zasobu poprzez interfejsy DOM i SAX usługi: zapytania XPath, transakcje, zarzadzanie kolekcjami, ostatnia wersja: wrzesień 2001. XML Update Language (XUpdate) język zastosowanie XML, wstawianie, usuwanie i aktualizacja rekordów danych, adresowanie ścieżkami XPath, ostatnia wersja: wrzesień 2000. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 19 / 1

XML:DB XML w bazach danych XML-owe bazy danych Inicjatywa specyfikacji XML-owych baz danych. XML Database API (XAPI) kolekcje zasobów, zasób odpowiada dokumentowi XML, odczyt i zapis (całego) zasobu poprzez interfejsy DOM i SAX usługi: zapytania XPath, transakcje, zarzadzanie kolekcjami, ostatnia wersja: wrzesień 2001. XML Update Language (XUpdate) język zastosowanie XML, wstawianie, usuwanie i aktualizacja rekordów danych, adresowanie ścieżkami XPath, ostatnia wersja: wrzesień 2000. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 19 / 1

XUpdate przykład XML w bazach danych XML-owe bazy danych Przykład z dokumentacji standardu <?xml version="1.0"?> <xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate"> <xupdate:insert-after select="/addresses/address[1]" > <xupdate:element name="address"> <xupdate:attribute name="id">2</xupdate:attribute> <fullname>lars Martin</fullname> <born day= 2 month= 12 year= 1974 /> <town>leizig</town> <country>germany</country> </xupdate:element> </xupdate:insert-after> </xupdate:modifications> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 20 / 1

XML w bazach danych XML-owe bazy danych XML-owe bazy danych przeglad produkt licencja zapytania XML:DB API Apache XIndice open source XPath tak BaseX open source XPath, XQuery tak exist open source XPath, XQuery częściowo Sedna open source XPath, XQuery tak Tamino płatny XQuery, XPath częściowo Gemfire Enterprise płatny XQuery, OQL tak DOMSafeXML (?) płatny XQuery, XPath tak? żródło: Wikipedia i strony WWW produktów Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 21 / 1

Powiazania dokumentów XPointer XPointer Adresowanie dokumentów XML i ich fragmentów, zgodnie ze składnia URI: http://www.sejm.gov.pl/ustawa.xml#def-podatnik Rekomendacje W3C z 25 marca 2003: XPointer Framework (zawiera schemat xpointer()), XPointer element() scheme, XPointer xmlns() scheme. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 23 / 1

Powiazania dokumentów XPointer Schematy xpointer i xmlns xpointer Ścieżki XPath http://www.sejm.gov.pl/ustawa.xml#xpointer(/art[5]/par[2]) xmlns Obsługa przestrzeni nazw Do wykorzystania w dalszej części ścieżki ustawa.xml#xmlns(pr=http://xxx/prawo)xpointer(/art[5]/par[2]) Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 24 / 1

Powiazania dokumentów XPointer Schematy xpointer i xmlns xpointer Ścieżki XPath http://www.sejm.gov.pl/ustawa.xml#xpointer(/art[5]/par[2]) xmlns Obsługa przestrzeni nazw Do wykorzystania w dalszej części ścieżki ustawa.xml#xmlns(pr=http://xxx/prawo)xpointer(/art[5]/par[2]) Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 24 / 1

Powiazania dokumentów XPointer XPointer element() scheme Adresowanie elementów po wartościach atrybutu typu ID: jakiś.xml#element(def-podatnik) Adresowanie ze względu na pozycję: jakiś.xml#element(/1/4/3) jakiś.xml#element(def-podatnik/2/3) Składnia skrócona: jakiś.xml#def-podatnik jakiś.xml#/1/2/3 jakiś.xml#def-podatnik/2/3 Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 25 / 1

Powiazania dokumentów XPointer XPointer element() scheme Adresowanie elementów po wartościach atrybutu typu ID: jakiś.xml#element(def-podatnik) Adresowanie ze względu na pozycję: jakiś.xml#element(/1/4/3) jakiś.xml#element(def-podatnik/2/3) Składnia skrócona: jakiś.xml#def-podatnik jakiś.xml#/1/2/3 jakiś.xml#def-podatnik/2/3 Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 25 / 1

Powiazania dokumentów XPointer XPointer element() scheme Adresowanie elementów po wartościach atrybutu typu ID: jakiś.xml#element(def-podatnik) Adresowanie ze względu na pozycję: jakiś.xml#element(/1/4/3) jakiś.xml#element(def-podatnik/2/3) Składnia skrócona: jakiś.xml#def-podatnik jakiś.xml#/1/2/3 jakiś.xml#def-podatnik/2/3 Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 25 / 1

Powiazania dokumentów XInclude XInclude właczanie zawartości dokumentów Załaczanie zawartości jednego dokumentu XML do innego. Znaczniki w warstwie logicznej (elementy XML), nie fizycznej (jak referencje do encji). Możliwości: załaczanie całych dokumentów (nazwa pliku lub URL), załaczanie fragmentów (wskazanych przez XPointer), określanie zawartości używanej w razie błędu. Przezroczysta dla czytelnika interpretacja XInclude przez parser (m.in. jako opcja w JAXP 1.4). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 26 / 1

Powiazania dokumentów XInclude XInclude właczanie zawartości dokumentów Załaczanie zawartości jednego dokumentu XML do innego. Znaczniki w warstwie logicznej (elementy XML), nie fizycznej (jak referencje do encji). Możliwości: załaczanie całych dokumentów (nazwa pliku lub URL), załaczanie fragmentów (wskazanych przez XPointer), określanie zawartości używanej w razie błędu. Przezroczysta dla czytelnika interpretacja XInclude przez parser (m.in. jako opcja w JAXP 1.4). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 26 / 1

Powiazania dokumentów XInclude XInclude właczanie zawartości dokumentów Załaczanie zawartości jednego dokumentu XML do innego. Znaczniki w warstwie logicznej (elementy XML), nie fizycznej (jak referencje do encji). Możliwości: załaczanie całych dokumentów (nazwa pliku lub URL), załaczanie fragmentów (wskazanych przez XPointer), określanie zawartości używanej w razie błędu. Przezroczysta dla czytelnika interpretacja XInclude przez parser (m.in. jako opcja w JAXP 1.4). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 26 / 1

XInclude przykład Powiazania dokumentów XInclude Przykład: źródło <wynik> <xi:include xmlns:xi="http://www.w3.org/2001/xinclude" href="salatka.xml#xpointer(/przepis/tytul)"> <xi:fallback><błąd>brak przepisu</błąd></xi:fallback> </xi:include> </wynik> Przykład: po przetworzeniu <wynik> <tytul>sałatka z ogórków</tytul> </wynik> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 27 / 1

XInclude przykład Powiazania dokumentów XInclude Przykład: źródło <wynik> <xi:include xmlns:xi="http://www.w3.org/2001/xinclude" href="salatka.xml#xpointer(/przepis/tytul)"> <xi:fallback><błąd>brak przepisu</błąd></xi:fallback> </xi:include> </wynik> Przykład: po przetworzeniu <wynik> <tytul>sałatka z ogórków</tytul> </wynik> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 27 / 1

Powiazania dokumentów XLink dowiazania w XML-u XLink Odnośniki znane z HTML: łacz a dwa dokumenty: źródło i cel linku, źródłem linku jest zawsze element opisujacy link (A, IMG). XLink rozszerzona koncepcja dowiazań: dowolne elementy przechowuja informacje o linkach, nieistotna nazwa elementu, istotne atrybuty z przestrzeni nazw XLink, więcej niż dwa końce linku, możliwość opisania powiazania poza wiazanymi dokumentami. Status: korzenie historyczne: HyTime, XLink 1.0 rekomendacja W3C, czerwiec 2001, XLink 1.1 wersja robocza (aktualizacja w 2008). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 28 / 1

Powiazania dokumentów XLink dowiazania w XML-u XLink Odnośniki znane z HTML: łacz a dwa dokumenty: źródło i cel linku, źródłem linku jest zawsze element opisujacy link (A, IMG). XLink rozszerzona koncepcja dowiazań: dowolne elementy przechowuja informacje o linkach, nieistotna nazwa elementu, istotne atrybuty z przestrzeni nazw XLink, więcej niż dwa końce linku, możliwość opisania powiazania poza wiazanymi dokumentami. Status: korzenie historyczne: HyTime, XLink 1.0 rekomendacja W3C, czerwiec 2001, XLink 1.1 wersja robocza (aktualizacja w 2008). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 28 / 1

Powiazania dokumentów XLink dowiazania w XML-u XLink Odnośniki znane z HTML: łacz a dwa dokumenty: źródło i cel linku, źródłem linku jest zawsze element opisujacy link (A, IMG). XLink rozszerzona koncepcja dowiazań: dowolne elementy przechowuja informacje o linkach, nieistotna nazwa elementu, istotne atrybuty z przestrzeni nazw XLink, więcej niż dwa końce linku, możliwość opisania powiazania poza wiazanymi dokumentami. Status: korzenie historyczne: HyTime, XLink 1.0 rekomendacja W3C, czerwiec 2001, XLink 1.1 wersja robocza (aktualizacja w 2008). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 28 / 1

Terminologia Powiazania dokumentów XLink Zasób (resource) dowolna adresowalna jednostka informacji lub usługa. Dowiazanie (link) jawnie wyrażona (przy pomocy elementu wiaż acego (linking element)) relacja pomiędzy zasobami. te zasoby uczestnicza (participate) w dowiazaniu. Przejście (traversal) użycie pary zasobów połaczonej dowiazaniem. Łuk (arc) informacja o przejściu między dwoma zasobami (kierunek, zachowanie aplikacji, itp.): wychodzacy (outbound), wchodzacy (inbound), niezależny (third party). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 29 / 1

Dowiazania XLink Powiazania dokumentów XLink Extended link wiaże dowolna liczbę zasobów: zasoby zewnętrzne (np. odwołania do innych dokumentów), zasoby lokalne (zawarte w elemencie wiaż acym). łuki opisujace sposoby przechodzenia pomiędzy zasobami, role zasobów uczestniczacych w linku, role łuków. Simple link link wychodzacy, wiaże dokładnie 2 zasoby: 1 lokalny i 1 zewnętrzny, jeden łuk z zasobu lokalnego do zewnętrznego. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 30 / 1

Dowiazania XLink Powiazania dokumentów XLink Extended link wiaże dowolna liczbę zasobów: zasoby zewnętrzne (np. odwołania do innych dokumentów), zasoby lokalne (zawarte w elemencie wiaż acym). łuki opisujace sposoby przechodzenia pomiędzy zasobami, role zasobów uczestniczacych w linku, role łuków. Simple link link wychodzacy, wiaże dokładnie 2 zasoby: 1 lokalny i 1 zewnętrzny, jeden łuk z zasobu lokalnego do zewnętrznego. Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 30 / 1

Powiazania dokumentów Simple link przykład XLink <osoba xmlns:xlink="http://www.w3.org/1999/xlink"> <nazwisko>kopernik, Mikołaj</nazwisko> <biogram>wybitny polski astronom, matematyk, lekarz, prawnik, tłumacz poezji włoskiej i ekonomista, pochodził z rodziny wywodzącej się z mieszczan krakowskich. Urodzony w <geogr xlink:type="simple" xlink:href="torun.xml">toruniu</geogr>.</biogram> </osoba> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 31 / 1

Powiazania dokumentów Simple link przykład wykorzystujacy XPointer XLink <osoba xmlns:xlink="http://www.w3.org/1999/xlink"> <nazwisko>kopernik, Mikołaj</nazwisko> <biogram>wybitny polski astronom, matematyk, lekarz, prawnik, tłumacz poezji włoskiej i ekonomista, pochodził z rodziny wywodzącej się z mieszczan krakowskich. Urodzony w <geogr xlink:type="simple" xlink:href="encyklopedia.xml#toruń">toruniu</geogr>.</biogram> </osoba> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 32 / 1

Powiazania dokumentów Extended link przykład XLink <fikcja xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended"> <wypowiedz xlink:type="resource">kopernik była kobietą!</wypowiedz> <film <osoba xlink:type="locator" xlink:href="seksmisja.xml" xlink:title="seksmisja"/> xlink:type="locator" xlink:href="kopernik.xml" xlink:title="kopernik, Mikołaj"/> <pojecie xlink:type="locator" xlink:href="kobieta.xml" xlink:title="kobieta"/> </fikcja> Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 33 / 1

Powiazania dokumentów XLink Atrybuty w linkach rozszerzonych type rola elementu w linku href adres zasobu zewnętrznego role abstrakcyjny identyfikator roli zasobu w powiazaniu (URI) arcrole j.w. ale dla pojedynczego łuku między zasobami title etykieta tekstowa zasobu, łuku itd. show jak prezentować actuate kiedy aktywować label etykieta zasobu używana w definicjach łuków from, to etykieta zasobu używana w definicjach łuków Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 34 / 1

Powiazania dokumentów XLink Wartości wybranych atrybutów xlink:type simple, extended, none, resource, locator, arc, title xlink:show embed, new, replace, other, none xlink:actuate onload, onrequest, other, none Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 35 / 1

Powiazania dokumentów Dopuszczalność atrybutów w zależności od typu XLink simple extended locator arc resource title type R R R R R R href O R role O O O O arcrole O O title O O O O O show O O actuate O O label O O from O to O Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 36 / 1

Przyszłość XLink Powiazania dokumentów XLink Zastosowania: organizowanie, kojarzenie zasobów, nawet gdy nie mamy prawa zapisu, dostarczanie wartości dodanej zbiorów linków. Zasięg: lokalny serwery linków operujace na bazie linków, Internet? Problemy: wizualizacja extended links, synchronizacja zasobów i linków (Internet). Patryk Czarnik 10 Bazy danych, XLink XML 2008/09 37 / 1