Title: XML
1XML Extensible Markup Language
2Znakowanie tekstu
Markupthe process of marking manuscript copy
for typesetting with directions for use of type
fonts and sizes, spacing, indentation, etc.The
Chicago Manual Of Style
HamletByc albo nie byc. Oto jestpytanie.
3Znakowanie tekstu w epoce komputerów
Tresc
Hamlet Byc albo nie byc. Oto jest pytanie
Formatowanie, adjustacja
nowy_wiersz bold wylacz_bold wciecie
Dokument
Hamlet Byc albo nie byc. Oto jest pytanie.
boldHamletwylacz_boldnowy_wierszwciecie
Byc albo nie byc. Oto jest pytanie.
4Korzenie XML-a
- Lata 60-te XX wieku
- 1967 William Tunnicliffe, prezes Graphic
Communications Association, podczas spotkania w
Canadian Government Printing Office przedstawia
idee oddzielenia zawartosci informacyjnej
dokumentów od ich formatu, - Stanley Rice proponuje uzycie uniwersalnych
znaczników do znakowania struktury tekstu, - projekt GenCode definiuje sposób oznaczania
tekstu ukierunkowany na jego strukture, - projekt INTIME (INteractive Textual Information
Management Experiment) Charlesa Goldfarba
wykazuje potrzebe identyfikacji fragmentów
tekstu i okresleniaich znaczenia.
5Wnioski 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) -
6Ewolucja Internetu
aplikacja ? aplikacja
aplikacja ? czlowiek
czlowiek ? czlowiek
czlowiek ? aplikacja
czas
start
7Idea XML-a (1)
- Oddzielenie znaczenia tekstuod sposobu
prezentacji
- ltOSOBA MÓWIACAgtHamletlt/OSOBA MÓWIACAgt
- ltWYPOWIEDZgtByc albo nie byc.
- Oto jest pytanie.lt/WYPOWIEDZgt
8Sposób prezentacji
- OSOBA MÓWIACA
- nowy akapit
- do lewej
- wytluszczenie
- WYPOWIEDZ
- nowy akapit
- wciecie na 2 cm
- do lewej
Hamlet Byc albo nie byc. Oto jest
pytanie.
9Inny sposób prezentacji
- OSOBA MÓWIACA
- na marginesie
- tekst pionowo
- niebieski
- hiperlink do opisu postaci na poczatku dramatu
- WYPOWIEDZ
- nowy akapit
- kursywa
- ew. uzyj syntezatora mowy z ustawieniami dla
OSOBY MÓWIACEJ
10Idea XML-a (2)
- Stworzenie najodpowiedniejszego modeludla
naszych wlasnych dokumentów.
ltOSOBA MÓWIACAgtHamletlt/OSOBA MÓWIACAgt ltWYPOWIEDZgt
Byc albo nie byc. Oto jest
pytanie. lt/WYPOWIEDZgt
ltNUDAgt
lt/NUDAgt
11Najodpowiedniejszy model
- Przyklady
- encyklopedia ltnazwiskogt, ltimiegt, lturgt, ltzmgt,
ltwymowagt, ltetymologiagt, ltliczba-mieszkgt - prawo ltpromulgatorgt, ltrocznikgt, ltpozgt, ltartgt
ltsadgt, ltsygn-wyrokugt, lttezagt - dokument techniczny ltpart-numbergt,
ltfunction-namegt - patenty ltwynalazcagt, ltnr-zgloszeniagt
- ubezpieczenia ltdata-polisygt, ltwartosc-polisygt
12Rozwój jezyków uogólnionego znakowania tekstu
- 1969 GML Generalized Markup Language(IBM
Goldfarb, Mosher, Laurie). - 1986 SGML Standard Generalized Markup
Language, ISO 88791986. - 1991 powstaje World Wide Web.
- 1994 HTML 2.0 zdefiniowany jako zastosowanie
SGML-a. - 1998 XML Extensible Markup Language,World
Wide Web Consortium.
13World Wide Web Consortium (W3C)
- Kuznia standardów internetowych, np.
- HTML Hyper Text Markup Language,
- HTTP Hyper Text Transfer Protocol,
- CSS Cascading StyleSheets,
- ...
- XML Extensible Markup Language
- najwazniejsza rekomendacja ostatnich lat,
- twórcy Tim Bray (Netscape), Jean Paoli
(Microsoft), C.M. Sperberg-McQueen (University
of Illinois). - Obecne dominuja prace nad standardami zwiazanymi
z XML-em.
14Co to jest XML?
- XML to nie jezyk programowania.
- XML to sposób zapamietywania danych wraz z ich
struktura w dokumencie tekstowym - otwarty,
- elastyczny,
- bezplatny,
- niezalezny od platformy sprzetowej.
- XML to rama skladniowa do tworzenia jezyków
specyficznych dla zastosowan. - Uzycie XML-a nie zwalnia od myslenia (analizy,
projektowania, ...)
15Jak wyglada XML?
- lt?xml version1.0?gtltzeznanie-sprawcy
nr1313/2001gtltautorgtst. asp. Jan
Lapówkalt/autorgtltmiejscegtDolowice
Górnelt/miejscegtlttrescgtWypadek dnia
ltdatagt13.10.2001rlt/datagto godzinie
ltgodzinagt1313lt/godzinagt (ltdzien-tygodniagtpiatek
lt/dzien-tygodniagt) mial miejsce nie z mojej
winy. ltposzkodowanygtAlojzy M.lt/poszkodowanygt nie
mial zadnego pomyslu w która strone uciekac, wiec
go przejechalem.lt/trescgtlt/zeznanie-sprawcygt
Deklaracja XML
Element glówny
Atrybut
Element
Znacznik poczatkowy
Znacznik koncowy
Zawartosc tekstowa
16HTML ? XML
- Znaczenie elementów i ich atrybutów z góry
okreslone.
- Znaczenie elementów i ich atrybutów okresla
uzytkownik lub aplikacja.
- Interpretacje elementów okresla standard, a w
praktyce przegladarki internetowe.
- ltpgt moze w jednym dokumencie oznaczac paragraf, w
drugim pomoc, a w trzecim pismo odreczne.
- To, co jest poprawne równiez okreslaja
przegladarki internetowe.
- Poprawnosc XML-a jest scisle okreslona przez
specyfikacje.
17SGML ? XML
- Filozofia jeden duzy system zarzadzania trescia.
- Filozofia wiele malych komunikujacych sie ze
soba modulów.
- Koniecznosc definiowania struktury.
- Opcjonalne definiowanie struktury.
- Skomplikowana skladnia, wiele opcji.
- Trudnosc tworzenia parserów.
- Latwosc tworzenia parserów.
18Klasy zastosowan XML-a
Zarzadzanie dokumentami, trescia, wiedza
Elektroniczna wymiana danych, integracja
aplikacji
- Pierwotne zastosowanie SGML-a.
- Nowa klasa zastosowan XML-a.
- Dokumenty tworzone przez czlowieka i przeznaczone
dla czlowieka.
- Dokumenty tworzone oraz przetwarzane automatycznie
- Dlugi czas zycia dokumentów.
- Dokumenty tworzone tylko na czas komunikacji.
- Typowy model mieszany zawartosci.
- Koniecznosc dokladnego kontrolowania struktury i
zawartosci.
19Dwie twarze XML-a
Baza danych
Dokument tekstowy
ltzamowieniegt ltpozycjagt ltnazwagtPapierlt/nazwa
gt ltjednostkagtryza lt/jednostkagt
ltiloscgt3lt/iloscgt lt/pozycjagt ltzamawiajacy
id123456gt ltimiegtSzymonlt/imiegt
ltnazwiskogtZiolo lt/nazwiskogt ltfirmagtABG
Ster-Projekt lt/firmagt lt/zamawiajacygt lt/zamow
ieniegt
ltzeznanie-sprawcygt Wypadek dnia
ltdatagt 13.01.2001 r.lt/datagto godzinie
ltgodzinagt13.13 lt/godzinagt (ltdzien-tygodniagtpiatek
lt/dzien-tygodniagt) mial miejsce nie z mojej winy.
ltposzkodowanygtAlojzy M.lt/poszkodowanygt nie mial
zadnego pomyslu w która strone uciekac, wiec go
przejechalem.lt/zeznanie-sprawcygt
20Struktura logiczna dokumentu XML
zeznanie-sprawcy
nr"1313/2001"
miejsce
autor
tresc
st. asp. Jan Lapówka
Dolowice Górne
Wypadek dnia
data
godzina
dzien-tygodnia
...
13.10.2001
1313
piatek
o godzinie
(
lt?xml version1.0?gtltzeznanie-sprawcy
nr1313/2001gtltautorgtst. asp. Jan
Lapówkalt/autorgtltmiejscegtDolowice
Górnelt/miejscegtlttrescgtWypadek dnia
ltdatagt13.10.2001rlt/datagto godzinie
ltgodzinagt1313lt/godzinagt (ltdzien-tygodniagtpiatek
lt/dzien-tygodniagt) mial miejsce nie z mojej
winy. ltposzkodowanygtAlojzy M.lt/poszkodowanygt nie
mial zadnego pomyslu w która strone uciekac, wiec
go przejechalem.lt/trescgtlt/zeznanie-sprawcygt
21Skladnia XML
- Deklaracja XML
- lt?xml version"1.0" encoding"UTF-8"
standalone"yes"?gt - Znaczniki
- lttag attributename"attribute value"gt
- lt/taggt
- Znaczniki elementu pustego
- ltbrgtlt/brgt
- ltbr/gt
- Komentarz
- lt!-- komentarz --gt
- Instrukcja przetwarzania
- lt?target processing-instruction-body?gt
- Sekcja CDATA
- lt!CDATAdowolny lttekst " nieprzetwarzany przez
parsergt
22Encje predefiniowane
- amp
- lt lt
- gt gt
- apos '
- quot "
23Jezyk metajezyk
- Stan wyjsciowy
- Wieza Babel (brak wspólnego jezyka),
- czy w ogóle mozliwy jeden wspólny jezyk?
- Wspólny metajezyk
- znana gramatyka,
- jednolita metodologia,
- takie same narzedzia.
- Dowolnie wiele jezyków specyficznych dla
zastosowan.
24Definiowanie jezyków
- XML, SGML metajezyki.
- Definiowanie jezyków (zastosowan, typów
dokumentów, schematów) - okreslanie zestawu dopuszczalnych elementów,
atrybutów, ..., - definiowanie dopuszczalnej zawartosci 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.
25Poprawnosc dokumentów
- Dokument XML poprawny skladniowo (ang.
well-formed) - kazdy element musi byc zamkniety,
- nie ma nakladajacych sie elementów,
- wartosci atrybutów w apostrofach lub
cudzyslowach, - ...
- Dokument XML poprawny strukturalnie (ang. valid)
- struktura dokumentu zgodna ze struktura
zdefiniowana w definicji typu dokumentu, - obecne wszystkie wymagane atrybuty.
26Modelowanie typów dokumentów
- Wieloetapowy proces analityczno-projektowy
- analiza struktury modelowanych bytów,
- analiza przykladowych dokumentów,
- analiza potencjalnych zastosowan dokumentów oraz
przypadków uzycia, - abstrakcyjny projekt struktury,
- kodowanie projektu struktury np. przy pomocy DTD
lub XML Schema, - testowanie,
- pielegnacja, zarzadzanie zmianami.
27Projektowanie struktury dokumentów
autor
?
wiersz
tytul
zwrotka
wers
28DTD prosty przyklad
lt!DOCTYPE wiersz lt!ELEMENT wiersz (autor,
tytul?, zwrotka)gt lt!ATTLIST wiersz bialy
(taknie) niegt lt!ELEMENT autor (PCDATA)gt
lt!ELEMENT tytul (PCDATA)gt lt!ELEMENT zwrotka
(wers)gt lt!ELEMENT wers (PCDATA)gt gt
zawartosc elementów
atrybuty
element glówny
wyrazenia regularne
29Gdzie szukac dalej historia XML-a
- Charles F. Goldfarb's SGML Source Home Page
- www.sgmlsource.com
- Wypych, W., Na poczatku byl rekopis, czyli o
historii XML-a - ? Software 2.0, 6/2001
30Gdzie szukac dalej XML
- W3C The World Wide Web Consortium
- www.w3.org
- XML.com
- www.xml.com
- The XML Industry Portal, hosted by OASIS
- www.xml.org
- The XML Cover Pages
- www.oasis-open.org/cover/xml.html
- Pawel Stroinski, Kurs jezyka XML
- www.wckp.lodz.pl/pabloware/xml
- Goldfarb, C., Prescod, P., The XML Handbook,
5th Edition, Prentice Hall PTR, 2003 - Grupa dyskusyjna ? pl.comp.xml