XML Extensible Markup Language - PowerPoint PPT Presentation

Loading...

PPT – XML Extensible Markup Language PowerPoint presentation | free to download - id: 6adec0-MDEyM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

XML Extensible Markup Language

Description:

XML Extensible Markup Language Adam Kowalski Seminarium JPB r d a materia w i przyk ad w: http://www.w3.org/FR http://www.w3.org/XML B dzie o... – PowerPoint PPT presentation

Number of Views:8
Avg rating:3.0/5.0
Date added: 4 February 2020
Slides: 29
Provided by: AdamKo
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: XML Extensible Markup Language


1
XML Extensible Markup Language
  • Adam Kowalski
  • Seminarium JPB

Zródla materialów i przykladów
http//www.w3.org/FR http//www.w3.org/XML
2
Bedzie o...
  • GenCode, GML, SGML, HTML, czyli troche historii
  • XML - skladniki specyfikacji, polityka
    dzialania...
  • XML - budowa
  • Przykladowe zastosowania
  • XML-QL

3
Slowem wstepu...
(1)
  • Jezyk oznaczania (ang. Markup Language) to zbiór
    zasad oznaczania tekstu. Jezyk ten powinien
    specyfikowac jakie oznaczenia sa dozwolone, jakie
    sa wymagane, jak znaczniki sa rozrózniane od
    tekstu oraz zasady zagniezdzania oznaczen. Daje
    odpowiedz na pytanie, jak interpretowac okreslone
    oznaczenie. Jezyk oznaczania jest mechanizmem
    sluzacym do okreslania i identyfikacji struktury
    dokumentu.

4
Slowem wstepu... Troche historii
(2)
  • Poczatek lat 60-tych to
  • GenCode stworzony przez komitet GCA (Graphic
    Communications Assotiation) ? zintegrowane
    archiwum róznych dokumentów
  • GML (Generalized Markup Language) ? te same pliki
    zródlowe mozna stosowac do wydruku ksiazki,
    wygenerowania raportów itd.

5
Slowem wstepu... Troche historii
(3)
  • Juz w GML pojawily sie znane obecnie tagi
    (znaczników) lt gt i lt/ gt. Dokumenty zapisane w tym
    formacie cechowaly sie duza czytelnoscia dla
    czlowieka. Jednakze niektóre znaczniki byly
    opcjonalne wiec byly pomijane. Powstawaly
    utrudnienia w komputerowym przetwarzaniu tak
    zapisanego tekstu. W rzeczywistosci stworzono
    kilka specjalizowanych aplikacji stosowanych dla
    konkretnych typów dokumentów.

6
Slowem wstepu... Troche historii
(4)
  • Pojawiaja sie nowe typy dokumentów i jednoczesnie
    wzrasta potrzeba ujednolicenia metody publikacji
    i manipulowania kazdego typu dokumentu.
  • Na poczatku lat 80-tych ludzie z GenCode i GML
    stworzyli komitet do spraw jezyków komputerowych
    do przetwarzania tekstów (committee on Computer
    Languages for the Processing of Text) w American
    National Standard Institute (ANSI).

7
Slowem wstepu... Troche historii
(5)
  • W roku 1986 powstaje SGML (Standarized
    Generalized Markup Language), ? standard ISO
    8879.
  • sformalizowany ? mozna udowodnic poprawnosc
    dokumentu
  • ustrukturalniony ? mozna tworzyc rozbudowane
    dokumenty
  • rozszerzalny ? wspiera zarzadzanie ogromnymi
    repozytoriami informacji.
  • wprowadzono pojecie typu dokumentu oraz definicje
    typu dokumentu (DTD - Document Type Definition)
    Typ dokumentu jest definiowany formalnie przez
    czesci skladowe oraz strukture.
  • Czy SGML to tylko kolejny przerosniety wytwór
    komitetu?

8
Slowem wstepu Troche historii
(6)
  • Na przelomie lat 89/90 niejaki Tim Berners-Lee
    wybral czesc znaczników ze standardu SGML DTD i
    juz w NeXUS-ie, pierwszej przegladarce i edytorze
    uzyto znajomych znaczników, szablonów i linków.
  • W 1992 HTML uksztaltowano tak, aby aplikacje
    zgodne z SGML mogly czytac HTML. Zostawiono tez
    furke mozliwosc wprowadzania zmian w narzedziach
    HTML w miare rozwoju jezyka, co z tego wyszlo
    mozna podziwiac na rynku (Microsoft vs Netscape)

