XML stan obecny i trendy rozwojowe



Podobne dokumenty
XML stan obecny i trendy rozwojowe

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Informatyka Systemów Autonomicznych

Model semistrukturalny

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 w bazach danych i bezpieczeństwie

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

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

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

Przykładowy dokument XML

XML w bazach danych i bezpieczeństwie

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

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

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

XML i nowoczesne technologie zarządzania treścią

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

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

Wprowadzenie do technologii XML

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Rodzaje przetwarzania XSLT (1)

Liczba godzin. N (nauczyciel) studia niestacjonarne

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Język XML Query. Czym jest XML Query? Po co XML Query? Tomasz Traczyk. Czym jest XML Query? Wprowadzenie do składni języka.

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

Wybrane działy Informatyki Stosowanej

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

Informatyka kl. 1. Semestr I

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

XML extensible Markup Language 7

Ministerstwo Finansów

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

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

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

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

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

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

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

Zdalna edycja i przeglądanie dokumentacji medycznej.

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Relacyjne bazy danych a XML

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

GML w praktyce geodezyjnej

DTD - encje ogólne i parametryczne, przestrzenie nazw

OfficeObjects e-forms

Język XML w aplikacjach z bazami danych - po roku

Podstawy elektronicznej wymiany danych. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Szczegółowy opis zamówienia:

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

Wymagania edukacyjne: Statyczne witryny internetowe (na podstawie programu nr )

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

mgr inż. Jacek Staniec Język XML

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

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

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

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

OfficeObjects e-forms

EDI, XML i ochrona danych Przemysław Kazienko

Prezentacja dokumentów XML

Spis treści. Przedmowa

Komunikacja i wymiana danych

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

Rola języka XML narzędziem

1 XML w bazach danych

Technologie zarządzania treścią

Efektywne tworzenie aplikacji webowych z wykorzystaniem AngularJS, HTML5 i JavaScript

Programowanie Komponentowe WebAPI

Bazy danych i strony WWW

Programowanie obiektowe

Wprowadzenie do multimedialnych baz danych. Opracował: dr inż. Piotr Suchomski

Extensible Markup Language III

WYMAGANIA PROGRAMOWE INFORMATYKA DLA KLAS IV-VIII. II Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych

Oracle11g: Wprowadzenie do SQL

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Spis wzorców. Działania użytkownika Strona 147 Obsługa większości Działań użytkownika za pomocą kodu JavaScript przy użyciu metod obsługi zdarzeń.

Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym

INTEGRACJA I EKSPLORACJA DANYCH

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

Język XML Query. Tomasz Traczyk. Politechnika Warszawska e mail:

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

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Otwarte protokoły wymiany informacji w systemach ITS

Dlaczego GML? Gdańsk r. Karol Stachura

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

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

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

Proporcje podziału godzin na poszczególne bloki. Tematyka lekcji. Rok I. Liczba godzin. Blok

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

The Binder Consulting

PROGRAM NAUCZANIA DLA I I II KLASY GIMNAZJUM

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Transkrypt:

XML stan obecny i trendy rozwojowe XML stan obecny i trendy rozwojowe Tomasz Traczyk ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Czym dziś jest XML? Stan obecny technologii XML Podsumowanie Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Automatyki i Informatyki Stosowanej 2 Co to jest XML? Extensible Markup Language Metajęzyk umożliwia definiowanie języków znakowania służy do zapisu różnorodnych dokumentów i struktur danych przeznaczony m.in. do użycia w WWW Geneza XML Podzbiór SGML (Standard Generalised Markup Language) Uproszczony przez usunięcie trudnych i niekoniecznych konstrukcji Dostosowany do przetwarzania w WWW Czym jest XML? Sposobem reprezentowania informacji informacji semistrukturalnej danych o dobrze określonej strukturze Reprezentacja ta służyć ma do wymiany informacji niekiedy także do jej składowania Czym nie jest XML? Nowym modelem danych, mogącym wyprzeć np. model relacyjny czy obiektowy odpowiada modelowi hierarchicznemu Konkurencją dla modeli stosowanych współcześnie w bazach danych (choć może uzupełniać ich możliwości) 3 4

