XML for nybegynnere

Du har sikkert hørt om Extensible Markup Language (XML), og det kan hende du har hørt mange årsaker til hvorfor organisasjonen din bør bruke det. Men hva er egentlig XML? Denne artikkelen forklarer det grunnleggende om XML – hva det er, og hvordan det fungerer.

I denne artikkelen

En rask titt på merking, markering og koder

Hva er det som gjør dette til XML?

En kjapp titt på riktig utformet data

En kjapp titt på skjemaer

En kjapp titt på transformeringer

En kjapp titt på XML i Microsoft Office-systemet

En rask titt på merking, markering og koder

Hvis du vil forstå XML, hjelper det å forstå meningen med merking av data. Folk har opprettet dokumenter i flere århundrer, og de har merket disse dokumentene i like lang tid. Lærere retter for eksempel prøver. De ber elevene om å flytte avsnitt, tydeliggjøre setninger, rette opp feilstavelser og så videre. Dette er hvordan vi definerer strukturen, betydningen og det visuelle utseendet til informasjonen i dokumentet. Hvis du noen gang har brukt Spor endringer-funksjonen i Microsoft Office Word, har du brukt en dataversjon av merking.

I databehandling har «merking» utviklet seg til «markering». Markering er prosessen der en bruker koder (som noen ganger kalles tokener) for å definere strukturen, det visuelle utseendet og – i tilfellet til XML – betydningen av data.

HTML-koden for denne artikkelen er et godt eksempel på datamaskinmarkering. Hvis du blar gjennom den (i Microsoft Internet Explorer, høyreklikk på siden, og klikk deretter på Vis kilde), ser du en blanding av tekst og Hypertext Markup Language (HTML)-koder som <p> og <h2>. Koder i HTML- og XML-dokumenter er enkle å gjenkjenne, da de er omgitt av vinkelparenteser. HTML-kodene utfører en rekke handlinger i kildekoden til denne artikkelen, som å definere begynnelsen og slutten av hvert avsnitt (<p> ... </p>), og merke plasseringen av hvert bilde.


Hva er det som gjør dette til XML?

HTML- og XML-dokumenter inneholder data som er omsluttet av koder, men her slutter også likhetene mellom de to språkene. I HTML definerer kodene utseendet og funksjonaliteten til dataene – overskriften skal være der, avsnittet begynner her og så videre. I XML definerer kodene strukturen og betydningen til dataene – hva dataene er.

Når du beskriver strukturen og betydningen til dataene, gjør du det mulig å gjenbruke dataene på en rekke måter. Hvis du for eksempel har en blokk med salgsdata og hvert element i blokken er tydelig identifisert, kan du laste nøyaktig de 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 markere dem XML-koder, og deretter behandle dataene i mange andre systemer, uavhengig av maskinvareplattformen eller operativsystemet. Denne overførbarheten er årsaken til at XML har blitt én av de mest populære teknologiene for utveksling av data.

Ha følgende i tankene når du fortsetter:

  • Du kan ikke bruke HTML i stedet for XML. Du kan imidlertid bruke HTML-koder i XML-dataene, og vise dem på en nettside.

  • HTML er begrenset til et forhåndsdefinert sett med koder som alle brukerne deler.

  • Med XML kan du opprette en hvilken som helst kode for å beskrive dataene og strukturen til 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"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

Du kan se at XML-koden gjør det mulig å vite nøyaktig hva slags data du er på utkikk etter. Du vet at disse dataene for eksempel omhandler en katt, og du kan enkelt finne kattens navn, alder og så videre. Evnen til å opprette koder som definerer nesten enhver datastruktur, er det som gjør XML «extensible» (utvidbart).

Men ikke forveksle kodene i XML-filen med kodene i en HTML-fil. Hvis du for eksempel limer inn XML-strukturen i en HTML-fil og viser filen i nettleseren, kommer resultatene til å se ut omtrent slik:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Nettleseren ignorerer XML-kodene, og viser bare dataene.


En kjapp titt på riktig utformet data

