1 Zaawansowana składnia XML XML Schema
2 Zaawansowana składnia XMLKomentarz: Instrukcja przetwarzania: Sekcja CDATA: Odwołania do znaków: kody zgodne ze standardem ISO/IEC
3 Unicode Światowy standard kodowania narodowych znaków przy pomocy dwubajtowych par: podzbiór ISO/IEC Odmiany: UTF-7, UTF-8 (pierwsze ASCII), UTF-16. Obowiązkowy standard dla dokumentów XML: każde narzędzie XML-owe musi wspierać przynajmniej UTF-8.
4 Sekcje warunkowe Włączanie i wyłączanie fragmentów DTD: ]]> ]]>
5 Sekcje warunkowe + encje parametryczneZewnętrzny podzbiór DTD: ]]> ]]> Dokument zgodny z wersją 1: ]
6 Dlaczego DTD nie wystarcza?Zastosowania w integracji aplikacji – struktury danych: przeniesienie zadania sprawdzania poprawności z tworzonej aplikacji na narzędzie walidujące daje spore oszczędności. 60% tworzonego kodu dotyczy weryfikacji poprawności danych. Roger L. Costello, XML Schema Tutorial Cechy DTD: jedynie podstawowa kontrola nad strukturą dokumentów, bardzo ogólne metody definiowania częstości wystąpień, mało "obiektowe", nierozszerzalne modele struktury. Taką kontrolę poprawności możemy oczywiście zaimplementować sami w kodzie naszej aplikacji (ewentualnie parametryzując aplikację przy pomocy atrybutów #FIXED), jest to jednak dość pracochłonne. Dobrze byłoby zrzucić walidację na parser XML. Standard XML Schema pozwala na definiowanie struktur dokumentów z dużo bardziej niż w DTD zaawansowaną kontrolą zawartości.
7 DTD – XML Schema Wywodzi się z SGML-a Zaprojektowany na potrzeby XML-aSpecyficzna składnia Składnia XML 10 typów danych 41+ typów danych Brak kontroli tekstowej zawartości elementów Zaawansowana kontrola tekstowej zawartości elementów Typowy mieszany model zawartości Możliwość definiowania własnych typów danych.
8 Status XML Schema 15 lutego 1999: Dokument W3C opisujący wymagania stawiane przed nowym formatem: mechanizmy tworzenia struktury, typy proste, reguły przetwarzania. 2 maja 2001: XML Schema staje się oficjalną rekomendacją W3C: XML Schema Part 0: Primer, XML Schema Part 1: Structures, XML Schema Part 2: Datatypes. Obecnie: trwają prace nad wymaganiami do wersji 1.1 XML Schema. Przestrzeń nazw XML Schema:
9 Definiowanie elementów i atrybutów
10 Określanie typu elementu/atrybutuAtrybut type:
11 Typy w XML Schema Wbudowane typy proste: string, boolean, integer,float, dateTime, ID, IDREF, CDATA, ... Typy proste definiują zbiory wartości atomowych (tzn. bez wewnętrznej struktury XML). Są nimi wszystkie typy wbudowane (np. liczba, napis, wartość logiczna), jak również typy stworzone na ich bazie (o tym później). Używa się ich do określania dopuszczalnych wartości atrybutów i zawartości elementów. Niektóre typy proste (ID, IDREF, CDATA) są zastrzeżone tylko dla atrybutów.
12 Typy w XML Schema Możliwość definiowania typów złożonych: sequence,choice, group, all. Kontrola użycia podelementów: minOccurs, maxOccurs. Kontrola użycia atrybutów: atrybut use o dopuszczalnych wartościach: required, optional lub prohibited. sequence - sekwencja wystąpień podelementów. chioce – alternatywa podelementów. group – grupowanie podelementów (nawiasy). all – wszystkie elementy muszą wystąpić, ale w dowolnej kolejności (konstrukcja dostępna w SGML DTD w postaci operatora &, lecz wycofana w XML DTD dla uproszczenia przetwarzania). Atrybuty minOccurs i maxOccurs określają liczby wystąpień elementów. Mogą one przyjmować wartości całkowite oraz specjalną wartość unbounded (nieograniczona liczba wystąpień).
13 Kontrola użycia elementów i atrybutów
14 Typy w XML Schema Tworzenie własnych typów prostych przy pomocy aspektów (facets): minInclusive, maxInclusive, minExclusive, maxExclusive, pattern, enumeration, list, union, length, minLength, maxLength.
15 Przykłady Lista wartości: Wyrażenia regularne:
16 Typ złożony, ale prosty
17 Model mieszany w XML SchemaMożliwość kontroli ilości i kolejności podelementów:
18 Rozszerzanie typów
19 Deklaracja elementu a typ zawartościOddzielenie deklaracji elementu od typu zawartości: typy anonimowe:
20 Deklaracje lokalne i globalne
21 Dokąd zmierzamy? Trendy w zastosowaniach technologii XML:coraz więcej zastosowań związanych z integracją aplikacji i wymianą dokumentów, rosnące potrzeby walidacji struktur XML. Odpowiedź: XML Schema: bardzo młody standard, czeka nas jeszcze wiele pracy, czy doczekamy się darmowych narzędzi? Czy XML Schema wyprze DTD? wieloletnie doświadczenie z SGML-owymi DTD, dostępność dobrych DTD, wygoda, przyzwyczajenie.