Hvad er XML og hvad kan man bruge det til?





Hvad er XML?

XML står for Extended Markup Language. Ligesom HTML er det det markup language, dvs. en måde at formatere teksten på. XML er ikke et alternativ til HTML, men en måde at tilføre HTML nogle flere egenskaber. Hvor HTML er lavet til at strukturere tekst, er XML lavet til at strukturere data. Dette er en liste over de vigtigste forskelle:


HTMLXML
Strukturerer tekst.Strukturerer data.
Har foruddefinerede tags, f.eks. <B> og <DIV>.Har ikke foruddefinerede tags. Disse skal defineres af programmøren.
Tags er ikke case sensitiv. <DIV> er det samme som <div> eller <Div>.Tags er case sensitiv. <TEST> og <test> opfattes som to forskellige tags.
Et dokument skal have defineret DOCTYPE, HTML, HEAD og BODY for at fungere.Et dokument skal have defineret DOCTYPE for at fungere.


Man kan formatere indholdet af en XML-fil med et style sheet, så man får noget der ligner en hjemmeside. Til news feeds fungerer det godt, men til en almindelig hjemmeside er det ikke en god løsning. Her har man mere glæde af at kombinere HTML og XML. Der findes et kombinationssprog der hedder XHTML, som skulle have været HTML's afløser, men det er ikke ret udbredt. Antageligt fordi man med HTML 5 har rettet op på de svagheder, som XHTML skulle løse.

De fleste har ikke noget forhold til begrebet XML-databaser, og databasetypen lever et ret anonymt liv, men den er i virkeligheden meget udbredt. Et Word-dokument er i virkeligheden en række XML-databaser. Hvis man prøver at omdøbe et Word-dokument fra .doc eller .docx til .zip, altså som om det er en arkivfil lavet med programmet WinZip, så kan man nu åbne dokumentet som en zip-fil og se de skjulte XML-filer der gør, at Word-dokumentet ved hvor man skal have fed skrift, kursiv, billeder osv.


Hvorfor bruge XML?

I forhold til hjemmesider kan det være nødvendigt med databaser til forskellige formål. Opslag i ordbøger giver en intuitiv fornemmelse af at slå op i en database, men f.eks. diskussionsfora og WordPress til hjemmesider er også databaser. Her er det blot opslag der kører i baggrunden, som brugeren ikke ser.

I forhold til at lave hjemmesider, har XML tre fordele:
  1. Det er let at lave små til mellemstore databaser med et fleksibelt design, der foretager hurtige opslag på ens hjemmeside.
  2. Databasen ligger sammen med resten af hjemmesiden og kan tilgås lokalt, f.eks. på server-drev eller en USB-nøgle. Det er ikke nødvendigt med separate og dedikerede servere som man kender fra f.eks. SQL-databaser
  3. Databaserne er uafhængige af tredjeparts-programmer som f.eks. Access, MySQL eller Lotus Notes, men tilgås med JavaScript med en hver type browser
I forhold til valg af webhotel giver 2 og 3 nogle frihedsgrader, fordi man ikke skal bekymre sig om hvorvidt udbyderen understøtter det format man anvender eller ej, og skifter man udbyder skal man ikke til at gemme siderne et sted og SQL-databaserne et andet sted og uploade flere forskellige steder osv.

Der er selvfølgelig også nogle ulemper ved XML-databaser, f.eks.:
  1. Man kan ikke lave noget hvor man læser og skriver i databasen som man gør med SQL-databaser når man laver diskussionsgrupper og blogs hvor man kan kommentere på indlæg osv.
  2. Meget store databaser bliver langsomme ved upload af siden. Dette kan man dog omgå ved at splitte op i flere mindre databaser
XML er således ikke en universalløsning, men et fabelagtigt værktøj til visse typer opgaver.