Sólin Sólin Rís 05:15 • sest 21:38 í Reykjavík
Tunglið Tunglið Rís 01:18 • Sest 04:30 í Reykjavík
Flóð Flóð Árdegis: 07:36 • Síðdegis: 19:53 í Reykjavík
Fjaran Fjara Árdegis: 01:39 • Síðdegis: 13:42 í Reykjavík

Hvað er XML?

Daði Ingólfsson

Skammstöfunin XML stendur fyrir ‘eXtensible Markup Language’ sem er sveigjanlegur staðall til að lýsa gögnum. Staðallinn samanstendur af örfáum reglum varðandi uppbyggingu skjala með aðstoð merkja (til dæmis <þetta_er_merki>), og er sveigjanlegur þar sem notandinn getur á einfaldan hátt búið til sínar eigin skilgreiningar. Einn helsti tilgangur XML er að aðskilja útlit og innihald gagna á stafrænu formi – sérstaklega á vefnum, en einnig í öðrum geirum stafrænnar gagnavinnslu.

Vafrar eins og Internet Explorer, Netscape, Opera og Mozilla Firefox taka við gögnum á HTML-sniði og raða þeim upp eftir fyrirskipunum HTML-skjalsins. Þannig þýðir til dæmis < p > Óli á ól < /p > á HTML-sniði að setningin "Óli á ól" sé efnisgrein með greinaskilum á undan og eftir (e. paragraph - þaðan kemur péið) og hún er sýnd sem slík í vafranum. (Athugið þó að bilunum á undan og eftir p-inu hefur verið bætt við til að skipunin hafi ekki áhrif á sjálfan textann í svarinu, og hið sama á við um aðrar skipanir hér á eftir). Táknið < p > þýðir "efnisgrein hefst," og < /p > að efnisgrein endi og það sem stendur þar á milli er innihald efnisgreinarinnar. Með sama hætti þýðir til dæmis < img src="mynd.gif" > að mynd með nafnið 'mynd' á 'gif'-sniði eigi að birtast á ákveðnum stað í vafranum ('img' stendur fyrir mynd (e. image) og 'src' stendur fyrir upptök (e. source)).

HTML er til á XML-sniðinu og þá er talað um XHTML en munurinn er nánast enginn, og skipanirnar hér að framan eru nær eins í báðum (eini munurinn væri að myndin yrði skilgreind svona: < img src="mynd.gif"/ > – það munar skástrikinu í lok oddsvigans). XHTML er fullgilt sniðmál í öllum betri vöfrum og fylgir XML-staðlinum út í ystu æsar. Vandamálið er hins vegar ennþá að innihald og útlit er ekki aðgreint, það er að segja til dæmis að < p >-merkið segir bæði til um hvaða gögn séu á ferðinni og hvernig þau eiga að líta út á skjá viðtakandans.

Þetta virðist ómerkilegt vandamál við fyrstu sýn, en þegar betur er að gáð vandast málið, sérstaklega þegar tæknilausnir í farsímum og lófatölvum eru teknar með í reikninginn. Sumir farsímar geta til dæmis tekið á móti gögnum á WAP-sniði. WAP (e. Wireless Application Protocol) er einnig á XML-sniði, en það er í grundvallaratriðum öðruvísi uppbyggt en XHTML. Upplýsingaþjónusta sem bæði á að að geta skilað gögnum til vafra og síma þarf í raun tvær útgáfur af gögnunum: Eina á HTML-sniði og aðra á WAP-sniði. Þetta þýðir að þegar breyta á einhverju í gögnunum þarf að gera breytinguna á tveimur stöðum. Það er afar óheppilegt, sérstaklega ef enn fleiri tæknilausnir og staðlar eru notaðir. Hér getur XML leyst málið.

Tökum einfalt dæmi af gagnasafni með uppskriftum. Við getum sjálf skilgreint hvað uppskrift er með hjálp XML. Hún gæti til dæmis litið svona út:



Ímyndum okkur að til séu þúsundir slíkra uppskrifta, það er að segja texta með sömu merkjum í oddsvigum. Þær geta verið bæði flóknar og einfaldar en eru aðgengilegar fyrir bæði vafra og WAP-síma. Þegar WAP-símnotandi biður um uppskriftina þýðist hún yfir á WAP með aðstoð XSLT-þýðara, en þegar vafranotandi biður um hana þýðist hún yfir á XHTML á sama hátt. Þannig gæti notandi með WAP-síma fundið uppskrift í símanum sínum, en valið, vegna smæðar skjásins, að fá einungis innihaldslýsinguna til að geta keypt inn rétt hráefni. Þegar hann væri kominn heim gæti hann síðan fengið leiðbeiningar um matreiðsluna á Netinu. Hann getur valið að leita einungis að réttum með fituinnihaldi innan ákveðinna marka, eða valið rétti sem hafa ákveðið innihald, til dæmis rétti sem innihalda kornflögur.

Þetta er að sjálfsögðu afar einfaldað dæmi, enda er erfitt að skýra alla virkni XML í stuttu máli. XML, sem er hlutmengi SGML-staðalsins, er nokkurra ára gamalt fyrirbæri, en hefur náð ótrúlegum vinsældum á stuttum tíma. Nú finnast XML-staðlar fyrir allt milli himins og jarðar; til að mynda fyrir vektorgrafík (SVG), hljóð (VoiceML), stærðfræði (MathML), vélmenni (RoboML), íþróttir (SportsML) og svo mætti lengi telja. Hægt er að fá góða yfirsýn yfir XML-staðla hér.

XML hefur þróast mikið á undanförnum árum og nú er til heil fjölskylda tæknilausna þar sem helst má nefna: XSL, XLink, XMLQuery, XMLSchema, RDF, XPath og Xpointer. Áhugasamir geta kynnt sér þessar tæknilausnir á www.w3.org.

Frekara lesefni af Vísindavefnum:

Höfundur

Daði Ingólfsson

tölvunarfræðingur

Útgáfudagur

28.11.2007

Spyrjandi

Sigrún Árnadóttir

Tilvísun

Daði Ingólfsson. „Hvað er XML?“ Vísindavefurinn, 28. nóvember 2007. Sótt 26. apríl 2024. http://visindavefur.is/svar.php?id=6930.

Daði Ingólfsson. (2007, 28. nóvember). Hvað er XML? Vísindavefurinn. Sótt af http://visindavefur.is/svar.php?id=6930

Daði Ingólfsson. „Hvað er XML?“ Vísindavefurinn. 28. nóv. 2007. Vefsíða. 26. apr. 2024. <http://visindavefur.is/svar.php?id=6930>.

Chicago | APA | MLA

Spyrja

Sendu inn spurningu LeiðbeiningarTil baka

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Senda grein til vinar

=

Hvað er XML?
Skammstöfunin XML stendur fyrir ‘eXtensible Markup Language’ sem er sveigjanlegur staðall til að lýsa gögnum. Staðallinn samanstendur af örfáum reglum varðandi uppbyggingu skjala með aðstoð merkja (til dæmis <þetta_er_merki>), og er sveigjanlegur þar sem notandinn getur á einfaldan hátt búið til sínar eigin skilgreiningar. Einn helsti tilgangur XML er að aðskilja útlit og innihald gagna á stafrænu formi – sérstaklega á vefnum, en einnig í öðrum geirum stafrænnar gagnavinnslu.

Vafrar eins og Internet Explorer, Netscape, Opera og Mozilla Firefox taka við gögnum á HTML-sniði og raða þeim upp eftir fyrirskipunum HTML-skjalsins. Þannig þýðir til dæmis < p > Óli á ól < /p > á HTML-sniði að setningin "Óli á ól" sé efnisgrein með greinaskilum á undan og eftir (e. paragraph - þaðan kemur péið) og hún er sýnd sem slík í vafranum. (Athugið þó að bilunum á undan og eftir p-inu hefur verið bætt við til að skipunin hafi ekki áhrif á sjálfan textann í svarinu, og hið sama á við um aðrar skipanir hér á eftir). Táknið < p > þýðir "efnisgrein hefst," og < /p > að efnisgrein endi og það sem stendur þar á milli er innihald efnisgreinarinnar. Með sama hætti þýðir til dæmis < img src="mynd.gif" > að mynd með nafnið 'mynd' á 'gif'-sniði eigi að birtast á ákveðnum stað í vafranum ('img' stendur fyrir mynd (e. image) og 'src' stendur fyrir upptök (e. source)).