Reprezentacja informacji choć tekstowa umożliwia bezstratne odczytanie informacji, dokładną weryfikację poprawności i łatwe dalsze przetwarzanie. XML pozwala zapisać wszelkie informacje, które mogą być wyrażone tekstowo, w sposób całkowicie niezależny od platformy sprzętowej i programowej. 5 6 Za pomocą XML można zapisać nawet bardzo złożone struktury informacji. Struktura informacji jest łatwa do rozszerzania i dostosowywania, z możliwością wykorzystania struktur wcześniej zdefiniowanych. 7 8

Dzięki zastosowaniu arkuszy stylistycznych ten sam dokument może być różnorodnie prezentowany w zależności od potrzeb i możliwości. Osiągnięta dzięki prostej i regularnej składni oraz ustandaryzowanym narzędziom. 9 10 Dokumenty XML są zrozumiałe dla człowieka, każdy dokument niesie bowiem metainformację w postaci znaczników sam się Dostosowanie do specyfiki przetwarzania opisuje. Ułatwia w sieci to posługiwanie Web się dokumentami, uruchamianie oprogramowania itd. Szczegółowe rozwiązania XML są dostosowane do przetwarzania w Sieci. Popularne narzędzia internetowe (przeglądarki, serwery aplikacyjne itd.) wyposażono w rozwiązania (parsery, procesory XSL itp.) ułatwiające użycie XML. 11 12

W XML można używać wielu różnych stron kodowych, a przetwarzanie XML odbywa się wewnętrznie z użyciem UTF-8. Jest to standard otwarty, nie wymagający licencji. Do przetwarzania i prezentacji dokumentów XML można użyć standardowego (często darmowego) oprogramowania. Można zatem tworzyć rozwiązania bazujące na XML nie ponosząc wielkich nakładów. 13 14 Idea języków znakowania jest powszechnie znana, a nawet zaawansowane rozwiązania są stosunkowo łatwe do zrozumienia. Główne wady XML Ograniczenia wynikające z hierarchicznej struktury danych Rozwlekłość zapisu Ograniczona wydajność przetwarzania Niedostatki implementacji standardów XML-owych 15 16

Główne wady XML Ograniczenia wynikające z hierarchicznej struktury danych Rozwlekłość zapisu Ograniczona wydajność przetwarzania Niedostatki implementacji standardów XML-owych W strukturach hierarchicznych w naturalny sposób przedstawić można jedynie jeden typ powiązań pomiędzy dwoma typami obiektów. Jeśli niezbędne jest zapisanie w XML większej różnorodności powiązań, to trzeba stosować identyfikatory elementów i odesłania do nich. Główne wady XML Ograniczenia wynikające z hierarchicznej struktury danych Rozwlekłość zapisu Decyduje o niej znaczny narzut na znaczniki niosące metainformację. Nie jest to na ogół wadą istotną, np. przy Ograniczona wydajność przetwarzania przesyłaniu informacji stosować można kompresję, która jest Niedostatki implementacji zwykle standardów bardzo XML-owych efektywna. 17 18 Główne wady XML Główne wady XML Ograniczenia wynikające z hierarchicznej struktury danych Rozwlekłość zapisu Ograniczenia wynikające z hierarchicznej struktury danych Rozwlekłość zapisu Ograniczona wydajność przetwarzania Wynika zarówno z rozwlekłości plików jak ze stosowania uniwersalnych narzędzi. Niedostatki implementacji standardów XML-owych Dla małych dokumentów ograniczenia wydajności zwykle nie stanowią problemu, dla dokumentów większych stosowanie parserów typu SAX daje na ogół wydajność dostatecznie dobrą. Ograniczona wydajność przetwarzania Niedostatki implementacji standardów XML-owych Zwłaszcza niepełna implementacja standardów w przeglądarkach WWW powoduje, że XML nie może wciąż jeszcze być stosowany jako podstawowy język wymiany informacji w sieci Web. 19 20

