przykładowy dokument xml - ii.pwr.edu.plpietranik/documents/isi/wyklad_5.pdf · dtd - wady (2) •...
Embed Size (px)
TRANSCRIPT
Przykadowy dokument XML
DTD - wady Ograniczona kontrola nad struktur dokumentw.
Zbyt wysokopoziomowe typy danych: liczby, daty s zawsze reprezentowane jako tekst!
Bardzo oglne metody definiowania czstoci wystpie. Aby okreli, e zwrotka wiersza moe mie od 4 do 8 wersw musimy j zdefiniowa tak:
DTD - wady (2)
Mao obiektowe definicje. Chcielibymy np. zdefiniowa zwrotk w jednym DTD, a nastpnie rozszerzy j w innym bez przepisywania caej definicji.
Inna skadnia
Przykadowy schemat XML
Najwaniejsze dokumenty 1999: dokument W3C opisujcy wymagania stawiane
przed nowym formatem: mechanizmy tworzenia struktury, typy proste i reguy przetwarzania
2001: XML Schema staje si oficjaln rekomendacj W3C: XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema Part 2: Datatypes
2004: aktualne, drugie wydanie specyfikacji
W wielkim skrcie XML Schema to rozwinicie pomysu DTD
Do definicji typu dokumentu w formacie XML Schema wykorzystywana jest standardowa skadnia XML
Skadniki definicji nale do przestrzeni nazw XML Schema http://www.w3.org/2001/XMLSchema
Caa definicja zawarta jest w elemencie gwnym , wzy i atrybutw definiuje si za pomoc znacznikw i
Typy danych
Typy proste (ang. simple type) odpowiadaj zawartoci bez wewntrznej struktury (bez podelementw ani atrybutw). Mog by przypisywane elementom i atrybutom.
Typy zoone (ang. complex type) mog mie zawarto elementow i wprowadza atrybuty.
Typy proste
Typami prostymi s wszystkie typy wbudowane (np. liczba, napis, bool), jak rwnie typy stworzone na ich bazie.
Typy wbudowane string cig znakw,
boolean warto logiczna (true, false, 0 lub 1),
decimal liczby rzeczywiste o okrelonej dugoci
float 32-bitowa liczba rzeczywista
double 64-bitowa liczba rzeczywista
normalizedString napis, w ktrym kady biay znak jest podczas przetwarzania zastpowany przez spacj,
Typy wbudowane (2) token napis, w ktrym kady cig biaych znakw jest
podczas przetwarzania zastpowany przez jedn spacj, za biae znaki na pocztku i kocu s usuwane,
hexBinary dane binarne zapisane szesnastkowo
integer liczba cakowita z przedziau od -126789 do 126789,
date, time, dateTime, duration, gYearMonth, ...
ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATION, NMTOKEN, NMTOKENS, CDATA, language, normalizedString, token, uriReference...
Drzewo typw prostych
Typy pierwotne Typ xsd:anyType moe by uyty jawnie do
definiowania zawartoci elementu:
Taka definicja zezwala na dowoln zawarto znakow i elementow.
Podobn funkcj peni typ xsd:anySimpleType, ktry dopuszcza tylko zawarto o typie pierwotnym
Wasne typy proste - fasety minInclusive, maxInclusive, minExclusive, maxExclusive zawaj zakres dozwolonych wartoci liczbowych (wartoci minimalna i maksymalna, przedzia otwarty i domknity)
pattern zgodno z podanym wyraeniem regularnym
enumeration typ wyliczeniowy
list listy wartoci typu prostego (jak NMTOKENS)
union suma teoriomnogociowa wartoci kilku typw,
length, minLength, maxLength odpowiednio wymagana, minimalna lub maksymalna dugo napisu lub listy
Wasne typy proste
Nowy typ prosty tworzymy poprzez uycie elementu
Skorzystanie z fasety wymaga zastosowania w definicji elementu znacznika ograniczajcego typ wskazany atrybutem base lub podany w treci tego elementu.
Wasne typy proste
Wasne typy proste
Wasne typy proste
Typ wyliczeniowy
Ograniczenia Zakres wartoci wyprowadzonego typu prostego
musi by podzbiorem zakresu wartoci typu bazowego.
Listy wartoci
czenie typw
Unie - czenie typw
Unia to poczenie zakresw wartoci kilku typw w jeden nowy zakres. Instancja moe mie przypisan warto nalec do dowolnego z poczonych zakresw wartoci.
Unia - przykad
Unia - przykad
Typy anonimowe i nazwane
Organizacja przestrzeni nazw
Schemat zapisuje si przy pomocy minimum jednego dokumentu schematu.
Schemat deklaruje nazwy nalece do zero lub wicej przestrzeni nazw.
Powizanie schematu z dokumentem
Powizanie schematu z dokumentem skada si z trzech elementw:
deklaracji przestrzeni nazw dla egzemplarza dokumentu zgodnego z XML Schema: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
powiza listy uywanych przestrzeni nazw z URL-ami schematw majcych posuy do walidacji elementw, ktrych nazwy nale do uywanych w dokumencie przestrzeni nazw w atrybucie xsi:schemaLocation
powizania schematu dla elementw nie nalecych do adnej przestrzeni nazw poprzez podanie URL-a schematu w atrybucie xsi:noNamespaceSchemaLocation
Nazwy kwalifikowane i niekwalifikowane
Nazwy kwalifikowane (ang. qualified) nale do pewnej przestrzeni nazw. Mog by poprzedzone prefiksem lub nalee do domylnej przestrzeni nazw.
Nazwy niekwalifikowane (ang. unqualified) nie nale do adnej przestrzeni nazw.
Doczenie schematu do dokumentu
Przestrzenie nazw - prefiksy
Dokumenty schematw Schemat (struktura logiczna) moe by zapisany w
wielu dokumentach schematw (plikach .xsd)
Specyfikacja XML Schema okrela trzy metody czenia dokumentw schematw:
include
import
redefine
Metoda include docza dokument schematu do docelowej przestrzeni nazw gwnego dokumentu schematu.
Doczany dokument musi mie tak sam docelow przestrze nazw jak dokument gwny lub nie mie w ogle docelowej przestrzeni nazw.
i Metoda redefine docza dokument schematu do docelowej przestrzeni nazw gwnego dokumentu schematu z moliwoci przedefiniowania komponentw:
Metoda import docza dokument schematu z innej przestrzeni nazw (inn przestrze nazw):