1 XML – eXtensible Markup Language 3
2 Atrybuty Poprawny strukturalnie dokument (valid) musi mieć zadeklarowane atrybuty wszystkich elementów. Wykorzystujemy w tym celu instrukcję ATTLIST Atrybuty deklarujemy oddzielnie dla każdego elementu. Elementy mogą posiadać kilka atrybutów. Przykład 1 width CDATA #REQUIRED height CDATA #REQUIRED alt CDATA #IMPLIED >
3 Atrybuty Pojedynczy element ATTLIST może deklarować wiele atrybutów dla tego samego elementu. Przykład 2 width CDATA #REQUIRED height CDATA #REQUIRED alt CDATA #IMPLIED > gdzie: #REQUIRED – atrybut obowiązkowy #IMPLIED – atrybut nieobowiązkowy
4 Atrybuty Istnieją następujące typy atrybutów:1. CDATA – dowolny ciąg znaków. Przykład 3 2. ID – nazwa która jest wyjątkowa w całym dokumencie XML. Przykład 4
5 Atrybuty 3. NMTOKEN - składa się z tych samych znaków co nazwy XML.Może się zaczynać od dowolnej litery i znaku. Przykład 5 4. NMTOKENS - składa się z kilku wartości NMTOKEN. Przykład 6
6 Atrybuty 5. (v1 | v2 | ... |vn) - wszystkie możliwe wartości.Przykład 7
7 Atrybuty 6. IDREF – odwołanie do innego elementu z atrybutem ID.Przykład 8
8 Typy wartości atrybutów#REQUIRED – atrybut musi pojawić się z każdym wystąpieniem elementu. #IMPLIED – atrybut nieobowiązkowy. #FIXED "wartość" – atrybut obowiazkowy o wartości określonej przez wartość. Przykład 9 "wartość" – wartość domyślna atrybutu. Przykład 10
9 XML Schema (Podobnie jak DTD) XML Schema to opracowany przez W3C standard służący do definiowania struktury dokumentu XML. (W przeciwieństwie do DTD) XML Schema jest aplikacją XML. XML pozwala (dokładniej niż DTD) określić strukturę dokumentów XML. XML schema oferuje większą niż DTD ilość typów (elementów, atrybutów, danych). W XML schema możemy definiować własne typy wykorzystując typy „wbudowane”. Dokumenty zawierające definicje XML Schema zapisuje się zwykle w plikach z rozszerzeniem xsd.
10 XML Schema Struktura dokumentu XML schema
11 XML Schema – deklaracje elementów i atrybutówElementy Każdy element dokumentu XML deklarujemy w następujący sposób:
12 XML Schema – deklaracje elementów i atrybutówPrzykład 11
13 XML Schema – deklaracje elementów i atrybutówOprócz atrybutu type każdy deklaracja może posiadać nastepujące atrybuty: use=”x” - gdzie x może przyjmować wartości optional lub required. wartość use=”x” vales=” ” - gdzie x może przyjmować wartości default lub fixed. Przykład 13
14 XML Schema – proste typy danychTypy numeryczne Przykłady xs:byte - liczba całkowita z przedziału xs:double , 6.022E23, 127E-13 xs:float – , , 6.022E23, 127E-13 xs:integer - 3, 3000, Typ logiczny xs:boolean - true, false, 0, 1
15 XML Schema – proste typy danychTypy znakowe Przykłady xs:string xs:NCName – dowolna nazwa XML xs:ID – nazwa XML niepowtarzalna w całym dokumencie XML xs:IDREF xs:NMTOKEN xs:NMTOKENS xs:language – kody języków zdefiniowane w ISO 639 np. en, en-US, en-GB, fr-CA
16 XML Schema – typy danychTypy wbudowane Typy zwiazane z datą i czasem Przykłady xs:time – czas w formacie ±hh:mm:ss.xxx (xxx – ułamki sekund) Dodatkowa litera Z oznacza czas Greenwich. 03:32:00-05:00 00:00:00Z 08:30: xs:date – data w formacie YYYY-MM-DD±hh:mm :00
17 XML Schema – typy danychTypy definiowane przez użytkownika Typy złożone (complex data types) – wykorzystujemy elementy i atrybuty.
18 XML Schema – typy danychPrzykład 11
19 XML Schema – typy danychPrzykład 11 Zdefiniujemy typy danych które mogą pojawić się w dokumencie XML będącym listem.
20 XML Schema – typy danych
21 XML Schema – typy danychFormularz listu wygląda następująco:
22 XML Schema – typy danychRozszerzanie typów dany – rozszerzamy typy danych przez dodanie nowych elementów lub atrybutów. Przykład 11
23 XML Schema – typy danych
24 XML Schema – typy danychOgraniczanie typów dany – ograniczamy typ danych przez dodanie więzów (ograniczeń) na pewne wartości. Przykład 11
25 XML Schema – typy danych
26 XML Schema – typy danychTypy proste (simple data types) – definiujemy m.in. przez ograniczenie typów wbudowanych. Przykład 11
27 XML Schema – typy danychPrzykład 11
28 XML Schema – typy danychPrzykład 11 XML schema dla poczty elektronicznej.
29 XML Schema – typy danych
30 XML Schema – typy danych
31 Przestrzenie nazw Przykład 11Dwa muzea posiadają dokumenty XML i okreslone dla nich DTD (lub XML Schema) zawierające opis eksponatów. Muzeum 1 (DTD 1):
32 Przestrzenie nazw Muzeum 2 (DTD 2):
33 Przestrzenie nazw Katalog Muzeum 1 i Muzeum 2:
34 Przestrzenie nazw Czy mozna w ten sposób łączyć dokumenty XML?Można, ale... ...mogą pojawić się problemy podczas walidacji jeżeli elementy w dokumencie XML zawierającym katalog Muzeum 1 są zdefiniowane inaczej niż elementy w dokumencie XML zawierającym katalog Muzeum 2. Walidator napotykając dowlny element w dokumencie musi wiedzieć czy element ten jest zdefiniowany W DTD 1 czy w DTD2. Informację taką zapisujemy wykorzystując tzw. przestrzenie nazw. Deklaracja przestrzeni nazw: xmlns:prefix=”położenie”
35 Przestrzenie nazw