9
...tam trzeci korzysta czyli powstanie XML
(7)
  • Mamy wiec
  • w SGML
  • 500 stron
  • brak pelnej implementacji
  • w HTML
  • wolna amerykanka
  • malo mozliwosci

10
XML Skladniki
(1)
  • Calosc XML zawiera kilka scisle powiazanych ze
    soba. Do tej pory nie ma jeszcze kompletu
    wymaganych dokumentów
  • Extensible Markup Language (XML) 1.0 - definiuje
    skladnie jezyka. Istnieje juz rekomendowana
    wersja z dnia 10.02.1998. Ostatnia wersja
    dostepna jest pod adresem http//www.w3.org/TR/RE
    C-xml
  • XML Linking Language (XLink) - dokument ten
    specyfikuje konstrukcje XML uzywane do opisania
    linków pomiedzy obiektami. Oprócz znanych z
    HTML pojawiaja sie bardziej zlozone linki,
    wskazujace jednoczesnie na wiele adresów, ponadto
    moga byc typowane. Dokument w wersji 1.0 ma nadal
    status Working Draft -) i pochodzi z dnia
    03.03.1998. Ostatnia wersja jest dostepna pod
    adresem http//www.w3.org/TR/WD-xlink

11
XML Skladniki
(2)
  • XML Pointer Language (XPointer) - Specyfikacja
    konstrukcji pozwalajacych na adresowanie do
    wewnetrznych struktur dokumentu XML, a w
    szczególnosci do elementów, stringów, etc.
    Dokument w wersji 1.0 ma status Working Draft i
    pochodzi z dnia 03.03.1998. Ostatnia wersja pod
    adresem http//www.w3.org/TR/WD-xptr
  • Extensible Style Language (XSL) - Jezyk do
    definiowania arkuszy stylów dla dokumentów XML.
    Sklada sie z dwóch czesci
  • jezyk sluzacy do transformowania dokumentów XML
  • slownik specyfikacji semantyki formatowaniadokumen
    tów
  • Arkusz stylów specyfikuje prezentacje klasy
    dokumentów XML poprzez opisanie jak dana
    instancja klasy jest przeksztalcana w dokument
    XML uzywajacy slownika formatowania. Dokument o
    statusie Working Draft pochodzi z dnia
    21.04.1999, dostepny http//www.w3.org/TR/WD-xsl
  • I wiele innych...

12
Polityka XML Czyli co, gdzie i jak...
(3)
  • Cele XML
  • XML bedzie mozna w prosty sposób uzywac w
    Internecie
  • XML bedzie wspomagal szeroka game zastosowan
  • XML bedzie kompatybilny z SGML
  • Bedzie latwo pisac programy przetwarzajace
    dokumenty XML (np. agenci w internecie)
  • Sprowadzenie opcjonalnosci do minimum (ideal to
    brak opcjonalnosci)
  • Dokumenty powinny byc latwe w pisaniu jak i w
    czytaniu dla czlowieka
  • Specyfikacja powinna przebiec szybko
  • Ponadto powinna byc formalna i zwiezla
  • Dokumenty powinny byc latwe do stworzenia
  • Zwiezlosc znaczników XML ma minimalna wartosc

13
Gramatyka... Extended Backus-Naur Form (EBNF)
(4)
  • Formalna gramatyka jezyka XML jest przedstawiona
    za pomoca prostej notacji Extended Backus-Naur
    Form (EBNF) notation. Kazda regula definiuje
    jeden symbol
  • symbol wyrazenie
  • W zaleznosci od rodzaju wyrazenia symbole
    zapisuje sie za pomoca wielkiej lub malej litery
    poczatkowej, ciagi liter w wyrazeniu sa w
    cudzyslowie

14
Gramatyka... Extended Backus-Naur Form (EBNF)
(5)
  • xN - N jest licza szesnastkowa przedstawiajaca
    znak wedlug ISO/IEC 10646
  • a-zA-Z, xN-xN - dowolny znak o wartosci
    zawierajacej sie w domknietym przedziale
  • a-z, xN-xN - dowolny znak spoza
    przedzialu
  • abc, xNxNxN - dowolny znak
    niewystepujacy w danym zbiorze
  • "string" i'string' - ciag znaków zawarty w
    cudzyslowie
  • (expression) - wyrazenie traktowane jako blok,
    moze byc zlozone z wyrazen w taki sposób
  • A? - wyrazenie A jest opcjonalne
  • A B - po wyrazeniu A wystepuje wyr. B
  • A B - wyrazenie A lub B, ale nie oba na raz
  • A - B - kazdy ciag zawarty w A, ale nieobecny w B
  • A - jedno lub wiecej wystapien wyrazenia A
  • A - zero lub wiecej wystapien wyrazenia A
  • / ... / - komentarz