Przyczyny popularności XML Typowe zastosowania XML Podłoże popularności XML Szeroka akceptacja dla koncepcji języków znakowania SGML ma długą tradycję HTML jest powszechnie znany Rozwój koncepcji e-business można nawet mówić o rodzaju mody Silnie odczuwana potrzeba środków sformalizowanej wymiany informacji w Sieci HTML nie spełnia tej potrzeby w stosunku do informacji, która ma być dalej przetwarzana automatycznie Dodatkowe przyczyny popularności Podanie starych koncepcji w nowym, atrakcyjnym opakowaniu Pojawienie się w odpowiednim momencie Wsparcie ze strony głównych wytwórców oprogramowania Dobra standaryzacja Tworzenie stron internetowych Zastosowania specjalistyczne (e-biznes) Systemy mobilne: WML Przyszłość: XHTML Opis zasobów Deskryptory zasobów sieciowych, oprogramowania itp. umożliwienie efektywnego wyszukiwania zasobów w Sieci Przykłady RDF (Resource Description Framework) OWL (Web Ontology Language) WSDL (Web Services Description Language) Reprezentacja informacji semistrukturalnej Informacje o strukturze zmiennej, słabo ustalonej, częściowo nieistotnej itp. Typowe zastosowania XML zapis złożonych dokumentów tekstowych zapis informacji semistrukturalnej w bazach danych Multimedia Grafika wektorowa SVG (Scalable Vector Graphics) Sterowanie przetwarzaniem informacji multimedialnej SMIL, Voice-ML Specjalistyczne struktury danych Informacje naukowe, ekonomiczne itp. specjalistyczne dialekty struktury ad-hoc Przykłady: MathML, CML 21 22 Typowe zastosowania XML Elektroniczna wymiana danych (EDI) Wymiana danych (zwykle przez Internet) między systemami informacyjnymi e-biznes B2B integracja systemów heterogenicznych Koncepcja XML/EDI zachowanie dorobku standaryzacyjnego (np. EDIFACT) zawarcie semantyki wcześniej ustandaryzowanych komunikatów w składni XML Komunikacja w sferze publicznej Wymiana informacji między obywatelem a urzędem zastosowanie otwartego standardu XML likwiduje przewagę, którą uzyskują firmy tworzące oprogramowanie dla urzędów przymusowe związanie obywateli z określonym dostawcą oprogramowania jawnie kłóci się z zasadami wolności gospodarczej w XML informacje wymieniać może nawet podmiot nie dysponujący specjalistycznym oprogramowaniem Konfiguracja oprogramowania Pliki konfiguracyjne oprogramowania czytelne łatwe w interpretacji Przykład: EJB, XSQL Protokoły komunikacyjne Protokoły wymiany komunikatów, zdalnego wywoływania procedur itp. czytelne przetwarzane za pomocą standardowych parserów Przykłady: SOAP, XML-RPC, Web-DAV Czym dziś jest XML? Stan obecny technologii XML Podsumowanie 23 24

