Definiowanie typów dokumentów Część 1. DTD, XML Schema
Definiowanie typów dokumentów – część 1: DTD, XML Schema2 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce nie z mojej winy. Alojzy M. nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. Deklaracja XML Element główny Atrybut Element Znacznik początkowy Znacznik końcowy Zawartość tekstowa
Definiowanie typów dokumentów – część 1: DTD, XML Schema3 Struktura logiczna dokumentu XML st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce nie z mojej winy. Alojzy M. nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. zeznanie-sprawcy miejsceautortreść st. asp. Jan ŁapówkaDołowice GórneWypadek dniadata o godzinie godzina 13:13 ( dzien-tygodnia piątek... nr="1313/2001"
Definiowanie typów dokumentów – część 1: DTD, XML Schema4 Składnia XML Deklaracja XML: Znaczniki: Znaczniki elementu pustego: Komentarz: Instrukcja przetwarzania: Sekcja CDATA:
Definiowanie typów dokumentów – część 1: DTD, XML Schema5 Encje predefiniowane && << >> '' ""
Definiowanie typów dokumentów – część 1: DTD, XML Schema6 Unicode Światowy standard kodowania znaków. Odmiany: –UTF-7 (korzysta tylko z 7-bitowego zestawu znaków ASCII), –UTF-8 (pierwsze 128 – ASCII, znak zajmuje od 1 do 6 bajtów), –UTF-16 (każdy znak to jedno lub dwa słowa 16-bitowe), –UTF-32 (każdy znak to jedno słowo 32-bitowe), –UCS-4 (znak zajmuje zawsze 4 bajty). Obowiązkowy standard dla dokumentów XML: –każde narzędzie XML-owe musi wspierać przynajmniej UTF-8. Sposób użycia w dokumentach XML: –jako odpowiedni ciąg bajtów, –&# kod ; - kod dziesiętny znaku, –&#x kod ; - kod szesnastkowy znaku.
Definiowanie typów dokumentów – część 1: DTD, XML Schema7 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, struktury dokumentów, typów dokumentów): –określanie zestawu dopuszczalnych elementów, atrybutów,..., –definiowanie dopuszczalnej zawartości elementów (tekst, inne elementy), –przypisywanie atrybutów do elementów, –... Metody definiowania struktury: –dokument XML bez formalnej definicji struktury, –DTD – Document Type Definition, –XML Schema (rekomendacja W3C z 2 maja 2001), –Relax NG.
Definiowanie typów dokumentów – część 1: DTD, XML Schema8 Poprawność dokumentów Dokument XML poprawny składniowo (ang. well-formed): –każdy element musi być zamknięty, –nie ma nakładających się elementów, –wartości atrybutów w apostrofach lub cudzysłowach, –... Dokument XML poprawny strukturalnie (ang. valid): –struktura dokumentu zgodna ze strukturą zdefiniowaną w definicji typu dokumentu, –obecne wszystkie wymagane atrybuty.
Definiowanie typów dokumentów – część 1: DTD, XML Schema9 Modelowanie typów dokumentów Wieloetapowy proces analityczno-projektowy: –analiza struktury modelowanych bytów, –analiza przykładowych dokumentów, –analiza potencjalnych zastosowań dokumentów oraz przypadków użycia, –abstrakcyjny projekt struktury, –kodowanie projektu struktury np. przy pomocy DTD lub XML Schema, –testowanie, –pielęgnacja, zarządzanie zmianami.
Definiowanie typów dokumentów – część 1: DTD, XML Schema10 Projektowanie struktury dokumentów wiersz autor tytuł zwrotka * ? wers *
Definiowanie typów dokumentów – część 1: DTD, XML Schema11 DTD – prosty przykład <!DOCTYPE wiersz [ ]> element główny zawartość elementów atrybuty wyrażenia regularne
Definiowanie typów dokumentów – część 1: DTD, XML Schema12 Modele zawartości elementów Podelementy: Tekst: Mieszany: ANY : EMPTY :
Definiowanie typów dokumentów – część 1: DTD, XML Schema13 Budowanie modeli zawartości Znana notacja: –+ jeden lub więcej –* zero lub więcej –, sekwencja –| alternatywa –? opcjonalny Fragment zawartości (content particle) – wyrażenie zbudowane z połączonych spójnikami: –nazw elementów, –#PCDATA, –fragmentów zawartości.
Definiowanie typów dokumentów – część 1: DTD, XML Schema14 Fragmenty zawartości – przykład znaczenie(znaczenie | definicja)(hasło, (znaczenie | definicja), etymologia?) znaczenie definicja hasłoetymologia ? słownik *
Definiowanie typów dokumentów – część 1: DTD, XML Schema15 Rodzaje atrybutów #REQUIRED #IMPLIED #FIXED Wartość domyślna
Definiowanie typów dokumentów – część 1: DTD, XML Schema16 Typy atrybutów CDATA ciąg znaków NMTOKEN ciąg znaków mogących występować w nazwach atrybutów i elementów NMTOKENS ciąg NMTOKEN oddzielanych spacjami ID identyfikator unikatowy w dokumencie IDREF wskaźnik do ID innego elementu IDREFS ciąg IDREF oddzielany spacjami ENTITY nazwa encji (musi być zadeklarowana) ENITIES ciąg ENTITY oddzielany spacjami ( a | b | c ) typ wyliczeniowy
Definiowanie typów dokumentów – część 1: DTD, XML Schema17 Dlaczego DTD nie wystarcza? Zastosowania XML-a 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: –niemal brak kontroli nad tekstową zawartością elementów i wartościami atrybutów, –bardzo ogólne metody definiowania częstości wystąpień, –mało obiektowe, nierozszerzalne modele struktury.
Definiowanie typów dokumentów – część 1: DTD, XML Schema18 DTD – XML Schema Wywodzi się z SGML-a Specyficzna składnia 10 typów danych Zaprojektowany na potrzeby XML-a Składnia XML 44 wbudowane typy proste Typowy mieszany model zawartości Możliwość definiowania własnych typów danych Brak kontroli tekstowej zawartości elementów Zaawansowana kontrola tekstowej zawartości elementów
Definiowanie typów dokumentów – część 1: DTD, XML Schema19 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:
Definiowanie typów dokumentów – część 1: DTD, XML Schema20 Deklarowanie elementów i atrybutów
Definiowanie typów dokumentów – część 1: DTD, XML Schema21 Określanie typu elementu/atrybutu Atrybut type : Podelement complexType lub simpleType :...
Definiowanie typów dokumentów – część 1: DTD, XML Schema22 Kontrola użycia elementów i atrybutów
Definiowanie typów dokumentów – część 1: DTD, XML Schema23 Globalne i lokalne deklaracje elementów i atrybutów Deklaracje lokalne:
Definiowanie typów dokumentów – część 1: DTD, XML Schema24 Globalne i lokalne deklaracje elementów i atrybutów Deklaracje globalne i odwołania do nich:
Definiowanie typów dokumentów – część 1: DTD, XML Schema25 Elementy czy atrybuty? Informacje modelowane zwykle w elementach: –zawartość (elementy semantyczne, np. nazwisko, nazwa leku, adres), –struktura (np. rozdział, akapit, tytuł, lista), –wyszukiwanie (np. termin do indeksu, glosariusza, a także elementy dedykowane), –odesłania (np. hiperlinki, noty, przypisy). Informacje modelowane zwykle w atrybutach: –metadane (np. jednostka miary, waluta, język, priorytet), –identyfikatory wartości i odwołania do nich.
Definiowanie typów dokumentów – część 1: DTD, XML Schema26 Elementy czy atrybuty? Zalety elementów: –mogą zawierać inne elementy i atrybuty, –mogą się powtarzać, –można bezpiecznie rozszerzać ich model zawartości, np. dodając atrybuty, –można dokładnie sterować sposobem ich występowania (kolejnością, liczbą wystąpień, itp.) Zalety atrybutów: –są bardziej zwięzłe, –mogą być automatycznie dodawane do elementów, jeśli mają wartości domyślne.
Definiowanie typów dokumentów – część 1: DTD, XML Schema27 Gdzie szukać dalej DTD Tutorial Megginson, D., Structuring XML Documents, Prentice Hall, 1998 W3C Architecture Domain: XML Schema Costello, R., XML Schema Tutorial Walmsley, P., Definitive XML Schema, Prentice Hall PTR, 2002