Zaawansowana składnia XML XML Schema

1 Zaawansowana składnia XML XML Schema ...
Author: Narcyz Jeszka
0 downloads 8 Views

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: ] ... Szymon Zioło ...

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: Podelement complexType lub simpleType:

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. minInclusive, maxInclusive, minExclusive, maxExclusive – zawężają zakres dozwolonych wartości liczbowych. pattern – wzorzec wartości zgodny z podanym wyrażeniem regularnym. enumeration – typ wyliczeniowy. list – lista wartości typu prostego. length, minLength, maxLength – opowiednio wymagana, minimalna lub maksymalna długość napisu lub listy.

15 Przykłady Lista wartości: Wyrażenia regularne: 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: Model mieszany w DTD nie pozwala na ograniczenie ilości ani kolejności podelementów występujących w tekście. W XML Schema typ o modelu mieszanym definiuje się identycznie jak każdy inny typ.

18 Rozszerzanie typów

19 Deklaracja elementu a typ zawartościOddzielenie deklaracji elementu od typu zawartości: typy anonimowe: ... typy nazwane: ... W DTD deklaracja elementu definiuje jednocześnie typ jego zawartości. Jeśli chcemy przypisać ten sam model zawartości kilku elementom, to musimy wielokrotnie przepisać definicję modelu (ewentualnie upraszczając sobie życie przy pomocy encji parametrycznych). XML Schema oferuje byt pośredni – typ zawartości który definiujemy, nadając mu nazwę, a następnie przypisujemy do dowolnie wielu elementów/atrybutów. Dla uproszczenia, możemy zdefiniować typ bezpośrednio w deklaracji elementu (jak w DTD) i wtedy będzie to typ anonimowy.

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.