Du har sikkert hørt noen fra IT-avdelingen si «riktig utformet» XML. En riktig utformet XML-fil overholder et sett med veldig strenge regler som styrer XML. Hvis en fil ikke overholder disse reglene, slutter XML å fungere. I forrige kode-eksempel har hver åpningskode en sluttkode, slik at utvalget overholder én av reglene for å være riktig utformet. Hvis du fjerner et kode og prøver å åpne filen i et Office-program, mottar du en feilmelding, og programmet forhindrer deg fra å bruke filen.

Du trenger ikke nødvendigvis kjenne til reglene for å opprette en riktig utformet XML-fil (selv om de er enkle å forstå), men du må være klar over at du kan bare dele riktig utformet XML-data på tvers av programmer og systemer. Hvis du ikke kan åpne en XML-fil, kan det hende at filen ikke er riktig utformet.

XML er også plattform-uavhengig, noe som betyr at ethvert program som er bygget for å bruke XML kan lese og behandle XML-data, uavhengig av maskinvare eller operativsystem. Med de riktige XML-kodene kan du for eksempel bruke en skrivebordsprogram til å åpne og arbeide med data fra en stormaskin. Uansett hvem som oppretter en mengde XML-data, kan du arbeide med de samme dataene i flere Office-programmer. Siden XML er så overførbart, har det blitt én av de mest populære teknologiene for utveksling av data mellom databaser og brukerdatamaskiner.

XML i bruk av andre programmer

I tillegg til kodet, riktig utformet data bruker XML-systemer som regel to ekstrakomponenter: skjemaer og transformeringer. De følgende delene forklarer hvordan disse ekstrakomponentene fungerer.


En kjapp titt på skjemaer

Ikke la begrepet «skjema» skremme deg. Et skjema er bare en XML-fil som inneholder regler for hva som kan og ikke kan befinne seg i en XML-datafil. Skjemafiler bruker som regel .xsd-filtypen, mens XML-datafiler bruker .xml-filtypen.

Med skjemaer kan programmer validere data. De gir rammeverket for struktureringen av data og sikrer at dataene kan forstås av både oppretteren og andre brukere. Hvis en bruker for eksempel legger inn ugyldige data, som tekst i et datafelt, kan programmet varsle brukeren om å legge inn riktig data. Så lenge dataene i XML-filen overholder reglene i et gitt skjema, kan alle programmer som støtter XML, bruke det skjemaet til å lese, tolke og behandle dataene. Excel kan for eksempel, som vist i følgende illustrasjon, validere <CAT>-dataene mot CAT-skjemaet.

Skjemaer gjør at programmer kan dele XML-data.

Skjemaer kan bli omfattende, og denne artikkelen handler ikke om å lære deg hvordan du oppretter dem. (Du har sikkert en IT-avdeling som vet hvordan.) Det hjelper imidlertid å kjenne til hvordan skjemaer ser ut. Følgende skjema definerer reglene for kodesettet <CAT> ... </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Ikke bekymre deg hvis du ikke skjønner alt i dette eksempelet. Bare husk følgende:

  • Linjeelementene i eksempelskjemaet heter deklarasjoner. Hvis du hadde behov for mer informasjon om dyret, som fargen eller merker, er sjansen stor for at IT-avdelingen ville ha lagt til deklarasjoner i skjemaet. Du kan endre XML-systemet ettersom bedriftsbehovene utvikler seg.

  • Deklarasjoner gir en enorm stor kontroll over datastrukturen. <xsd:sequence>-deklarasjonen betyr for eksempel at kodene, som <NAME> og <BREED> , må være i den rekkefølgen de nevnes ovenfor. Deklarasjoner kan også kontrollere datatypene som brukeren kan skrive inn. Det ovennevnte skjemaet krever for eksempel et positivt tall for kattens alder, og boolske verdier (SANN eller USANN) for KASTRERT og KLØR FJERNET.

  • Når dataene i en XML-fil overholder reglene i et skjema, anses dataene for å være gyldig. Prosessen med å kontrollere en XML-datafil mot et skjema heter, logisk nok, validering. Den store fordelene med å bruke skjemaer er at de kan bidra til å forhindre korrumperte data. De gjør det også enkelt å finne korrumperte data, da XML-filen stanser når det oppstår et problem.


En kjapp titt på transformeringer

Som vi nevnte tidligere, så har også XML kraftige måter for å bruke eller gjenbruke data. Mekanismene for gjenbruk av data heter Extensible Stylesheet Language Transformation (XSLT), eller kort fortalt, en transformering.

