Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.

Podobne prezentacje


Prezentacja na temat: "XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss."— Zapis prezentacji:

1 XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss

2 Plan wykładu XML Czym jest XML?, krótka historia języka XML Dlaczego XML jest użyteczny? Jak wygląda XML? Prezentacja elementów języka Parsery języka XML Walidacja XML – DTD/ Schema Czemu służy walidacja? Jak wygląda DTD? Jak wygląda Schema?

3 Czym jest XML? XML is a simple, very flexible text format derived from SGML. Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere XML definiuje strukturę dokumentu, pozostawiając interpretację znaczenia elementów tej struktury programiście XML jest sposobem meta-opisu, dowolnej innej struktury danych

4 Czym jest XML? – struktura a znaczenie Dawid Weiss xxxxx

5 Krótka historia XML XML powstał jako uproszczenie SGML Standard Generalized Markup Language (~1960/70), standard ISO SGML jest bardzo rozbudowany, kosztowny w implementacji i długotrwały w opanowaniu XML – podzbiór SGML, 1998 (specyfikacja tylko ok. 20 stronicowa) XML szybko się rozprzestrzenił, powstają parsery dla wielu języków Technologie follow-up: Xpath, Xpointer, XSLT, XSL:FO, Xlink...

6 Dlaczego XML jest pożyteczny? XML jest zrozumiały dla ludzi (jest plikiem tekstowym) uwaga: chyba, że struktura dokumentu nie ma sensu: XML ułatawia pracę programisty Parsery Walidacja Łatwo rozszerzalny XML jest trendy :)

7 Dlaczego XML jest użyteczny, c.d. Fragment dokumentu z napisem hello world zapisanego z OpenOffice (w XML) i MS Word (w formacie własnym)

8

9

10 Elementy języka: prolog XML jest plikiem tekstowym zwykle rozpoczynającym się od prologu Wszystkie parsery muszą wspierać przynajmniej UTF-8 i UTF-16 Prolog jest opcjonalny, ale powinien być wyspecyfikowany

11 Elementy języka: tagi Struktura jest zdefiniowana przez tagi (ang. markup) Tag to sekwencja alfanumerycznych znaków zawartych między ' ' Tag otwierający: Tag zamykający: Tag pusty (bez ciała): Przykłady: married

12 Elementy języka: atrybuty Atrybuty są częścią struktury i pozwalają na związanie z tagami par nazwa-wartość Jedynie tagi otwierające mogą posiadać atrybuty Nazwa atrybutu jest unikalna w obrębie jednego tagu niepoprawny przykład: Przykłady 129

13 Pierwszy dokument XML

14 Elementy języka: instrukcje sterujące Instrukcje sterujące nie są częścią dokumentu, ale są wykrywane i sygnalizowane przez parsery XML Instrukcja sterująca wygląda następująco: Prolog w XML jest przykładem instrukcji sterującej

15 Elementy języka: komentarze Komentarze to bloki tekstowe występujące między sekwencjami znaków: ' ' Przykłady: Komentarze nie mogą być deklarowane w definicji tagów W komentarzach nie może pojawić się sekwencja -- Weiss

16 Elementy języka: tekst, czyli Piąty Element Tekst może wystąpić wszędzie między tagami Białoszewski Miron Być to... być to źle a nie? Białoszewski Miron Być to... być to źle a nie?

17 Tekst, c.d. Spacje mogą być, na życzenie programisty, zignorowane przez parsery XML Jeśli zachodzi potrzeba umieszczenia znaków specjalnych (<>&), należy posłużyć się albo encjami, albo blokiem CDATA Wszystkie znaki w bloku CDATA są przekazywane do parsera XML dokładnie tak, jak zostały zapisane

18 Blok CDATA Białoszewski Miron Namuzowywanie

19 Kodowanie znaków w XML Prolog mówi parserowi jakiego kodowania należy użyć w interpretacji dokumentu Nazwy stron kodowych: IETF RFC 1766 Domyślna 'UTF-8' (Unicode) Przykład: prosty plik XML z literką ą

