34
eX tensible M arkup L anguage (XML)

e X tensible M arkup L anguage (XML)

Embed Size (px)

DESCRIPTION

e X tensible M arkup L anguage (XML). XML - eXtensible Markup Language. XML yra žymėjimo kalba, kaip ir HTML XML buvo sukurtas duomenų gabenimui, o ne vaizdavimui XML žymos nėra iš anksto nustatytos – jūs patys nustatote savo žymas Tai galima padaryti pačiame XML dokumente. - PowerPoint PPT Presentation

Citation preview

Page 1: e X tensible  M arkup  L anguage (XML)

eXtensible Markup Language (XML)

Page 2: e X tensible  M arkup  L anguage (XML)

Kas yra XML

XML - eXtensible Markup Language. XML yra žymėjimo kalba, kaip ir HTML XML buvo sukurtas duomenų gabenimui, o

ne vaizdavimui XML žymos nėra iš anksto nustatytos – jūs

patys nustatote savo žymas Tai galima padaryti pačiame XML dokumente

Page 3: e X tensible  M arkup  L anguage (XML)

Skirtumai tarp XML ir HTML

XML - ne HTML pakaitalas. XML ir HTML buvo kuriami turint skirtingus

tikslus:– XML buvo kurtas duomenų perkėlimui ir

saugojimui – kokie yra duomenys?– HTML buvo sukurtas duomenų vaizdavimui – kaip

duomenys atrodo?

Page 4: e X tensible  M arkup  L anguage (XML)

XML pats savaime nieko nedaro. XML tik suteikia duomenims struktūrą.

Tai tiesiog informacija sukelta į žymas. Kažkas turi parašyti specialią programą, kad tuos duomenis būtų galima siųsti, gauti ir atvaizduoti.

Page 5: e X tensible  M arkup  L anguage (XML)

XML tinklalapių kūrime

XML supaprastina dalinimąsi duomenimis XML supaprastina duomenų perkėlimą XML supaprastina platformos pakeitimą XML padaro duomenis prieinamesniais XML naudojama naujiems interneto

standartams:– WAP ir WML kalbos mobiliems įrenginiams– RSS ir Atom naujienų srautai

Page 6: e X tensible  M arkup  L anguage (XML)

Pagrindinės XML dokumento dalys

Elementai: <hello>

Atributai: <item id=“33905”>

“Entities”: &lt; (<)

Kita-– CData sekcijos– Apdorojimo instrukcijos

Page 7: e X tensible  M arkup  L anguage (XML)

Pavyzdys

Page 8: e X tensible  M arkup  L anguage (XML)

Pagrindinės taisyklės

XML svarbu didžiosios ir mažosios raidės Visos pradėtos žymos turi būti užbaigtos Elementai negali ‘kirstis’. XML deklaracija yra dokumento pradžioje Kiekvienas dokumentas turi turėti šakninį elementą Atributų reikšmės privalo būti kabutėse Tam tikri simboliai yra rezervuoti XLM kalbai Tarpai ir “Enter” paspaudimai XML yra svarbūs

Page 9: e X tensible  M arkup  L anguage (XML)

Pagrindinės klaidos

Nenaudoti tarpų elementų pavadinimuose Elementų pavadinimai negali prasidėti

skaitmenimi, bet toliau juose gali būti skaitmenys

Galima naudoti tik taškus, kablelius ir brūkšnelius

Page 10: e X tensible  M arkup  L anguage (XML)

XML entities

Page 11: e X tensible  M arkup  L anguage (XML)

Užduotis

Sukurti XML dokumentą, kuriame saugoma knyga.

• Pavadinimas, autorius, metai, leidykla ir pan• Knygos tekstas, padalintas į dalis, skyrius ir

pastraipas.

Page 12: e X tensible  M arkup  L anguage (XML)

XML ‘medis’

Page 13: e X tensible  M arkup  L anguage (XML)

XML medis (2)

Page 14: e X tensible  M arkup  L anguage (XML)

XML dokumentų vadinimo taisyklės

Vardai negali prasidėti skaitmeniu ar skyrybos zenklu

Vardai negali prasidėti ‘xml’ (arba ‘XML’, arba ‘Xml’ ir pan.)

Varduose negali būti tarpų

Page 15: e X tensible  M arkup  L anguage (XML)

XML vardinimo patarimai

Pavadinimai turi būti aiškus. Žodžius varde atskirkite brūkšneliu apačioje: <first_name>, <last_name>.

Vardai turi būti trumpi ir paprasti: <book_title>, o ne: <the_title_of_the_book>.

Vengti "-" simbolio. Pavadinus elementą "first-name" dalis programų gali pagalvoti, kad bandote iš ‘first’ atimti ‘name’ .

Vengti "." simbolio. Pavadinus elementą "first.name," dalis programų gali pagalvoti, kad "name" yra objekto "first“ savybė.

Page 16: e X tensible  M arkup  L anguage (XML)

XML XML vardinimo patarimai (2)

Vengti ":" characters. Jie skirti vadinamosioms “vardų zonoms” (namespaces).

XML dokumentai neretai turi atitinkamą duomenų bazę. Verta naudoti tuos pačius laukų pavadinimus.