Standaryzacja XML Ważniejsze elementy rodziny XML Prace W3C Standaryzacją XML zajmuje się World Wide Web Consortium (W3C) Stadia prac nad standardami working draft proposed (candidate) recommendation recommendation Stan standaryzacji Zatwierdzone rekomendacje: XML 1.0, XML Base, XML Namespaces 1.0, XLink 1.0, XML Schema, XPath 1.0, XSLT 1.0, XSL 1.0, DOM Levels 1&2, XML-Signature, XML-Encryption, XHTML 1.1 Prawie zatwierdzone rekomendacje: XML Namespaces 1.1, XForms Prace na wcześniejszym etapie: XPointer, XPath 2.0, XSLT 2.0, DOM Level 3, XHTML 2.0 XML i DTD XML 1.0 obowiązujący standard metajęzyka DTD (Document Type Definition) przestarzały sposób deklarowania składni tworzonych w XML dialektów wciąż jedyny sposób definiowania encji Adresy sieciowe URI (Unified Resource Identifiers) URL (ew. z zapytaniem) lub URN (Unified Resource Name) Standard XML Base atrybut xml:base ustala adres bazowy dla adresowania względnego odpowiednik elementu <base> HTML Przestrzeń nazw (XML Namespace) Motywacja powstaje wiele słowników dziedzinowych autorzy dokumentów powinni móc korzystać z wielu słowników i dodawać własne powstaje ryzyko konfliktów nazw Rozwiązanie nazwy elementów poprzedzane prefiksem przestrzeni nazw przestrzeń nazw definiowana przez podanie URI domeny która zarządza danym słownikiem prefiks definiowany przez podanie specjalnego atrybutu xmlns:prefiks_przestrzeni wartością tego atrybutu jest URI określające przestrzeń nazw W dokumencie można użyć wielu przestrzeni nazw 25 26 Ważniejsze elementy rodziny XML Ważniejsze elementy rodziny XML Schematy XML (XML Schema) Schemat definicja składni dokumentu XML stosowana zamiast (lub obok) DTD zapisana w XML, z użyciem przestrzeni nazw Główne zalety schematów precyzyjne deklarowanie typów danych (z możliwością definiowania własnych typów) wielokrotne użycie definicji możliwość deklarowania kluczy i referencji możliwość deklarowania różnych elementów o takiej samej nazwie kontrolowane rozszerzanie i uszczegóławianie modeli dokumentów możliwość wykorzystania wielu schematów w jednym dokumencie pełne uwzględnienie przestrzeni nazw Wady schematów skomplikowana składnia brak możliwości definiowania encji brak możliwości tworzenia bardziej złożonych ograniczeń wartości Rola schematów zdjęcie z programisty konieczności sprawdzania poprawności składni dokumentu Arkusze stylu i transformacje XSLT XML nie zawiera żadnych informacji o formatowaniu znakowanie znaczeniowe Informacja o formatowaniu musi być zawarta w arkuszach stylistycznych Arkusze stylistyczne dokonują transformacji dokumentu wejściowego na dokument opisujący sposób prezentacji w HTML (+ CSS) w XML Formatting Objects Idea działania XSLT przekształcanie drzewa wejściowego w drzewo reprezentujące dokument wyjściowy szablony rekurencyjne dopasowywanie wzorców wykonywanie treści szablonów na dopasowanych elementach Wyszukiwanie wzorców XPath Przetwarzanie w XSLT bazuje na dopasowywaniu wzorców XPath opisuje takie wzorce rodzaj języka zapytań do struktur hierarchicznych wzorce zapisywane w postaci ścieżek Ścieżka XPath zawiera współrzędne: położenie wyszukiwanego elementu względem bieżącego kontekstu predykaty: dodatkowe warunki test węzła: określenie co ma być wynikiem wyszukania Zastosowanie XPath XSLT XPointer XQuery 27 28