20 Przykład: UTF-16 (ą=0x0105) ą

21 ą Przykład: ISO (ą = 0xB1)

22 Encje w tekście Ponieważ niektóre znaki ( ' ' ) mają dla parsera specjalne znaczenie, więc trzeba je albo zakodować, albo umieścić w bloku CDATA Encje: '&' + entity_name + ';' Przykład: © Dawid Weiss & Krzysztof Kowalczykiewicz © Dawid Weiss & Krzysztof Kowalczykiewicz

23 Parsery XML Moduły programowe, które ułatwiają interpretację plików XML Dwie strategie: DOM i SAX [pull/ push] DOM (Document Object Model) Obiektowa reprezentacja dokumentu Łatwiejsza w obsłudze, ale wymaga pamięci i sparsowania całego dokumentu XML SAX (Simple API for XML) Interfejs oparty na zdarzeniach Interpretacja w locie; zdarzenia są przekazywane do kodu programu, przetworzona część pliku nie jest pamiętana

24 Parsery XML Parsers for Java: Xerces Saxon Piccolo Crimson (obsolete)... Parsery dla C++ (i C) Xerces-C Libxml

25 Zadanie domowe (1) Napisać aplikację opartą o interfejs SAX i DOM, która wypisze osobę, której wiek jest większy niż 25 lat Przykładowy plik wejściowy: Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

26 Walidacja XML Dokument XML określamy jako poprawny (ang. well formed), jeśli jego struktura jest poprawna w sensie składni języka XML Parser XML nie wskaże błędów przy interpretacji takiego pliku Dokument XML określamy jako valid, jeśli jego struktura jest poprawna i jest on poprawny w sensie składni elementów zdefiniowanej za pomocą DTD lub języka XML Schema

27 DTD DTD jest tekstowym opisem tego, jak tagi i zawartość pliku XML powinna być zorganizowana DTD pozwala na specyfikację następujących elementów tagi atrybuty encje bloki PCDATA (parsed character data) bloki CDATA (character data – not to be processed by the parser)

28 Elementy języka DTD Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or

29 Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or

30 Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or

31 Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or

32 DTD: jak go wskazać parserowi XML? DTD załączone z dokumentem Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

33 DTD: jak go wskazać parserowi XML? DTD wskazane jako plik w systemie Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

34 DTD: jak go wskazać parserowi XML? DTD wskazane jako publiczny plik

35 Zadanie domowe (2) Proszę przeczytać tutorial do DTD ze strony: Proszę eksperymentować z DTD i przykładami Parser (walidujący) i przykłady będą dostępne na stronie:

36 Język XML Schema Argumenty przeciwko DTD Jest dziwny Nie jest wystarczająco precyzyjny XML Schema jest jak DTD, lecz specyfikowane w języku XML Wspiera typy danych Wspiera warunki na wartości atrybutów Wspiera dziedziczenie typów Argumenty przeciwko XML Schema Jest trudniejszy do nauczenia

37 XML Schema – jak tego użyć? Plik XML Schema można zweryfikować przy pomocy XML Schema XML Schema jest dość skomplikowany. Polecany jest edytor wizualny, np. XML Spy

38

39 XML namespaces Przykład* Oba tagi TITLE mają inne znaczenie, jednak parser potraktuje je identycznie Specyfikacja XML Namespaces pozwala na wyodrębnienie kontekstu dla elementów XML XML Developer's Guide Ms Ambercrombie Kim * quoted from Microsoft's documentation

40 XML namespaces Przykład XML Developer's Guide Ms Ambercrombie Kim

41 Więcej informacji o XML... XML 1.0 recommendation (W3C) XML tutorial (W3C) AllTheWeb, Google, inne wyszukiwarki (jest mnóstwo informacji o XML)


Pobierz ppt "XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss."

Podobne prezentacje


Reklamy Google