Du har kanskje hørt om XML (Extensible Markup Language), og du kan ha hørt mange grunner til hvorfor organisasjonen bør bruke det. Men hva er egentlig XML? Denne artikkelen beskriver det grunnleggende ved XML: hva det er, og hvordan det virker.
I denne artikkelen
En kort oversikt over merking, markering og koder
For å forstå XML hjelper det å forstå ideen ved å merke data. Personer har laget dokumenter i flere århundrer, og de har merket disse dokumentene like lenge. Lærere har for eksempel merket fortellinger fra elever hele tiden. De gir elevene beskjed om å flytte avsnitt, gjøre setninger klarere, rette feilstavede ord og så videre. Merking av et dokument er måten vi definerer strukturen på informasjonen, betydningen av informasjonen og hvordan informasjonen i dokumentet ser ut visuelt. Hvis du noen gang har brukt funksjonen Spor endringer i Microsoft Office Word, har du brukt en datamaskinmessig form for merking.
I databehandling har "merking" også blitt til "markering". Markering er prosessen ved å bruke koder til å definere strukturen, det visuelle utseendet og – når det gjelder XML – betydningen av alle typer data.
HTML-koden for denne artikkelen er et godt eksempel på datamaskinmarkering satt i arbeid. Hvis du blar gjennom den (høyreklikk siden i Microsoft Internet Explorer, og klikk deretter Vis kilde), ser du en blanding av lesbar tekst og HTML-koder (Hypertext Markup Language), for eksempel <p> og <h2>. Koder i HTML- og XML-dokumenter er enkle å gjenkjenne ettersom de er omgitt av vinkelparenteser. I kildekoden for denne artikkelen gjør HTML-kodene mange ulike jobber, for eksempel definere start og slutt for hvert avsnitt (<p> ... </p>) og merke plasseringen av hvert bilde.
Til toppen av siden
Så hva gjør det til XML?
HTML- og XML-dokumenter inneholder data omgitt av koder, men her slutter også likhetene mellom de to språkene. I HTML definerer kodene hvordan dataene ser ut og føles: overskriftene kommer her, avsnittet starter der og så videre. I XML definerer kodene strukturen og betydningen av dataene: hva dataene er.
Når du beskriver strukturen og betydningen av dataene, gjør du det mulig å bruke dataene på nytt på mange ulike måter. Hvis du for eksempel har en blokk med salgsdata og hvert element i blokken er klart identifisert, kan du laste inn bare elementene du trenger i en salgsrapport, og laste inn andre elementer i en regnskapsdatabase. Sagt på en annen måte: Du kan bruke ett system til å generere dataene og merke dem med XML-koder, og deretter kan du behandle disse dataene i ethvert antall andre systemer, uavhengig av maskinvareplattform eller operativsystem. Denne allsidigheten har gjort at XML er en av de mest populære teknologiene for utveksling av data.
Legg merke til følgende når du fortsetter:
- Du kan ikke bruke HTML i stedet for XML. Du kan imidlertid bryte XML-data i HTML-koder og vise dem på en webside.
- HTML er begrenset til et forhåndsdefinert kodesett som alle brukerne deler.
- XML gjør at du kan opprette enhver kode du trenger til å beskrive dataene og strukturen for disse dataene. La oss for eksempel si at du trenger å lagre og dele informasjon om kjæledyr. Du kan opprette følgende XML-kode:
<?xml version="1.0"?>
<KATT>
<NAVN>Izzy</NAVN>
<RASE>Siameser</RASE>
<ALDER>6</ALDER>
<STERILISERT>Ja</STERILISERT>
<AVKLOET>Nei</AVKLOET>
<ØREMERKE>Izz138bod</ØREMERKE>
<EIER>Colin Wilcox</OWNER>
</KATT>
Du kan se at XML-koder gjør det mulig å vite nøyaktig hvilken type data du ser på. Du vet for eksempel at dette er data om en katt, og du kan enkelt finne kattens navn, alder og så videre. Muligheten til å opprette koder som definerer nær sagt enhver datastruktur, er det som gjør XML omfattende.
Men du må ikke forveksle kodene i dette kodeeksemplet med koder i en HTML-fil. Hvis du for eksempel limer inn denne XML-strukturen i en HTML-fil og viser filen i webleseren, vil resultatet se omtrent slik ut:
Izzy Siameser 6 Ja Nei Izz138bod Colin Wilcox
Webleseren ignorerer XML-kodene og viser bare dataene.
Til toppen av siden
Et ord om velutformede data
Du hører kanskje noen fra IT-avdelingen nevne noe om "velutformet" XML. En velutformet XML-fil overholder et sett med svært strenge regler som styrer XML. Hvis en fil ikke overholder disse reglene, vil ikke XML virke. I det forrige kodeeksemplet har for eksempel hver startkode en sluttkode, så eksemplet overholder én av reglene for å være velutformet. Hvis du fjerner en kode og prøver å åpne denne filen i ett av Office-programmene, vises en feilmelding, og du vil ikke kunne bruke filen i programmet.
Du trenger ikke nødvendigvis kjenne til reglene for å opprette velutformet XML (selv om de er enkle å forstå), men du må huske at du kan dele XML-data mellom programmer og systemer bare hvis disse dataene er velutformede. Hvis du ikke kan åpne en XML-fil, er det mulig at denne filen ikke er velutformet.
XML er også plattformuavhengig, som betyr at alle programmer som er laget for å bruke XML, kan lese og behandle XML-dataene dine, uavhengig av maskinvare eller operativsystem. Med de rette XML-kodene kan du for eksempel bruke et program for vanlige, stasjonære datamaskiner til å åpne og arbeide med data fra en stormaskin. Uansett hvem som oppretter XML-data, kan du arbeide med de samme dataene i flere av Microsoft Office 2003- og Microsoft Office Professional 2007-programmene, inkludert Microsoft Office Access 2007, Microsoft Office Word 2007, Microsoft Office InfoPath 2007 og Microsoft Office Excel 2007. Ettersom det er så allsidig, er XML blitt en av de mest populære teknologiene for utveksling av data mellom databaser og stasjonære datamaskiner til brukere.
I tillegg til velutformede data i kodeform bruker XML-systemer vanligvis to ekstra komponenter: skjemaer og overføringer. Avsnittene nedenfor forklarer hvordan disse ekstra komponentene virker.
Til toppen av siden
En kort oversikt over skjemaer
Ikke la begrepet "skjema" skremme deg. Et skjema er bare en XML-fil som inneholder reglene for hva som kan og ikke kan eksistere i en XML-datafil. Skjemafiler er vanligvis av filtypen XSD, mens XML-datafiler er av filtypen XML.
Skjemaer gjør at programmer kan validere data. De virker som et rammeverk for å strukturere data og sørger for at de gir mening til opprettere og alle andre brukere. Hvis en bruker skriver inn ugyldige data, for eksempel tekst i et datofelt, kan programmet be brukeren om å skrive inn riktige data. Så lenge dataene i en XML-fil overholder reglene i et gitt skjema, kan alle programmer som støtter XML, bruke dette skjemaet til å lese, tolke og behandle dataene. Som vist i følgende illustrasjon kan for eksempel Excel og Word validere <CAT>-dataene mot CAT-skjemaet.
Skjemaer kan bli omfattende, og det er utenfor artikkelens omfang å lære deg hvordan du oppretter et skjema. (Dessuten har du sannsynligvis en IT-avdeling som vet hvordan dette gjøres.) Artikkelen hjelper deg imidlertid med å vite hvordan skjemaer ser ut. Skjemaet nedenfor definerer reglene for kodesettet <CAT> ... </CAT>.
<xsd:element name="KATT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAVN" type="xsd:string"/>
<xsd:element name="RASE" type="xsd:string"/>
<xsd:element name="ALDER" type="xsd:positiveInteger"/>
<xsd:element name="STERILISERT" type="xsd:boolean"/>
<xsd:element name="AVKLOET" type="xsd:boolean"/>
<xsd:element name="ØREMERKE" type="xsd:string"/>
<xsd:element name="EIER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Ikke bry deg om å forstå alt i eksemplet. Husk bare på følgende:
- Linjeelementene i eksempelskjemaet kalles deklarasjoner. Hvis du trenger mer informasjon om et dyr, for eksempel farge eller merkinger, er det mulig at IT-avdelingen ville lagt til en deklarasjon i skjemaet. Du kan endre XML-system etter som forretningsbehovene utvikler seg.
- Deklarasjoner gir svært stor kontroll over datastrukturen. Deklarasjonen
<xsd:sequence> betyr for eksempel at kodene, for eksempel <NAVN> og <RASE>, må oppstå i rekkefølgen de er vist i ovenfor. Deklarasjoner kan også styre datatypene som brukere kan angi. Skjemaet ovenfor krever for eksempel et positivt tall for kattens alder og boolske verdier (SANN eller USANN) for kodene STERILISERT og AVKLOET.
- Når dataene i en XML-fil overholder reglene i et skjema, er disse dataene erklært gyldige. Fremgangsmåten for å kontrollere en XML-datafil mot et skjema kalles (logisk nok) validering. Den store fordelen med å bruke skjemaer er at de kan hjelpe med å unngå ødelagte data. De gjør det også enkelt å finne ødelagte data, siden XML stopper når det oppstår et problem.
Til toppen av siden
En kort oversikt over overføringer
Som vi har nevnt tidligere sørger XML også for at data kan brukes eller gjenbrukes på omfattende måter. Mekanismen for gjenbruk av data kalles XSLT (Extensible Stylesheet Language Transformation), eller ganske enkelt en overføring. Det er ved overføringer at XML kan bli virkelig interessant. Når du har validert en datafil mot et skjema, kan du for eksempel bruke en overføring som får dataene til å virke som en reklamebrosjyre i Microsoft Office Word 2003, og bruke en annen overføring til å opprette en salgsrapport i Office Excel 2007.
Du (eller IT-avdelingen) kan også bruke overføringer til å utveksle data mellom baksystemer, for eksempel databaser. La oss for eksempel si at database A lagrer salgsdataene i en tabellstruktur som virker bra for salgsavdelingen. Database B lagrer data for inntekter og utgifter i en tabellstruktur som er skreddersydd for regnskapsavdelingen. Database B kan bruke en overføring til å godta data fra A og skrive disse dataene i de riktige tabellene.
Kombinasjonen av datafil, skjema og overføring utgjør et grunnleggende XML-system. Følgende illustrasjon viser hvordan slike systemer vanligvis virker. Datafilen valideres mot skjemaet og gjengis deretter på alle brukbare måter via en overføring. I dette tilfellet fordeler overføringen dataene til en tabell på en webside.
Kodeeksemplet nedenfor viser én måte å skrive en overføring på. Den laster inn <KATT>-dataene i en tabell på en webside. Nok en gang er ikke poenget med eksemplet å vise deg hvordan du skriver en overføring, men å vise deg hvordan én overføring kan se ut.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Navn</TH>
<TH>Rase</TH>
<TH>Alder</TH>
<TH>Sterilisert</TH>
<TH>Avkloet</TH>
<TH>Øremerke</TH>
<TH>Eier</TH>
</TR>
<xsl:for-each select="KATT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAVN"/>
</TD>
<TD>
<xsl:value-of select="RASE"/>
</TD>
<TD>
<xsl:value-of select="ALDER"/>
</TD>
<TD>
<xsl:value-of select="STERILISERT"/>
</TD>
<TD>
<xsl:value-of select="AVKLOET"/>
</TD>
<TD>
<xsl:value-of select="ØREMERKE"/>
</TD>
<TD>
<xsl:value-of select="EIER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
Dette eksemplet viser hvordan én type overføring kan se ut når den er kodet, men husk at du kan ganske enkelt beskrive det du trenger fra dataene på vanlig norsk. Du kan for eksempel gå til IT-avdelingen og si at du må skrive ut salgsdataene for bestemte regioner i løpet av de to siste årene, "og det må se slik ut". IT-avdelingen kan deretter skrive (eller endre) en overføring for å gjøre denne jobben.
Det som gjør dette enda mer bekvemt, er at Microsoft og et økende antall andre leverandører oppretter overføringer for alle typer jobber. I fremtiden er det mulig at du kan laste ned en overføring som dekker behovene dine, eller som du kan justere slik at den passer til formålet. Dette betyr at det vil koste mindre å bruke XML over tid.
Til toppen av siden
Et blikk på XML i Microsoft Office-systemet
De profesjonelle utgavene av Microsoft Office 2003 og Office 2007 (salgsversjon) gir omfattende XML-støtte.
- Office Excel 2007, Office Word 2007 og Office PowerPoint 2007 bruker XML som standardfilformat, en endring som har flere fordeler:
- Mindre filstørrelser. Det nye formatet bruker ZIP og andre komprimeringsteknologier til å redusere filstørrelsen opptil 75 prosent sammenlignet med de binære formatene som ble brukt i tidligere versjoner av Office.
- Enklere datagjenoppretting og økt sikkerhet. XML kan leses av mennesker, slik at hvis en fil blir skadet, kan du åpne filen i Notisblokk eller en annen tekstleser og gjenopprette i det minste noen av dataene. De nye filene er også sikrere siden de ikke kan inneholde VBA-kode (Visual Basic for Applications). Hvis du bruker det nye formatet til å opprette maler, befinner alle ActiveX-kontroller og VBA-makroer seg i en egen, mer sikker del av filen. Du kan i tillegg bruke verktøy, for eksempel Dokumentinspeksjon, til å fjerne eventuelle personlige data. Hvis du vil ha mer informasjon om bruk av Dokumentinspeksjon, se artikkelen Fjerne skjulte data og personlige opplysninger fra Office-dokumenter.
- Økt allsidighet og fleksibilitet. Siden XML lagrer data i et tekstformat i stedet for et eiendomsbeskyttet binærformat, kan kundene definere sine egne skjemaer og bruke dataene dine på flere måter, uten at de må betale avgifter i det hele tatt. Hvis du vil ha mer informasjon om de nye formatene, se Innføring i åpne XML-filformater.
- Hvert Office-program har et forskjellig verktøysett. Brukergrensesnittene og fremgangsmåtene du følger i Word, er forskjellig fra brukergrensesnittene og fremgangsmåtene du bruker i Excel eller PowerPoint. Hvorfor? Fordi det som virker for Word, ikke nødvendigvis virker for Excel, og så videre.
- Office-programmene kan virke med skjemaer, overføringer og data fra andre leverandører så lenge XML-koden er velutformet.
- Noen av Office-programmene bruker XML i bakgrunnen, og enkelte programmer, for eksempel OneNote™, støtter det ikke i det hele tatt. Den beste måten å finne ut hvordan et Office-program støtter XML, er å starte den elektroniske hjelpen for programmet og søke etter XML.
Vel og bra så langt, men hva om du har XML-data og ikke noe skjema? Office-programmer som støtter XML, har sine egne måter å hjelpe deg med å arbeide med dataene på. Hvis du for eksempel åpner en XML-fil i Word uten et vedlagt skjema, viser Word kodene og dataene og lar deg bruke en overføring hvis for eksempel oppretteren av filen eller IT-avdelingen frembringer en overføring. Du kan i det minste lese kodene og dataene i filen.
Til sammenligning tilordner Excel et skjema hvis du åpner en XML-fil som ikke allerede har et. Deretter kan du laste inn disse dataene i en skrivebeskyttet fil eller tilordne dataene til en XML-liste (i Excel 2003) eller en XML-tabell (i Office Excel 2007). Du kan bruke XML-listene og -tabellene til å sortere, filtrere eller legge til beregninger i dataene.
Office Professional 2007 og Microsoft Office 2003 inneholder de samme settene med XML-verktøy. I Office Professional 2007 må du først aktivere XML-støtte, og deretter starter du verktøyene fra forskjellige steder. Når du har startet verktøyene, fungerer de imidlertid på samme måte i Microsoft Office 2003 og Office Professional 2007. Trinnene nedenfor forklarer hvordan du starter XML-verktøyene for Office Excel 2007 og Office Word 2007.
Obs! I Microsoft Office Access 2007 aktiveres XML-verktøyene som standard, så du kan hoppe over de første trinnene hvis du bruker Access.
Aktivere XML-verktøyene i Office Excel 2007 og Office Word 2007
- I Excel eller Word klikker du Microsoft Office-knapp
, og deretter klikker du Alternativer for Excel eller Alternativer for Word, avhengig av hvilket program du har åpnet.
- Klikk Tilpass.
- Velg Vis kategorien Utvikler på båndet under Vanlige alternativer for å arbeide med Word eller Beste alternativer for arbeid med Excel, og klikk deretter OK.
Obs! Båndet er en del av Microsoft Office Fluent-brukergrensesnittet.
Starte XML-verktøyene i Office Excel 2007 og Office Word 2007
- I et av programmene går du til kategorien Utvikler og klikker en tilgjengelig kommando i XML-gruppen.
Starte XML-verktøyene i Office Access 2007
- Klikk kategorien Eksterne data.
- Gjør ett av følgende:
- Klikk XML-fil i Importer-gruppen.
- Klikk Mer i Eksporter-gruppen, og klikk deretter XML-fil.
Til toppen av siden
Mer informasjon
Koblingene i avsnittene nedenfor leder til informasjon om bruk av XML i ulike Office-programmer og om skriving av XML-kode.
Bruke XML i Office 2007 (salgsversjon)
Bruke XML i Microsoft Office 2003
Obs! Noen av koblingene i denne delen går til webområdet for Microsoft Office Online, og noen går til Microsoft Developer Network (MSDN).
| Elektroniske opplæringsprogrammer |
|
| Generelt |
|
| Access |
|
| Excel |
|
| FrontPage |
|
| InfoPath |
|
| Visio |
|
| Word |
|
Skrive XML-kode
Bøker om XML
For begynnere
For utviklere og IT-spesialister
Til toppen av siden