15
Gramatyka... XML zapisany w EBNF
(6)
  • Przyklady
  • document prolog element Misc / dokument
    sklada sie z prologu (dokladnie jednego), jednego
    elementu i ciagu innych róznosci /
  • Char x9 xA xD x20-xD7FF
    xE000-xFFFD x10000-x10FFFF
  • S (x20 x9 xD xA) / definicja
    white space - spacja, ENTER, TAB... /
  • NameChar Letter Digit '.' '-' '_'
    '' CombiningChar Extender
  • Name (Letter '_' '') (NameChar)
  • Names Name (S Name)
  • Nmtoken (NameChar)
  • Nmtokens Nmtoken (S Nmtoken)

16
Budowa Podstawowe okreslenia
(7)
  • Element to oznaczony fragment tekstu (bez
    znaczników) i jednoczesnie jednostka
    strukturalna. XML pozwala na okreslenie zwiazków
    z innymi elementami (np.. Polityka zawierania sie
    elementów, czy sa jednostka atomowa)
  • ltoldjokegt
  • ltburnsgtSay ltquotegtgoodnightlt/quotegt,
  • Gracie.lt/burnsgt
  • ltallengtltquotegtGoodnight, Gracie.lt/quotegtlt/allengt
  • ltapplause/gt
  • lt/oldjokegt

Element quote
Element burns
17
Budowa DTD
(8)
  • Document Type Declarations dla poprzedniego
    przykladu
  • lt!ELEMENT oldjoke (burns, allen, applause?)gt
  • lt!ELEMENT burns (PCDATA quote)gt
  • lt!ELEMENT allen (PCDATA quote)gt
  • lt!ELEMENT quote (PCDATA)gt
  • lt!ELEMENT applause EMPTYgt

1 lub wiecej elementów
0 lub 1 element
Element allen nie musi wystapic po burns
0 lub wiecej elementów
Predefiniowany element (znaki)
18
Budowa DTD
(9)
  • Lista atrybutów
  • lt!ATTLIST oldjoke name ID REQUIRED
  • label CDATA IMPLIED
  • status ( funny notfunny ) 'funny'gt
  • Tutaj element oldjoke ma trzy atrybuty
  • name, typu ID, argument wymagany,
  • label, jest ciagiem znaków, nie wymagany,
  • status, moze miec wartosc funny lub not funny,
    domyslnie jest funny

19
Budowa DTD - typy atrybutów
(10)
  • CDATA - atrybut jest ciagiem dowolnych znaków
  • ID - atrybut musi byc
  • typu name
  • Name (Letter '_' '') (NameChar)
  • ID jednoznacznie identyfikuje elementy w
    dokumencie. Kazdy element moze miec tylko jeden
    atrybut ID.
  • IDREF lub IDREFS - dla IDREF wartosc atrybutu
    musi odnosic sie do pojedynczego ID innego
    elementu. IDREFS moze zawierac kilka IDREF
    oddzielonych pustym polem (wedlug wczesniejszej
    definicji White Space - s)
  • ENTITY lub ENTITIES wartoscia atrybutu musi byc
    nazwa pojedynczego entity (encji), lub wielu
    oddzielonych pustymi polami

20
Budowa DTD - typy atrybutów
(11)
  • NMTOKEN lub NMTOKENS - ograniczona forma atrybutu
    CDATA
  • Nmtoken (NameChar) 8 Nmtokens Nmtoken
    (S Nmtoken)
  • Lista nazw - mozna wyspecyfikowac, ze wartosci
    atrybutów beda pobierane z specyficznej listy
    nazw
  • Istnieja cztery typy wartosci domyslnych
  • REQUIRED - atrybut musi miec explicite
    wyspecyfikowana wartosc przy kazdym wystapieniu
    elementu w dokumencie
  • IMPLIED - atrybut nie jest wymagany i nie ma
    wartosci domyslnej
  • "value" - wartosc domyslna
  • FIXED "value" - atrybut moze miec niezmienialna
    wartosc w dokumencie. Nie musi byc powtarzany
    przy kazdym wystapieniu elementu w dokumencie