Ne lotyniškis abėcėlės raidės ąčęėįšųūž yra visiškai tinkamos XML standarte, bet gali iškilti problemų, nes ne visos programos jas supras.

Page 17: e X tensible  M arkup  L anguage (XML)

Elementas ar atributas?

Page 18: e X tensible  M arkup  L anguage (XML)

Elementas ar atributas? (2)

Nėra griežtų taisyklių, kada naudoti elementą, kada atributą. Praktikoje atributai labai praverčia HTML kalboje, bet XML jų vertėtų vengti – geriau naudoti elementus.

Page 19: e X tensible  M arkup  L anguage (XML)

Elementas ar atributas? (3)

Atributų sukeliamos problemos:– Atributuose negalima saugoti keleto reikšmių

– Atributuose negalima išsaugoti kitų struktūrų

– Atributus sunkiau išplėsti, plečiant dokumentą.

Atributus sunkiau perskaityti ir prižiūrėti, todėl duomenims saugoti reikėtų naudoti elementus. Atributus naudokite tik nereikšmingai informacijai.

Page 20: e X tensible  M arkup  L anguage (XML)

Elementas ar atributas? (4)

Page 21: e X tensible  M arkup  L anguage (XML)

XML atributai - meta duomenims

Metaduomenys (duomenys apie duomenis) gali būti saugomi atributuose. Patys duomenys – elementuose.

Page 22: e X tensible  M arkup  L anguage (XML)

“Gerai suformuotas” XML

"Gerai suformuotas" XML dokumentas – teisingas pagal XML sintaksę:Turi šakninį elementą

Žymos yra užbaigtos

Žymose teisingai naudojamos didžiosios ir mažosios raidės

Elementai nesikerta

Atributų reikšmės - kabutėse

Page 23: e X tensible  M arkup  L anguage (XML)

“Validus” XML

"Validus” XML dokumentas yra “gerai suformuotas" XML dokumentas, kuris tuo pačiu atitinka ir Document Type Definition (DTD) nustatytas taisykles

XML dokumente DTD nurodymui yra naudojama DOCTYPE deklaracija.

Page 24: e X tensible  M arkup  L anguage (XML)

“Validus” XML

Page 25: e X tensible  M arkup  L anguage (XML)

XML DTD

Document Type Definition (DTD) apibūdina, kokie “statybiniai blokai” (elementai, atributai ir pan.) yra legalūs konkrečiame XML dokumente.

DTD gali būti pateikiamas tiek pačiame XML dokumente, tiek kaip nuoroda į kitą failą.

Page 26: e X tensible  M arkup  L anguage (XML)

Vidinio DTD pavyzdys

Page 27: e X tensible  M arkup  L anguage (XML)

Vidinio DTD pavyzdys

Aukščiau parodytop DTD interpretacija:!DOCTYPE note parodo, kad ‘note yra šakninis dokumento

elementas’!ELEMENT note parodo, kad note elemente yra keturi kiti

elementai: "to,from,heading,body" !ELEMENT to parodo kad ‘to’ elementas yra "#PCDATA" tipo!ELEMENT from d parodo kad ‘from’ elementas yra

"#PCDATA" tipo !ELEMENT heading parodo kad ‘heading’ elementas yra

"#PCDATA" tipo !ELEMENT body parodo kad ‘body’ elementas yra

"#PCDATA" tipo

Page 28: e X tensible  M arkup  L anguage (XML)

Išorinio DTD pavyzdys

DTD failas:

Page 29: e X tensible  M arkup  L anguage (XML)

Kodėl reikalingas DTD?

Su DTD, XML dokumentas kartu nešiojasi savo specifikaciją.

Su DTD, nepriklausomos žmonių grupės gali turėti bendrą duomenų mainų formatą.

Jūsų programa DTD pagalba gali patikrinti ar jūsų gauta informacija yra teisingai suformuota.

Page 30: e X tensible  M arkup  L anguage (XML)

XML “Statybiniai blokai”

Elementai

Atributai

Entities &gt; &lt; etc.

PCDATA Duomenys viduje bus interpretuojami kaip XML.

CDATA Duomenys viduje nebus interpretuojami – tiesiog tekstas.

Page 31: e X tensible  M arkup  L anguage (XML)

Elementų deklaravimas

<!ELEMENT br EMPTY>tuščias

<!ELEMENT from (#PCDATA)> PCDATA

<!ELEMENT note ANY> Bet koks turinys

<!ELEMENT note (to,from,heading,body)> Child elementų sąrašas (eilės tvarka – svarbi)

Page 32: e X tensible  M arkup  L anguage (XML)

Elementų deklaravimas. Kiekis

<!ELEMENT note (message)> Vienas

<!ELEMENT note (message+)> Bent vienas

<!ELEMENT note (message*)> Nulis ar daugiau

Page 33: e X tensible  M arkup  L anguage (XML)

Declaring elements

<!ELEMENT note (to,from,header,(message|body))> Ar/arba

<!ELEMENT note (#PCDATA|to|from|header|message)*> Mišrus turinys

Page 34: e X tensible  M arkup  L anguage (XML)

Pratimas

Sukurti XML dokumentą kuriame bus saugomas studentų sąrašas ir atitinkamą DTD.