HTML er til á XML-sniðinu og þá er talað um XHTML en munurinn er nánast enginn, og skipanirnar hér að framan eru nær eins í báðum (eini munurinn væri að myndin yrði skilgreind svona: < img src="mynd.gif"/ > – það munar skástrikinu í lok oddsvigans). XHTML er fullgilt sniðmál í öllum betri vöfrum og fylgir XML-staðlinum út í ystu æsar. Vandamálið er hins vegar ennþá að innihald og útlit er ekki aðgreint, það er að segja til dæmis að < p >-merkið segir bæði til um hvaða gögn séu á ferðinni og hvernig þau eiga að líta út á skjá viðtakandans.

Þetta virðist ómerkilegt vandamál við fyrstu sýn, en þegar betur er að gáð vandast málið, sérstaklega þegar tæknilausnir í farsímum og lófatölvum eru teknar með í reikninginn. Sumir farsímar geta til dæmis tekið á móti gögnum á WAP-sniði. WAP (e. Wireless Application Protocol) er einnig á XML-sniði, en það er í grundvallaratriðum öðruvísi uppbyggt en XHTML. Upplýsingaþjónusta sem bæði á að að geta skilað gögnum til vafra og síma þarf í raun tvær útgáfur af gögnunum: Eina á HTML-sniði og aðra á WAP-sniði. Þetta þýðir að þegar breyta á einhverju í gögnunum þarf að gera breytinguna á tveimur stöðum. Það er afar óheppilegt, sérstaklega ef enn fleiri tæknilausnir og staðlar eru notaðir. Hér getur XML leyst málið.

Tökum einfalt dæmi af gagnasafni með uppskriftum. Við getum sjálf skilgreint hvað uppskrift er með hjálp XML. Hún gæti til dæmis litið svona út:



Ímyndum okkur að til séu þúsundir slíkra uppskrifta, það er að segja texta með sömu merkjum í oddsvigum. Þær geta verið bæði flóknar og einfaldar en eru aðgengilegar fyrir bæði vafra og WAP-síma. Þegar WAP-símnotandi biður um uppskriftina þýðist hún yfir á WAP með aðstoð XSLT-þýðara, en þegar vafranotandi biður um hana þýðist hún yfir á XHTML á sama hátt. Þannig gæti notandi með WAP-síma fundið uppskrift í símanum sínum, en valið, vegna smæðar skjásins, að fá einungis innihaldslýsinguna til að geta keypt inn rétt hráefni. Þegar hann væri kominn heim gæti hann síðan fengið leiðbeiningar um matreiðsluna á Netinu. Hann getur valið að leita einungis að réttum með fituinnihaldi innan ákveðinna marka, eða valið rétti sem hafa ákveðið innihald, til dæmis rétti sem innihalda kornflögur.

Þetta er að sjálfsögðu afar einfaldað dæmi, enda er erfitt að skýra alla virkni XML í stuttu máli. XML, sem er hlutmengi SGML-staðalsins, er nokkurra ára gamalt fyrirbæri, en hefur náð ótrúlegum vinsældum á stuttum tíma. Nú finnast XML-staðlar fyrir allt milli himins og jarðar; til að mynda fyrir vektorgrafík (SVG), hljóð (VoiceML), stærðfræði (MathML), vélmenni (RoboML), íþróttir (SportsML) og svo mætti lengi telja. Hægt er að fá góða yfirsýn yfir XML-staðla hér.

XML hefur þróast mikið á undanförnum árum og nú er til heil fjölskylda tæknilausna þar sem helst má nefna: XSL, XLink, XMLQuery, XMLSchema, RDF, XPath og Xpointer. Áhugasamir geta kynnt sér þessar tæknilausnir á www.w3.org.

Frekara lesefni af Vísindavefnum:...