Du (eller, IT-avdelingen) kan også bruke transformeringer for å utveksle data mellom baksystemer, som for eksempel databaser. La oss for eksempel si at Database A lagres salgsdata i en tabellstruktur som fungerer bra for salgsavdelingen. Database B lagrer inntekts- og utgiftsdata i en tabellstruktur som er skreddersydd for regnskapsavdelingen. Database B kan bruke en transformasjon for å godta data fra Database A, og skrive dataene til riktige tabeller.

Kombinasjonen av datafil, skjema og transformasjon utgjør et grunnleggende XML-system. Følgende illustrasjon viser hvordan et slikt system vanligvis fungerer. Datafilen valideres mot skjemaet, og gjengis deretter på mange ulike måter ved bruk av en transformasjon. I dette tilfellet distribuerer transformasjonen dataene til en tabell på en nettside.

En grunnleggende XML-filstruktur med et skjema og transform.

Følgende kode-eksempel viser én måte å skrive en transformasjon på. Det laster inn <CAT>-dataene i en tabell på en nettside. Hensikten med utvalget er ikke å vise hvordan du skal skrive en transformasjon, men å vise deg en form for transformasjon.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

Dette utvalget viser deg hvordan en type transformasjon kan se ut når den er kodet, men husk at du også kan beskrive det du trenger fra dataene på vanlig engelsk. Du kan gå til IT-avdelingen og si at du trenger å skrive ut salgsdataene for bestemte regioner for de siste to årene, «og det må se slik ut». IT-avdelingen din kan da skrive (eller endre) en transformasjon som gjør nettopp dette.

Det som gjør dette ennå mer praktisk er at Microsoft og en rekke andre leverandører oppretter transformasjoner for alle slags type jobber. I fremtiden kan du kanskje laste ned en transformasjon som enten oppfyller behovene dine, eller som du kan justere etter egne formål. Det betyr at XML koster mindre å bruke, over tid.


En kjapp titt på XML i Microsoft Office-systemet

De profesjonelle utgavene av Office tilbyr en omfattende XML-støtte. Microsoft bruker, fra og med Microsoft Office-systemene fra 2007-serien, de XML-baserte filformatene, som .docx, .xlsx og .pptx. Da XML lagrer dataene i et tekstformat i stedet for et rettighetsbeskyttet binært format, kan kundene dine definere sine egne skjemaer, og bruke dataene på en rekke måter uten å måtte betale royalty. Hvis du vil ha mer informasjon om de nye formatene, kan du se Åpne XML-formater og -filtyper. Andre fordeler inkluderer:

  • Mindre filstørrelse. Det nye formatet bruker ZIP og andre komprimeringsformater for å redusere filstørrelsen ved så mye som 75 %, sammenlignet med de binære formatene som brukes i tidligere versjoner av Office.

  • Enklere gjenoppretting av informasjon og større sikkerhet. Da XML kan leses, kan du åpne filen i Microsoft Notisblokk eller et annet tekstredigeringsprogram hvis filen blir skadet, og deretter gjenopprette deler av informasjonen din. De nye filene er også sikrere da de ikke kan inneholde koder for Visual Basic for Applications (VBA). Hvis du bruker det nye formatet til å opprette maler, befinner eventuelle ActiveX-kontroller og VBA-makroer seg i separate, sikrere deler av filen. Du kan i tillegg bruke verktøy som Dokumentinspekssjon, for å fjerne personlig data. Se artikkelen Fjerne skjulte data og personlige opplysninger fra Office-dokumenter for å få mer informasjon om hvordan du bruker Dokumentinspeksjon.

Så langt har alt gått bra, men hva om du har XML-data uten skjema? Office-programmene som støtter XML har sin egen måte å hjelpe deg med å arbeide med data. Excel, for eksempel, tilordner et skjema hvis du åpner en XML-fil som ikke allerede har et. Excel gir deg da muligheten til å laste inn disse dataene i XML-tabellen. Du kan bruke XML-lister og -tabeller til å sortere, filtrere eller legge til beregninger i dataene.

Aktivere XML-verktøyene i Office

Utvikler-kategorien vises ikke som standard, men du må legge den til på båndet når du vil bruke XML-kommandoene i Office.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×