XML gir smartere data

Under sitt foredrag på Internet World '98 fredag, fortalte Lars Marius Garshol, informasjonsarkitekt ved STEP Infotek, om noen av fordelene ved XML, spesielt når det gjelder bruken av såkalte smarte data.

Smarte data er ifølge Garshol data som forteller hva de er i stedet for hvordan de skal se ut. Eksempler på ikke-smarte data er data i HTML-filer, Word-dokumenter, PDF-filer, bilder og mye annet. I disse dokumentene blir det kun beskrevet hvordan innholdet skal se ut, ikke noe om hva slags data innholdet egentlig består av.

Et eksempel på smarte data er gjerne innholdet i en database, for eksempel et adresseregister. Her er det mulig for programvaren i skille ut data som har felles egenskaper. Det kan for eksempel være data som representerer telefonnummer, fornavn eller arbeidsgiver. Man kan derfor blant annet sortere innholdet i en tabell etter dataene i de forskjellige kolonnene.

Dette er ikke mulig i HTML eller i Java, for den del. Skal man ha sortert en liste, må serveren gjøre det, for så å levere listen på nytt. De smarte dataene finnes da bare i serveren. Dette er svært belastende for serveren, som gjerne har nok av andre ting å gjøre. Nettleseren fungerer egentlig bare som en fancy terminal for å vise dumme data.

Andre metoder for å skape smarte data, er å bruke SGML (Standard Generalized Markup Language) , enkelte typer TeX, samt XML (eXtensible Markup Language). Alle disse metodene er egnet til å gi dataene den strukturen de trenger for å kunne regnes som "smarte".

Taggene i HTML sier bare hvordan dataene skal presenteres. I XML kan man definere sine egne tagger, som man kan bruke til å kategorisere data. Ved hjelp av DOM (Document Object Model), som er en standardisert utgave av dynamisk HTML med litt ekstra, kan XML lede de intelligente dataene helt fram til nettleseren, slik at man kan jobbe med disse dataene ved hjelp av Java eller JavaScript. DOM er ikke ferdig standardisert ennå.

- XML er egentlig et språk for å lage et HTML-liknende språk. Det lar brukeren definere taggene og hvor de skal stå, forteller Garshol.

Definisjonen skrives i en egen tekstfil, kalt DTD (Document Type Definition).

- Man kan si at HTML er ett språk med én DTD, mens XML er mange språk med mange DTD-er, sier Garshol.

Man kan så lage forskjellige DTD-er for forskjellige formål, for eksempel en DTD for brev, en DTD for artikler og en DTD for databaser.

Spørsmålet mange kanskje vil stille seg, er hvordan nettleserne kan vise XML når man kan dikte opp sine egne tagger. Svaret på dette er at informasjon om layout legges i egne filer som kalles stilsett. Et stilsett består av regler for hvordan tagger i dokumentet skal presenteres.

I dag finnes det en type stilsett som kalles CSS (Cascading Style Sheets) for HTML. Netscape Communicator 5.0 vil ha støtte for både CSS og XML. Ifølge Garshol er stilsett av CSS-typen temmelig enkle og med en del mangler.

Det vil derfor komme en ny type stilsett som kalles XSL (eXtensible Style Language). Dette er ikke ferdig definert ennå, men vil være mye kraftigere enn CSS.

XML vil også ha en langt mer avansert lenking enn dagens HTML. Siden man lager sine egne tagger, kan ikke nettleseren uten videre vite hva som er lenker. Ifølge Garshol er XLink en standard som løser dette, mens XPointers beskriver adressering inn i andre dokumenter.

Garshol mener at XML er rimelig greit å programmere, men at det lett kan bli mye skriving. Løsningen er å bruke en god editor. Noen finnes allerede, og flere er på vei. Alternativet er å skrive informasjonen rett i SGML for så å konvertere til XML.

Til tross for at man har mange flere muligheter med XML enn HTML, tror ikke Garshol at HTML vil forsvinne.

- Det finnes over 100 millioner dokumenter skrevet i HTML, og flere enn 1000 applikasjoner som støtter språket. Det er derfor lite trolig at det vil forsvinne med det første. Det har heller ingen hensikt å konvertere HTML over til XML. Å bruke HTML-tagger med XML-syntaks gjør ikke dataene noe smartere.

Så til tross for at selve konverteringen fra HTML til XML er enkel, så kreves det mye mer arbeid for å gi dataene "intelligens".

Mer informasjon om XML finnes på nettstedet til STEP Infotek.

Til toppen