21
Budowa Przyklad polaczenia DTD z cialem
dokumentu
(12)
  • lt?XML version"1.0" standalone"no"?gt
  • lt!DOCTYPE chapter SYSTEM "dbook.dtd"
  • lt!ENTITY ulink.module "IGNORE"gt
  • lt!ELEMENT ulink (PCDATA)gt
  • lt!ATTLIST ulink
  • xmllink CDATA FIXED "SIMPLE
  • xml-attributes CDATA FIXED "HREF URL
  • URL CDATA REQUIREDgt
  • gt
  • ltchaptergt...lt/chaptergt

22
Zastosowania Przyklady
(1)
  • Wymiana baz danych
  • Rozproszone bazy danych
  • Perspektywy i wybór danych przez uzytkownika
  • Agenci internetowi

23
Zastosowania Przyklady
(2)
  • Istnieje juz gotowa propozycja jezyka zapytan
    korzystajacego ze struktur XML, nazwana XML-QL.
    Za jego pomoca mozna wyciagnac fragmenty
    interesujacych nas informacji, dokonywac
    przeksztalcen, za pomoca których mozna
    zintegrowac dane z wielu zródel.
  • ?

24
Zastosowania Przyklady
(3)
  • ltperson ID"o123"gt
  • ltfirstnamegtJohnlt/firstnamegt
  • ltlastnamegtSmithltlastnamegt
  • lt/persongt
  • ltperson ID"o234"gt
  • . . .
  • lt/persongt
  • ltarticle author"o123 o234"gt
  • lttitlegt ... lt/titlegt
  • ltyeargt 1995 lt/yeargt
  • lt/articlegt

25
Zastosowania Przyklady
(4)
  • Przypuscmy, ze mamy nastepujaca strukture opisana
    w DTD
  • lt!ELEMENT book (author, title, publisher)gt
  • lt!ATTLIST book year CDATAgt
  • lt!ELEMENT article (author, title, year?,
    (shortversionlongversion))gt
  • lt!ATTLIST article type CDATAgt
  • lt!ELEMENT publisher (name, address)gt
  • lt!ELEMENT author (firstname?, lastname)gt

26
Zastosowania Przyklady
(5)
  • W tym przykladzie dostajemy wszystkich autorów
    ksiazek, które opublikowal Addison-Wesley pod
    adresem www.a.b.c/bib.xml
  • Moze sie pojawic dowolny adres URI (uniform
    resource identifier) reprezentujacy zródlo
    dokumentów XML, które podajemy po slowie
    kluczowym IN.
  • WHERE ltbookgt
  • ltpublishergtltnamegtAddison-Wesleylt/namegtlt/pu
    blishergt
  • lttitlegt tlt/titlegt
  • ltauthorgt alt/authorgt
  • lt/bookgt IN "www.a.b.c/bib.xml"
  • CONSTRUCT a
  • Zapytanie wyszukuje wszystkie elementy book z
    www.a.b.c/bib.xml, które maja przynajmniej jeden
    element title, przynajmniej jeden element author
    i jeden element publisher którego name odpowiada
    naszym kryteriom. Dla kazdego wyniku zmiennym t i
    a przyporzadkowuje pare tytul, autor. Rezultatem
    zapytania jest lista autorów przywiazanych do
    a. Znak poprzedza nazwy zmiennych.

27
Zastosowania Przyklady
(6)
  • W tym przykladzie zastosowano skrót - zamiast
    zakonczenia lt/elementgt uzywa sie lt/gt, ponadto
    wynikiem jest struktura (element) o nazwie
    ltresultgt
  • WHERE ltbookgt
  • ltpublishergtltnamegtAddison-Wesleylt/gtlt/gt
  • lttitlegt tlt/gt
  • ltauthorgt alt/gt
  • lt/gt IN "www.a.b.c/bib.xml"
  • CONSTRUCT ltresultgt
  • ltauthorgt alt/gt
  • lttitlegt tlt/gt
  • lt/gt

28
Zakonczenie Optymistyczne?
  • XML wydaje sie byc obiecujacy, ale spogladajac na
    ich cele jakie postawili sobie przy tworzeniu
    standardów, to ich obietnice bardzo latwo mozna
    podwazyc
  • Cel stworzyc standard XSL, XLink, XPointer... w
    jak najszybszym czasie, a idzie im to tak, ze
    mamy tylko Working Drafts
  • Badzmy jednak dobrej mysli.
About PowerShow.com