8 paskaita - MM-9

Download Report

Transcript 8 paskaita - MM-9

eXtensible Markup Language (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
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?


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.
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
Pagrindinės XML dokumento dalys

Elementai: <hello>

Atributai: <item id=“33905”>

“Entities”: &lt; (<)

Kita–
–
CData sekcijos
Apdorojimo instrukcijos
Pavyzdys
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
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
XML entities
Užduotis
Sukurti XML dokumentą, kuriame saugoma
knyga.
• Pavadinimas, autorius, metai, leidykla ir pan
• Knygos tekstas, padalintas į dalis, skyrius ir
pastraipas.
XML ‘medis’
XML medis (2)
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ų
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ė.
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.
Elementas ar atributas?
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.
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.
Elementas ar atributas? (4)
XML atributai - meta duomenims
Metaduomenys (duomenys apie duomenis) gali
būti saugomi atributuose. Patys duomenys –
elementuose.
“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
“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.
“Validus” 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ą.
Vidinio DTD pavyzdys
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
Išorinio DTD pavyzdys
DTD failas:
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.
XML “Statybiniai blokai”
Elementai
Atributai
Entities
&gt; &lt; etc.
PCDATA
Duomenys viduje bus interpretuojami kaip XML.
CDATA
Duomenys viduje nebus interpretuojami – tiesiog tekstas.
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)
Elementų deklaravimas. Kiekis
<!ELEMENT note (message)>
Vienas
<!ELEMENT note (message+)>
Bent vienas
<!ELEMENT note (message*)>
Nulis ar daugiau
Declaring elements
<!ELEMENT note
(to,from,header,(message|body))>
Ar/arba
<!ELEMENT note
(#PCDATA|to|from|header|message)*>
Mišrus turinys
Pratimas
Sukurti XML dokumentą kuriame bus
saugomas studentų sąrašas ir atitinkamą
DTD.