Ważniejsze elementy rodziny XML Przetwarzanie XML Obiekty formatujące XSL-FO Wynik transformacji przez arkusz stylistyczny ma opisywać wygląd (prezentację) dokumentu XSL-FO dialekt XML opisujący sposób prezentacji Cechy XSL-FO złożone stronicowanie środki do składu wydawnictw książkowych (żywa pagina, elementy ruchome, odsyłacze itp.) środki właściwe dla profesjonalnej poligrafii (np. sterowanie separacją barw) środki do prezentacji interaktywnych i głosowych Implementacje brak implementacji w przeglądarkach istnieją implementacje server-side Łączniki (XLink, XPointer) W XML nie ma predefiniowanych elementów oznaczających łączniki XLink element staje się łącznikiem gdy otrzyma atrybuty z przestrzeni nazw XLink możliwości łączników są znacznie większe niż w HTML ograniczone implementacje tylko w niektórych przeglądarkach (np. Mozilla) XPointer umożliwia adresowanie w łączniku punktu lub fragmentu dokumentu bez umieszczania w nim kotwic na podstawie kontekstu bazuje na XPath standard wciąż daleki od ustalenia Standardy przetwarzania XML Standardy standardowe API dla parserów XML gotowe parsery (często darmowe) Znaczenie standaryzacji przetwarzania programista nie musi pisać parsera może zająć się od razu istotą problemu Parsery walidujące programista nie musi rozważać przypadków nieprawidłowej składni dokumentu parser sam sprawdza zgodność składni ze schematem lub DTD Transformacje za pomocą XSLT można przekształcić dokument przed lub po przetwarzaniu do/z postaci dogodnej do przetwarzania procesory XSLT są zintegrowane z parserami XML DOM Dokument XML reprezentowany jako drzewo obiektów Standard określa API do manipulacji na tym drzewie Cechy rozwiązania zasobochłonne, ograniczona wydajność umożliwia manipulacje na dokumencie SAX Dokument reprezentowany jako ciąg zdarzeń Standard określa API umożliwiające obsługę tych zdarzeń Cechy rozwiązania małe zużycie zasobów, duża wydajność nie umożliwia manipulacji na dokumencie JAXP Standardy DOM i SAX określają interfejsy API, ale nie definiują szczegółów implementacji Programy nie są więc przenośne między implementacjami DOM i SAX JAXP ustala przenośny interfejs do DOM, SAX oraz procesorów XSLT z języka Java 29 30 Ważniejsze implementacje Rozwiązania wbudowane w przeglądarki Niezależne narzędzia do XML MSIE Parsery. procesory XSLT, procesory FO itp. parsery DOM i SAX dostępne np. z JScript walidacja (DTD i XML Schema) Produkty komercyjne Czym dziś jest XML? procesor XSLT formatowanie także za pomocą CSS Oracle XDK Microsoft XML Core Services Stan obecny technologii XML wyspy danych XML Mozilla edytor XML Spy (Altova) procesor FO XEP (RenderX) parser DOM (bez walidacji) częściowa implementacja XLink Produkty open-source Apache Podsumowanie procesor XSLT (w Netscape) Xerces rodzina parserów Xalan procesor XSLT FOP procesor FO Source Forge SAX parser Saxon procesor XSLT 31 32

Poprawianie standardów z rodziny XML XML Namespaces 1.1 Możliwość odwołania deklaracji prefiksu Zastosowanie IRI (Internationalized Resource Identifiers) jako identyfikatorów przestrzeni nazw XPath 2.0 Nowe określenie typu wyniku wyszukiwania: sekwencja uporządkowany ciąg węzłów lub wartości atomowych Możliwość powiązania węzłów z typami prostymi XML Schema i przetwarzania odpowiedniego do typu wyrażenia for...return do operowania na elementach sekwencji wyrażenia warunkowe if...then...else kwantyfikatory some...satisfies oraz every...satisfies operacje przecięcia i różnicy teoriomnogościowej XSLT 2.0 Dostosowanie do XPath 2.0 Drzewa tymczasowe przechowywane w zmiennych Możliwość walidacji drzew tymczasowych i drzewa wynikowego za pomocą schematu Możliwość specyfikowania typów zmiennych i parametrów Grupowanie węzłów i iteracyjne przetwarzanie grup for-each-group Możliwość definiowania funkcji, które mogą być użyte w XPath Tworzenie wielu dokumentów wynikowych przez jeden arkusz (instrukcja resultdocument) Przeszukiwanie tekstu w użyciem wyrażeń regularnych (instrukcja analyze-string) do przetwarzania danych w tradycyjnych formatach, np. CSV Nowy format wyjściowy XHTML Poprawione sortowanie możliwość zapamiętania wzorców sortowania ustalenia kolejności znaków XQuery Język zapytań do dokumentów XML Rozszerzenie XPath 2.0 Wynikiem zapytania jest sekwencja Składnia języka nie jest dialektem XML podobna raczej do SQL lub OQL istnieje dialekt XML XQueryX reprezentujący XQuery w XML Zapytanie w XQuery: wyrażenie FLWOR (for-let-where-order by-return) for...in definiuje wyrażenie XPath i zmienną przebiegającą sekwencję wynikową let pozwala dokonać podstawień (wyliczeń) dodatkowych zmiennych where służy do określania warunków order by ustala kolejność wyników return służy do formułowania postaci wyniku (z użyciem zmiennych) Możliwości XQuery łączenie wielu klauzul for i let (także zagnieżdżanie) użycie wyrażeń warunkowych if-then-else budowanie odpowiedników złączeń za pomocą warunków where użycie kwantyfikatorów every-insatisfies oraz some-in-satisfies Stan prac standard jeszcze nie ustabilizowany pojawiają się pierwsze implementacje (np. w Oracle 9i rel. 2) 33 34 XML Signature W EDI i e-biznesie ważna jest wiarygodność dokumentów potrzebna możliwość podpisywania dokumentów Standard XML Signature umożliwia umieszczenie podpisu elektronicznego wewnątrz dokumentu gwarantuje autentyczność dokumentu Element Signature zawiera certyfikat podpisującego wraz z jego kluczem publicznym skrót podpisywanego dokumentu wartość podpisu: skrót zaszyfrowany kluczem prywatnym Możliwości standardu umieszczanie podpisu w osobnym dokumencie podpisy wielokrotne z możliwością modyfikacji dokumentu przed każdym podpisaniem użycie różnych metod szyfrowania i tworzenia skrótów XML Encryption W EDI i e-biznesie ważna bywa także poufność dokumentów szyfrowanie całości zmusza do przesyłania informacji jawnych osobno potrzebna możliwość szyfrowania fragmentów dokumentów Standard XML Encryption określa sposób zapisu zaszyfrowanych fragmentów przy zachowaniu poprawności dokumentu XML Element EncryptedData zawiera zaszyfrowany fragment wartość klucza symetrycznego zaszyfrowaną kluczem publicznym odbiorcy (lub kilku odbiorców) XHTML Nowa wersja standardu HTML reguły składni XML zastosowane do HTML język modularny: można go rozszerzać przez zanurzanie w nim dialektów XML XHTML umożliwi zastosowanie narzędzi XML-owych do przetwarzania stron WWW XForms Moduł XHTML do definiowania formularzy Znacznie większe możliwości od elementu <form> z HTML więcej typów elementów możliwe oddzielenie logiki formularza od określenia sposobu prezentacji Kontrola wprowadzanych danych po stronie przeglądarki typy pól (użycie typów XML Schema) kontrola opcjonalności pól możliwość zadeklarowania obowiązkowych zależności między polami elementy pojawiające się warunkowo wyzwalacze odpowiadające na zdarzenia 35 36

