XML - part 1 Jæja ef við lítum nú á myndina til hægri sjáum við ekki svo góðar tölur. 10% Kunna XML og XML, 8% kunna XML og XSL og 82% kunna hvorugt.

Er þá bara ekki málið að breyta þessu og redda að minnsta kosti XML hlutanum. Þar sem þetta er frekar stórt viðfangsefni þrátt fyrir það að ég taki aðeins XML-ið fyrir þá hef ég ákveðið að skipta þessu upp í tvær greinar og þegar báðar greinar eru komnar inn þá kemur aftur upp XML könnun og það verður gaman að sjá hvort þetta sé að gagnast einhverjum.

Flestir hafa nú heyrt um XML mark-up mál, rétt eins og HTML. Þó bæði séu markup-mál er þau frekar ólík og gegna ólíku hlutverki.

HTML : Lýsir útliti
XML : Lýsir innihaldi

HTML : Hefur ákveðim tög (e. tag)
XML : Hefur enginn ákveðin tög.

Og út af þessu er XML svo hrikalega sterkt. Ég man þegar ég fór fyrst að kynna mér XML fyrir um það bil 2 árum. Ég las grein á webmonkey sem ég skildi hvorki upp né niður í og á endanum ákvað þá bara að hætta við. Ég sé eftir því enn þá í dag, því á þá væri ég XML snillingur núna. Sem myndi gera mig verðmætari í bransanum.

Ástæðan fyrir því að ég hætti var að ég skildi ekki hvað þetta gerði: Ég átti að geta gert mín eigin tög. En það sem ég skildi ekki var að í hvernig í andskotanum átti browserinn að vita hvernig þetta liti út og það dömur mínar og herrar er snildin. Hann hefur ekki hugmynd um það.

Með XML er verið að aðgreina innihald frá útliti. Eitthvað sem átti löngu að vera búið að og var “reynt” með CSS. XML lýsir aðeins innihaldi vefsíðunnar, síðan þarftu að nota önnur mál svo sem XSL, Xlink, Xpointer, ASP og DOM til þess að vinna með þetta og gefa þessu útlit.

Núna ætla ég bara að tala um XML-ið sjálft. Því að það eru jú til bækur sem fjalla um hvert og eitt efni sem ég taldi þarna uppi, bara ein bók um að nota XSL með XML, önnur um XML og DOM og svo framvegis og framvegis.

Ég geri ráð fyrir því að allir hafi basic HTML kunnáttu þekki grunn hugtök svo sem element, attribute og value.

Ég ætla að nota þetta klassíska memo dæmi sem er útum allt á netinu. Þar sem XML skjalið okkar er lítið memo.

Í upphafi hvers skjals verður að vera document prolog (i. formáli skjals). Þar sem við lýsum því yfir að við séum að skrifa XML skjal. Þessu er ekki lokað.

[?xml version="1.0?] - Eins og staðan er núna er bara til version 1.0 af XML

Takið eftir spurningarmerkjunum(?) þau eiga til að gleymast þegar maður er að byrja á xml-inu.

Nú getum við gert hvaða tög sem við viljum, eða svona næstum því. Með því að skella inn
encoding í prolog-ið getum við skilgreint hvaða "dulmál" við ætlum að nota. Ef við notum
ISO-8859-1 getum við notað íslenska stafi í XML-inu sem er nauðsyn.

Flestir ættu að þekkja þetta úr HTML taginu [meta] þar sem charset (Character Set) er sett á það sama.

Jæja þá byrjum við

[?xml version="1.0" encoding="ISO-8859-1"?]
[memo]



[memo] er kallað root-element eða document element. Það má aðeins vera eitt document element í skjalinu. Þessa reglu má ekki brjóta. Ef það eru fleiri document element þá birtist xml skjalið ekki og það er þannig með xml-ið. Ef þú ferð ekki eftir W3C reglum þá birtist XML-ið einfaldlega ekki. Þannig að það er ekki hægt að svindla. Þarna er hægt að koma inn á góðan kost XML-sins. Ef þú opnar XML skjal sem er ekki rétt í IE 5.0+ þá færðu upp villumeldingu sem segir þér hvað sé að.

Nú þurfum við að vita hvað er í þessu memo, til hvers það er og hver sendi það. Þá skellum við því bara inn.


[?xml version="1.0" encoding="ISO-8859-1"?]
[memo]
[frá]ask
[til]Allra hugaðra manna
[innihald]
Vonandi á þessi grein eftir að hjálpa eitthvað í framtíðinni

kv.
ask



Þetta var dáltíð mikið í einu skrefi, fariði vel yfir kóðan og lesið svo áfram

Takið eftir að útaf því að við skilgreindum encoding getum við notað íslenska stafi bæði í tagi og innihaldi tags. Frekar flott og þægilegt.

Það sem við erum nú komnir með er Well-Formed XML. En XML gætur bæði verið Well-Formed og Valid.

XML skjal er well-formed ef það fer eftir basic markup-reglum svo sem að nesta rétt, allt í lowercase, loka öllum tögum og svo framvegis.

En nú getið þið spurt ykkur hvernig veit browserinn að þetta er rétt. Það er að segja að
undir [memo] eigi að koma frá, til og innihald. Málið er að hann veit það ekki. Hann birtir það bara útaf því að að er rétt skrifað. Þessvegna er þetta skjal ekki valid.

Til þess að hafa skjal valid þurfum við að hafa DTD (Document Type Definition). Eins og HTML og XHTML þar sem skilgreint er að undir [table] verði að koma [tr] en ekki