Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
XML – Extensible Markup Language
2
Znakowanie tekstu Hamlet Być albo nie być. Oto jest pytanie.
Markup: the process of marking manuscript copy for typesetting with directions for use of type fonts and sizes, spacing, indentation, etc. The Chicago Manual Of Style wytłuszczyć odstęp wcięcie Hamlet Być albo nie być. Oto jest pytanie. Korzenie XML-a wywodzą się z nowatorskich koncepcji związanych ze znakowaniem tekstu, które powstały na początku lat 60-tych. „Kluczem do zrozumienia idei SGML-a [i XML-a] jest rozwikłanie jego nieco dziwnej nazwy, a przede wszystkim znaczenia słowa markup. Otóż jest to termin techniczny, utrwalony w tradycji amerykańskiego edytorstwa. [...] W języku polskim czynność ta, nie mająca osobnej nazwy, należy do procedur nazywanych ogólnie adiustacją techniczną. Przetłumaczenie markup jako znakowanie wydaje się jednak trafne (a w każdym razie lepsze niż tagowanie lub markowanie). W całkiem podobnym sensie mówimy np. o znakowaniu dróg i ich oznakowaniu jako rezultacie czynności znakowania.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) XML – Extensible Markup Language
3
Znakowanie tekstu w epoce komputerów
Treść Hamlet Być albo nie być. Oto jest pytanie + Formatowanie, adjustacja {nowy_wiersz} {bold} {wyłącz_bold} {wcięcie} = Dokument Hamlet Być albo nie być. Oto jest pytanie. {bold}Hamlet{wyłącz_bold}{nowy_wiersz}{wcięcie} Być albo nie być. Oto jest pytanie. Z bardzo podobnym znakowaniem tekstu mamy do czynienia w dokumentach komputerowych. Tekst oznakowany zawiera – oprócz samej treści – także pewne znaczniki opisujące formatowanie tekstu. Tak oznakowany tekst może być przetworzony np. przez system składu, który wyprodukuje czytelny dla człowieka, sformatowany dokument. XML – Extensible Markup Language
4
Korzenie XML-a Lata 60-te XX wieku:
1967 – William Tunnicliffe, prezes Graphic Communications Association, podczas spotkania w Canadian Government Printing Office przedstawia ideę oddzielenia zawartości informacyjnej dokumentów od ich formatu, Stanley Rice proponuje użycie uniwersalnych znaczników do znakowania struktury tekstu, projekt GenCode definiuje sposób oznaczania tekstu ukierunkowany na jego strukturę, projekt INTIME (INteractive Textual Information Management Experiment) Charlesa Goldfarba wykazuje potrzebę identyfikacji fragmentów tekstu i określenia ich znaczenia. Pod koniec lat 60-tych XX wieku pojawiło się kilka niezależnych inicjatyw, których autorzy dostrzegali ograniczenia znakowania tekstu znacznikami opisującymi jego wygląd. Pojawiły się pierwsze propozycje znakowania wskazującego strukturę tekstu i jej znaczenie. Kluczowy był projekt INTIME, prowadzony przez Charlesa Goldfarba w laboratoriach IBM Cambridge Scientific Center. Jego celem było stworzenie prototypu zintegrowanego systemu przetwarzania tekstó prawnych, przeznaczonego dla kancelarii prawniczych. Szybko okazało się, że z aktów prawnych można „wycisnąć” znacznie więcej (np. dokładniej wyszukiwać), jeśli znaczenie poszczególnych fragmentów tekstu jest jednoznacznie zidentyfikowane. XML – Extensible Markup Language
5
Wnioski z projektu INTIME
The usefulness of a retrieval program can be affected by its ability to identify the structure and purpose of the parts of text (e.g., footnotes, abstracts, citations). [...] A heuristic routine for identifying new paragraphs in normal text was developed for INTIME, but a more sophisticated facility is needed. A typesetting command language could convey such information, but present languages deal with the appearance of the text, not with the purpose which motivated it. C. Goldfarb, „SGML: The Reason Why and the First Published Hint”, Journal of the American Society for Information Science, Volume 48, Number 7 (July 1997) XML – Extensible Markup Language
6
Ewolucja Internetu aplikacja dzisiaj aplikacja człowiek człowiek
Bezpośrednia przyczyna powstania XML-a związana jest z ewolucją zastosowań Internetu, jaka nastąpiła w ostatnich latach. Początkowo witryny internetowe były tworzone „ręcznie” (jako statyczne strony) przez ludzi i przeznaczone do czytania przez ludzi. Następnie pojawiły się formularze internetowe, wypełniane w przeglądarkach, a interpretowane przez aplikacje. Kolejne generacje stron były generowane automatycznie przez aplikacje (np. skrypty pobierające treść z bazy danych), zaś czytane przez ludzi. Ograniczenia, jakie niesie ze sobą używany w Internecie format HTML (np. orientacja na wygląd tekstu, a nie jego znaczenie) sprawiają, że nie sprawdza się on jako medium w komunikacji bezpośrednio między aplikacjami. czas start XML – Extensible Markup Language
7
Oddzielenie znaczenia tekstu od sposobu prezentacji
Idea XML-a (1) Oddzielenie znaczenia tekstu od sposobu prezentacji <OSOBA MÓWIĄCA>Hamlet</OSOBA MÓWIĄCA> <WYPOWIEDŹ>Być albo nie być. Oto jest pytanie.</WYPOWIEDŹ> Nowatorski pomysł Charlesa Goldfarba i jego współpracowników z laboratorium IBM polegał na zastąpieniu znaczników opisujących formatowanie tekstu przez abstrakcyjne oznakowanie określające jego znaczenie. „Sam Goldfarb nie szukał dla swoich koncepcji uzasadnień teoretycznych. Proponował jedynie, aby uogólnić dotychczasową praktykę i znakować teksty w sposób, który nie przesądza o ich prezentacji. Po prostu wydawało się bardziej efektywne, by zamiast znaczników typograficznych w rodzaju: 14 punktów, Times Roman, kursywa, użyć takich, które opisują strukturę i znaczenie tekstu, np.: tytuł, akapit, cytat.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) XML – Extensible Markup Language
8
Sposób prezentacji Hamlet Być albo nie być. Oto jest pytanie.
OSOBA MÓWIĄCA nowy akapit do lewej wytłuszczenie WYPOWIEDŹ nowy akapit wcięcie na 2 cm do lewej Hamlet Być albo nie być. Oto jest pytanie. Ponieważ takie abstrakcyjne znaczniki nie opisują formatowania, formatowanie trzeba opisać w inny sposób. Najczęściej definiuje się w tym celu tzw. arkusz stylów (ang. stylesheet) , który określa jednolity sposób formatowania dla każdego elementu semantycznego. Raz zdefiniowany arkusz stylów można oczywiście wykorzystać do formatowania wszystkich dokumentów określonego typu. XML – Extensible Markup Language
9
Inny sposób prezentacji
OSOBA MÓWIĄCA na marginesie tekst pionowo niebieski hiperlink do opisu postaci na początku dramatu WYPOWIEDŹ nowy akapit kursywa ew. użyj syntezatora mowy z ustawieniami dla OSOBY MÓWIĄCEJ Być albo nie być. Oto jest pytanie. Hamlet Takie oddzielenie sposobu prezentacji od znaczenia tekstu pozwala na zdefiniowanie dla tego samego tekstu wielu sposobów prezentacji (arkuszy stylów) i używanie ich zamiennie w zależności od zastosowania (np. inny arkusz stylów może być stosowany dla publikacji papierowych, a inny – dla elektronicznych). XML – Extensible Markup Language
10
Idea XML-a (2) Stworzenie najodpowiedniejszego modelu dla naszych własnych dokumentów. <NUDA> </NUDA> <OSOBA MÓWIĄCA>Hamlet</OSOBA MÓWIĄCA> <WYPOWIEDŹ> Być albo nie być. Oto jest pytanie </WYPOWIEDŹ> Dostępny zestaw semantycznych znaczników nie jest z góry ograniczony. To my – jako projektanci nowego języka (typu dokumentu) – określamy ich nazwy i znaczenie. Wykorzystanie własnych znaczników opisujących znaczenie tekstu pozwala na zrealizowanie drugiej idei – dopasowania modelu dokumentu strukturalnego do potrzeb konkretnego zastosowania. XML – Extensible Markup Language
11
Najodpowiedniejszy model
Przykłady: encyklopedia: <nazwisko>, <imie>, <ur>, <zm>, <wymowa>, <etymologia>, <liczba-mieszk> prawo: <promulgator>, <rocznik>, <poz>, <art> <sąd>, <sygn-wyroku>, <teza> dokument techniczny: <part-number>, <function-name> patenty: <wynalazca>, <nr-zgłoszenia> ubezpieczenia: <data-polisy>, <wartość-polisy> XML – Extensible Markup Language
12
Rozwój języków uogólnionego znakowania tekstu
1969: GML – Generalized Markup Language (IBM; Goldfarb, Mosher, Laurie). 1986: SGML – Standard Generalized Markup Language, ISO 8879:1986. 1991: powstaje World Wide Web. 1994: HTML 2.0 zdefiniowany jako zastosowanie SGML-a. 1998: XML – Extensible Markup Language, World Wide Web Consortium. Pierwszym standardem, który realizował opisane idee, był GML (Generalized Markup Language). Składnia tego standardu stopniowo ewoluowała, dostosowując się do rosnącego zapotrzebowania na rozmaitą funkcjonalność. Rozwój ten zaowocował zdefiniowaniem specyfikacji SGML-a i opublikowaniem jej w 1986 roku jako normy ISO. SGML jest stosowany od lat w profesjonalnych systemach zarządzania dokumentami. Jest to standard elastyczny, oferujący wiele opcji, ale skomplikowany. Spowodowało to, że nie był on szerzej znany poza gronem fachowców zajmujących się dużymi systemami zarządzania treścią. Dopiero odważne uproszczenie zawiłości SGML-a i zdefiniowanie w ten sposób XML-a spowodowało gwałtowny wzrost popularności opisanych idei oraz wykorzystywanie ich w znacznie szerszym kontekście zastosowań. Mówi się wręcz, że XML daje 80% „mocy” (siły wyrazu) SGML-a przy 20% jego złożoności. XML – Extensible Markup Language
13
World Wide Web Consortium (W3C)
Kuźnia standardów internetowych, np.: HTML – Hyper Text Markup Language, HTTP – Hyper Text Transfer Protocol, CSS – Cascading StyleSheets, ... XML – Extensible Markup Language: najważniejsza rekomendacja ostatnich lat, twórcy: Tim Bray (Netscape), Jean Paoli (Microsoft), C.M. Sperberg-McQueen (University of Illinois). Obecne dominują prace nad standardami związanymi z XML-em. W3C jest organizacją non-profit, zrzeszającą firmy zainteresowane rozwojem i standaryzacją technologii internetowych. Większość z prac prowadzonych przez W3C w ostatnich latach dotyczy technologii związanych z XML-em oraz jego zastosowań. W3C nie publikuje norm ani specyfikacji – nie jest to oficjalna organizacja standaryzacyjna. Publikacje W3C są nazywane rekomendacjami. Nie przeszkadza to jednak, aby przynajmniej niektóre rekomendacje stawały się de facto standardami poprzez fakt ich powszechnego używania. XML – Extensible Markup Language
14
Co to jest XML? XML to nie język programowania.
XML to sposób zapamiętywania danych wraz z ich strukturą w dokumencie tekstowym: otwarty, elastyczny, bezpłatny, niezależny od platformy sprzętowej. XML to rama składniowa do tworzenia języków specyficznych dla zastosowań. Użycie XML-a nie zwalnia od myślenia (analizy, projektowania, ...) Otwartość XML-a polega na tym, że struktura dokumentów XML jest jawna i publicznie dostępna, a same pliki mają format tekstowy (można je obejrzeć w dowolnym edytorze tekstowym). Za korzystanie z formatu XML nie są pobierane żadne opłaty. Dodatkowo, wiele narzędzi wspierających wykorzystanie XML-a (szczególnie tych przeznaczonych dla programistów) jest bezpłatnych. XML nie jest związany z żadną platformą sprzętową ani producentem oprogramowania. Jest więc dobrym formatem do wymiany danych pomiędzy aplikacjami, systemami operacyjnymi czy platformami sprzętowymi. XML – Extensible Markup Language
15
Jak wygląda XML? <?xml version=”1.0”?> <zeznanie-sprawcy nr=”1313/2001”> <autor>st. asp. Jan Łapówka</autor> <miejsce>Dołowice Górne</miejsce> <treść>Wypadek dnia <data> r</data> o godzinie <godzina>13:13</godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem.</treść> </zeznanie-sprawcy> Deklaracja XML Element główny Atrybut Element Znacznik początkowy Znacznik końcowy Zawartość tekstowa Slajd przedstawia jedynie podstawowe elementy składni dokumentu XML. Każdy dokument XML zaczyna się od deklaracji XML, określającej wersję składni XML-a, sposób kodowania znaków, itp. Cała zawartość dokumentu zawarta jest w jednym elemencie – elemencie głównym. On dopiero zawiera inne elementy oraz tekst. Elementy mogą posiadać atrybuty, opisujące pewne właściwości elementów. Element jest kodowany przy pomocy znacznika początkowego oraz znacznika końcowego. XML – Extensible Markup Language
16
HTML XML Znaczenie elementów i ich atrybutów z góry określone.
Znaczenie elementów i ich atrybutów określa użytkownik lub aplikacja. Interpretację elementów określa standard, a w praktyce przeglądarki internetowe. <p> może w jednym dokumencie oznaczać paragraf, w drugim pomoc, a w trzecim pismo odręczne. To, co jest poprawne również określają przeglądarki internetowe. Poprawność XML-a jest ściśle określona przez specyfikację. Chociaż XML nie ma bezpośrednio nic wspólnego z HTML-em (który jest zastosowaniem SGML-a), to jednak warto te dwa języki porównać, ze względu na ich silny związek z Internetem. W odniesieniu do dokumentów HTML przyjęła się praktyka akceptowania dokumentów niepoprawnych. Przeglądarki internetowe nie wyświetlają bowiem komunikatów o błędach składniowych, lecz starają się ominąć błąd i jak najlepiej wyświetlić dokument mimo błędu. Skutkiem tego jest znaczna ilość dokumentów HTML formalnie niepoprawnych. W przypadku XML-a poprawność jest ściśle określona, zaś od narzędzi zgodnych z rekomendacją wymaga się, aby reagowały na napotkane w dokumentach błędy i nie przetwarzały takich dokumentów. XML – Extensible Markup Language
17
SGML XML Filozofia: jeden duży system zarządzania treścią.
Filozofia: wiele małych komunikujących się ze sobą modułów. Konieczność definiowania struktury. Opcjonalne definiowanie struktury. Skomplikowana składnia, wiele opcji. Uproszczona składnia. Trudność tworzenia parserów. Łatwość tworzenia parserów. Bardzo drogie narzędzia. Darmowe narzędzia. XML – Extensible Markup Language
18
Klasy zastosowań XML-a
Zarządzanie dokumentami, treścią, wiedzą: Elektroniczna wymiana danych, integracja aplikacji: Pierwotne zastosowanie SGML-a. Nowa klasa zastosowań XML-a. Dokumenty tworzone przez człowieka i przeznaczone dla człowieka. Dokumenty tworzone oraz przetwarzane automatycznie Długi czas życia dokumentów. Dokumenty tworzone tylko na czas komunikacji. Historycznie, zastosowania SGML-a wiązały się z zarządzaniem dokumentami. Są to więc także zastosowania XML-a. Prostota XML-a sprawiła jednak, że zaczął on być używany także w serwisach internetowych, publikacjach elektronicznych oraz do elektronicznej wymiany danych między systemami komputerowymi. Szczególnie te ostatnie zastosowania zasługują na uwagę, ponieważ sposób wykorzystania przez nie XML-a diametralnie różni się od pierwotnych założeń leżących u podstaw SGML-a. „SGML był związany z praktyką klasycznego edytorstwa. Dokument SGML, choć elektroniczny, był nadal czymś ‘namacalnym’, stanowił określony korpus tekstów, opracowywanych w ramach systemu edytorskiego lub udostępniany w obrębie sieci lokalnej. W normie SGML najwyraźniej założono, że teksty będą znakowanie ręcznie. [...] XML powstał w innym świecie – w świecie opasanym globalną siecią. Stanowi odpowiedź na potrzeby, jakie stawia publikowanie zasobów baz danych w skali Internetu i w lokalnych intranetach. Jego żywiołem są raczej dokumenty automatycznie generowane niż redagowane, dokumenty tworzone dynamicznie na żądanie, dokumenty wirtualne, integrujące informacje z wielu źródeł, których nikt nigdy w nie opracował w takim kształcie, w jakim są prezentowane.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) Typowy model mieszany zawartości. Konieczność dokładnego kontrolowania struktury i zawartości. XML – Extensible Markup Language
19
Dwie twarze XML-a Dokument tekstowy: Baza danych: <zamowienie>
<zeznanie-sprawcy> Wypadek dnia <data> r.</data> o godzinie <godzina>13.13 </godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. </zeznanie-sprawcy> <zamowienie> <pozycja> <nazwa>Papier</nazwa> <jednostka>ryza </jednostka> <ilosc>3</ilosc> </pozycja> <zamawiajacy id=”123456”> <imie>Szymon</imie> <nazwisko>Zioło </nazwisko> <firma>ABG Ster-Projekt </firma> </zamawiajacy> </zamowienie> Te różnicę między dwoma klasami zastosowań ilustrują dwa przykłady dokumentów. Podstawą dokumentu tekstowego, stosowanego w zastosowaniach związanych z zarządzaniem treścią, jest mieszany model zawartości, w którym tekst jest w dowolny sposób przemieszany z podelementami. Natomiast aplikacje wymieniające przy pomocy XML-a dane w sposób automatyczny operują zwykle na relacyjnych bazach danych. Dlatego struktura takiego dokumentu jest ściśle określona i często odpowiada strukturze odpowiedniej bazy danych. XML – Extensible Markup Language
20
Struktura logiczna dokumentu XML
zeznanie-sprawcy nr="1313/2001" autor miejsce treść st. asp. Jan Łapówka Dołowice Górne Wypadek dnia data godzina dzien-tygodnia ... 13:13 piątek o godzinie ( <?xml version=”1.0”?> <zeznanie-sprawcy nr=”1313/2001”> <autor>st. asp. Jan Łapówka</autor> <miejsce>Dołowice Górne</miejsce> <treść>Wypadek dnia <data> r</data> o godzinie <godzina>13:13</godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem.</treść> </zeznanie-sprawcy> O dokumencie XML możemy myśleć na dwa sposoby: jako o tekście (ciągu znaków) lub jako o strukturze drzewiastej, w której elementy, atrybuty i fragmenty tekstu są węzłami drzewa. Sposób patrzenia na dokument XML w danym momencie zależy oczywiście od konkretnego zastosowania. XML – Extensible Markup Language
21
Składnia XML Deklaracja XML: Znaczniki: Znaczniki elementu pustego:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> Znaczniki: <tag attributename="attribute value"> </tag> Znaczniki elementu pustego: <br></br> <br/> Komentarz: <!-- komentarz --> Instrukcja przetwarzania: <?target processing-instruction-body?> Sekcja CDATA: <![CDATA[dowolny <tekst " nieprzetwarzany & przez [ parser]]> Każdy dokument XML musi zaczynać się od deklaracji XML – inaczej nie zostanie rozpoznany jako dokument XML. Znacznik elementu pustego w postaci <br/> jest skrótem składniowym upraszczającym tworzenie dokumentów i oznacza dokładnie to samo, co pełny zapis <br></br>. Komentarze nie są interpretowane jako część treści dokumentu i pełnią taką samą role, jak komentarze w językach programowania. Instrukcje przetwarzania są swego rodzaju „wolnymi elektronami”, które można umieszczać w dowolnych miejscach w dokumentach XML i nie trzeba ich nigdzie deklarować. Można je wykorzystywać jako „ukryte” (tzn. nie należące do właściwej struktury dokumentu) polecenia dla aplikacji przetwarzających dokumenty. Sekcje CDATA są konstrukcją składniową pozwalającą w prosty sposób umieszczać w dokumencie XML teksty zawierające znaki zastrzeżone, np. <, &. Wewnątrz sekcji CDATA znaki zastrzeżone nie są bowiem interpretowane. XML – Extensible Markup Language
22
Encje predefiniowane & & < < > > ' ' " "
& & < < > > ' ' " " Innym sposobem zapisu w dokumencie XML znaków zastrzeżonych w składni XML-a jest użycie tzw. encji predefiniowanych. Są one domyślnie zdefiniowane i nie trzeba ich samemu definiować. Oczywiście encja predefiniowana to tylko sposób zapisu składniowego znaku. Aplikacje korzystające z dokumentów XML ukrywają tą warstwę składniową i wyświetlają normalne znaki. XML – Extensible Markup Language
23
Język – metajęzyk Stan wyjściowy: Wspólny metajęzyk:
Wieża Babel (brak wspólnego języka), czy w ogóle możliwy jeden wspólny język? Wspólny metajęzyk: znana gramatyka, jednolita metodologia, takie same narzędzia. Dowolnie wiele języków specyficznych dla zastosowań. Możliwość definiowania własnych elementów i określania ich znaczenia powoduje, że XML nie jest tak na prawdę zwykłym językiem, lecz metajęzykiem, tzn. językiem służącym do definiowania własnych języków. Przez własny język rozumiemy tu określony zestaw elementów, atrybutów, sposób ich zagnieżdżania, dopuszczalną zawartość tekstową, no i przede wszystkim znaczenie poszczególnych elementów i atrybutów. Dzięki temu w XML-u można zapisać dane zupełnie do siebie nie przystające, np. fakturę oraz hasło encyklopedyczne. Wprawdzie każdy z tych dokumentów będzie miał inny zestaw elementów i atrybutów (będzie napisany w innym języku), ale oba będą miały tę samą składnię i oba będzie można przetwarzać przy pomocy tych samych standardowych, uniwersalnych narzędzi. XML – Extensible Markup Language
24
Definiowanie języków XML, SGML – metajęzyki.
Definiowanie języków (zastosowań, typów dokumentów, schemató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, Relax NG. Potrzebujemy więc metod i narzędzi, aby móc – w oparciu o metajęzyk XML – definiować własne języki (inaczej mówiąc: zastosowania XML-a, typy dokumentów lub schematy). XML dopuszcza wprawdzie dokumenty, które nie mają formalnej definicji struktury, ale – szczególnie w odniesieniu do większych, bardziej skomplikowanych dokumentów – zaleca się korzystanie z takiej definicji. Mamy do dyspozycji co najmniej kilka metod definiowania języków. DTD wywodzi się z SGML-a i jest metodą dość prostą i ograniczoną. W DTD nie można na przykład określać typów zawartości elementów i wartości atrybutów (nie można np. określić, że dany element powinien zawierać datę). Niemniej jednak DTD wciąż są popularne – zapewne m. in. dzięki swej prostocie. Najpopularniejszym obecnie standardem definiowania języków jest XML Schema – standard znacznie bardziej rozbudowany niż DTD i dający znacznie większe możliwości. Coraz większą popularność zdobywa też technika RELAX NG, pozwalająca ominąć niektóre słabe punkty XML Schema. XML – Extensible Markup Language
25
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. Dokument, który nie jest poprawny składniowo, tak na prawdę nie jest dokumentem XML. Drugi stopień poprawności (poprawność strukturalna) wymaga, aby spełniony był także pierwszy. Ma on sens jedynie dla dokumentów dla których zdefiniowano strukturę (schemat). XML – Extensible Markup Language
26
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. Podobnie jak implementacja (kodowanie) jest tylko jedną z wielu faz budowy systemu informatycznego, tak zapisywanie definicji języka przy pomocy DTD, XML Schema lub innego formalizmu jest jedynie jednym z etapów modelowania języka. Etap ten powinien być poprzedzony przez analizę oraz projektowanie struktury języka w sposób abstrakcyjny. Stosowanie pełnego cyklu modelowania ma sens w przypadku skomplikowanych języków, wykorzystywanych np. w systemach zarządzania aktami prawnymi czy zasobami encyklopedycznymi. Proces modelowania takich języków właściwie nigdy się nie kończy, ponieważ żyją i zmieniają się same reguły biznesowe będące podstawą modelu języka, lub pojawiają się nowe zależności, które trzeba zamodelować. Dlatego w profesjonalnych zastosowaniach, typy dokumentów muszą podlegać pielęgnacji. Oczywiście w prostych przypadkach (np. modelowanie komunikatu z klienta do serwera aplikacji), „rozgarnięty” projektant poradzi sobie od razu, bez stosowania pełnego cyklu, po prostu zapisując definicję przy pomocy DTD lub XML Schema. XML – Extensible Markup Language
27
Projektowanie struktury dokumentów
autor ? wiersz tytuł * * zwrotka wers Podczas abstrakcyjnego, niezależnego od notacji (DTD lub XML Schema), projektowania struktury dokumentów, używa się z reguły diagramów graficznych. Istnieją specjalne programy, które pozwalają na takie graficzne projektowanie, np. edytor XMLSPY firmy Altova. XML – Extensible Markup Language
28
DTD – prosty przykład <!DOCTYPE wiersz [
<!ELEMENT wiersz (autor, tytul?, zwrotka*)> <!ATTLIST wiersz bialy (tak|nie) ”nie”> <!ELEMENT autor (#PCDATA)> <!ELEMENT tytul (#PCDATA)> <!ELEMENT zwrotka (wers)*> <!ELEMENT wers (#PCDATA)> ]> zawartość elementów element główny atrybuty wyrażenia regularne Definicja typu dokumentu jest zawarta w deklaracji DOCTYPE, po której następuje nazwa elementu głównego. Pozycje ELEMENT określają dopuszczalną zawartość poszczególnych elementów przy pomocy wyrażeń regularnych. #PCDATA (Parsed Characters Data) oznacza „czysty” tekst, bez podelementów. Przy pomocy pozycji ATTLIST można określić atrybuty poszczególnych elementów. XML – Extensible Markup Language
29
Gdzie szukać dalej: historia XML-a
Charles F. Goldfarb's SGML Source Home Page: Wypych, W., Na początku był rękopis, czyli o historii XML-a: Software 2.0, 6/2001 XML – Extensible Markup Language
30
Gdzie szukać dalej: XML
W3C – The World Wide Web Consortium: XML.com: The XML Industry Portal, hosted by OASIS: The XML Cover Pages: Paweł Stroiński, Kurs języka XML: Goldfarb, C., Prescod, P., „The XML Handbook, 5th Edition”, Prentice Hall PTR, 2003 Grupa dyskusyjna pl.comp.xml XML – Extensible Markup Language
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.