Nowe modele przetwarzania XML Przetwarzanie strumieniowe Przetwarzanie w modelu SAX odbywa się na zasadzie push parsing parser napędza przetwarzanie Przetwarzanie strumieniowe: na zasadzie pull parsing Zalety program steruje przetwarzaniem możliwość przerwania analizy przed końcem dokumentu łatwiejsze pisanie programów bardziej intuicyjny styl programowania Implementacje mniej problemów z pamiętaniem stanu między obsługą kolejnych zdarzeń Microsoft.NET BEA XML binding DOM dostarcza ogólnego abstrakcyjnego modelu dokumentu Przetwarzanie za pomocą API DOM nie jest w pełni zgodne z postulatami programowania obiektowego obiekty reprezentują abstrakcje struktury hierarchicznej obiekty w programie nie odpowiadają rzeczywistym obiektom opisywanego świata XML binding generuje się klasy odpowiadające pojęciom z dziedziny problemowej klasy te odwzorowują pojęcia problemowe na elementy XML programista korzysta z obiektów odpowiadających obiektom w świecie programy są łatwiejsze do zrozumienia i utrzymania Implementacje generator klas w Oracle XDK standard JAXB (Java Architecture for XML Binding) Czym dziś jest XML? Stan obecny technologii XML Podsumowanie 37 38 Podsumowanie Stan technologii XML Technologia XML osiągnęła już dojrzałość znalazła liczne ważne zastosowania XML stale się rozwija standardy są udoskonalane i rozbudowywane powstają nowe idee i propozycje standaryzacji Implementacje standardów XML Nie nadążają za pracami standaryzacyjnymi Są tworzone przez komercyjnych producentów oprogramowania (w tym Oracle) główne organizacje tworzące oprogramowanie open-source Zapewnia to zdrową równowagę żaden producent nie ma wyraźnej przewagi na rynku co zmusza producentów do przestrzegania standardów Rola XML Istotne zalety XML zostały docenione XML znalazł stałe miejsce wśród najważniejszych technologii współczesnej informatyki Brak inwestycji w naukę to inwestycja w ignorancję 39 40