Introduktion til XML

Du har muligvis hørt om Extensible Markup Language (XML), og du har måske hørt mange grunde til, at din organisation skal bruge det. Men hvad er XML helt præcist? I denne artikel forklares det grundlæggende om XML – hvad det er, og hvordan det fungerer.

I denne artikel

Et hurtigt blik på opmærkning, markering og koder

Så hvad gør det til XML?

Et par ord om korrekt udformet data

Et hurtigt blik på skemaer

Et hurtigt blik på transformeringer

Et hurtigt blik på XML i Microsoft Office-systemet

Et hurtigt blik på opmærkning, markering og koder

For at forstå XML hjælper det at forstå idéen bag opmærkning af data. Man har oprettet dokumenter i århundreder, og man har mærket disse dokumenter lige så længe. Eksempelvis opmærker skolelærere hele tiden opgaver. De beder elever om at flytte afsnit, præcisere sætninger, rette stavefejl og så videre. Markering af et dokument indbærer, at vi definerer strukturen, betydningen og udseendet af oplysningerne i dokumentet. Hvis du nogensinde har brugt funktionen Registrer ændringer i Microsoft Office Word, har du brugt en elektronisk form for opmærkning.

I databehandling har "opmærkning" også udviklet sig til "markering". Markering er processen, hvor man bruger tags, der kaldes koder (eller nogle gange tokens), til at definere strukturen, udseendet, og – med XML – betydningen af dataene.

HTML-koden for denne artikel er et godt eksempel på brug af markering. Hvis du navigerer gennem den (i Microsoft Internet Explorer skal du højreklikke på siden og derefter klikke på Vis kilde), hvor du vil se en blanding af læsbar tekst og Hypertext Markup Language-koder (HTML), f.eks. <p> og <h2>. Det er nemt at genkende koder i HTML og XML-dokumenter, da de er omgivet af vinkelparenteser. I kildekoden til denne artikel udfører HTML-koder en lang række opgaver, f.eks. definerer de starten og slutningen på hvert enkelt afsnit (<p> ... </p>) og markerer placeringen af hvert billede.


Så hvad kendetegner XML?

HTML- og XML-dokumenter indeholder data, der er omgivet af koder, men her ophører ligheden mellem de to sprog. I HTML definerer koderne udseendet af dine data – overskrifterne skal være her, afsnittet starter der osv. I XML definerer koderne strukturen og betydningen af dine data – hvad dataene er.

Når du beskriver strukturen og betydningen af dine data, gør du det muligt at genbruge de data på flere forskellige måder. Hvis du f.eks. har en blok med salgsdata, og hvert element i blokken er klart angivet, kan du nøjes med at indlæse de elementer, du skal bruge, i en salgsrapport og indlæse andre elementer i en regnskabsdatabase. Udtrykt på en anden måde kan du bruge et system til at generere dine data og markere dem med XML-koder og derefter behandle disse data i et vilkårligt antal andre systemer, uanset hardwareplatform eller operativsystem. Denne mobilitet er grunden til, at XML er blevet en af de mest populære teknologier til udveksling af data.

Husk på følgende under arbejdet:

  • Du kan ikke bruge HTML i stedet for XML. Du kan dog ombryde XML-data i HTML-koder og få dem vist på en webside.

  • HTML er begrænset til et foruddefineret sæt af koder, som alle brugere deler.

  • Med XML har du mulighed for at oprette en kode, som du har brug for for at beskrive dine data og disse datas struktur. Lad os f.eks. antage, at du har brug for at gemme og dele oplysninger om kæledyr. Du kan oprette 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-koder gør det muligt at vide, nøjagtigt hvilke slags data, du kigger på. Du ved f.eks., at dette er data om en kat, og du kan nemt finde kattens navn, alder og så videre. Muligheden for at oprette koder, der definerer næsten enhver datastruktur, er det, der gør XML "extensible" (kan udvides).

Men du må ikke forveksle koderne i det pågældende kodeeksempel med koder i en HTML-fil. Hvis du f.eks. indsætter den XML-struktur i en HTML-fil og får vist filen i din browser, ser resultatet nogenlunde således ud:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Browseren ignorerer dine XML-mærker og viser kun data.


Et par ord om korrekt udformet data

Du hører muligvis nogen fra din it-afdeling omtale "korrekt udformet" XML-format. En korrekt udformet XML-fil er i overensstemmelse med et sæt meget strenge regler, der styrer XML. Hvis en fil ikke overholder disse regler, virker XML ikke. I det forrige kodeeksempel har hver åbningskode f.eks. en lukkekode, så eksemplet overholder én af reglerne for korrekt udformet kode. Hvis du fjerner en kode og forsøger at åbne filen i et Office-program, vises der en fejlmeddelelse, og programmet forhindrer, at du kan bruge filen.

Du behøver ikke nødvendigvis at kende reglerne for oprettelse af korrekt udformet XML (selvom de er nemme at forstå), men du skal huske, at du kun kan dele XML-data mellem programmer og systemer, hvis dataene er korrekte. Hvis du ikke kan åbne en XML-fil, er det sandsynligvis, fordi filen ikke er korrekt.

XML er også platformsuafhængig, hvilket betyder, at et program, der er bygget til at bruge XML, kan læse og behandle XML-data, uanset hardware eller operativsystem. Med de rigtige XML-koder kan du f.eks. bruge et computerprogram til at åbne og arbejde med data fra en mainframe-computer. Og uanset hvem der opretter en brødtekst med XML-data, kan du arbejde med de samme data i flere Office-programmer. Fordi XML er så mobil, er det blevet en af de mest populære teknologier til at udveksle data mellem databaser og brugerens stationære computer.

XML i brug af andre programmer

Ud over kodede, korrekt udformede data, bruger XML-systemer typisk yderligere to komponenter: skemaer og transformeringer. De følgende afsnit beskriver, hvordan disse yderligere komponenter fungerer.


Et hurtigt blik på skemaer

Lad ikke udtrykket "skema" intimidere dig. Et skema er blot en XML-fil, der indeholder regler for, hvad der må og ikke må findes i en XML-datafil. Skemafiler bruger typisk filtypenavnet .xsd, mens XML-datafiler bruger filtypenavnet .xml.

Med skemaer kan programmer validere data. De indeholder rammerne for strukturering af data og sikrer, at det giver mening for forfatteren og andre brugere. Hvis en bruger f.eks. indtaster ugyldige data som tekst i et datofelt, kan programmet bede brugeren om at angive de rigtige data. Så længe dataene i en XML-fil er i overensstemmelse med reglerne i et givent skema, kan alle programmer, der understøtter XML, bruge skemaet til at læse, fortolke og behandle data. Som vist i nedenstående illustration kan Excel f.eks. validere <CAT>-dataene ift. KAT-skemaet.

Ved hjælp af skemaer kan programmer dele XML-data.

Skemaer kan blive meget komplekse, og det ligger uden for denne artikels område at lære dig, hvordan du opretter ét. (Desuden har du sandsynligvis en it-afdeling, der ved hvordan). Men det hjælper dig at vide, hvordan skemaer ser ud. Følgende skema definerer reglerne for kodesættet <KAT>... </KAT>.

<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>

Du skal ikke bekymre dig om at forstå alt i eksemplet. Husk blot på følgende fakta:

  • Linjeelementerne i skemaet kaldes erklæringer. Hvis du har brug for yderligere oplysninger om et dyr, f.eks. dets farve eller markeringer, vil din it-afdeling sandsynligvis tilføje en erklæring til skemaet. Du kan ændre XML-systemet, efterhånden som virksomheden udvikler sig.

  • Erklæringer giver en enorm kontrol over datastrukturen. F.eks. betyder <xsd:sequence>-erklæringen, at koderne, f.eks. <NAME> og <BREED>, skal forekomme i den rækkefølge, de er angivet på listen ovenfor. Erklæringer kan også styre hvilke datatyper, brugerne kan angive. Skemaet ovenfor kræver f.eks. et positivt tal for kattens alder og booleske (SAND eller FALSK) værdier for koderne ÆNDRET og FJERNETKLØER.

  • Når dataene i en XML-fil overholder de regler, der leveres af et skema, betegnes disse data som gyldige. Processen med at kontrollere en XML-datafil mod et skema kaldes validering. Den store fordel ved at bruge skemaer er, at de kan forhindre beskadigede data. De gør det også nemt at finde beskadigede data, fordi XML stopper, når der opstår et problem.


Et hurtigt blik på transformeringer

Som tidligere nævnt giver XML også effektive måder til at bruge eller genbruge data. Mekanismen til genbrug af data kaldes Extensible Stylesheet Language Transformation (XSLT) eller blot en transformering.

Du (eller it-afdelingen) kan også bruge transformeringer til at udveksle data mellem back end-systemer, f.eks. databaser. Lad os f.eks. antage, at Database A indeholder salgsdata i en tabelstruktur, som fungerer godt for salgsafdelingen. Database B indeholder data om indtægter og udgifter i en tabelstruktur, som er skræddersyet til regnskabsafdelingen. Database B kan bruge en transformering til at acceptere data fra Database A og skrive disse data i de korrekte tabeller.

Kombinationen af datafilen, skemaet og transformering udgør et grundlæggende XML-system. Følgende illustration viser, hvordan sådanne systemer typisk fungerer. Datafilen valideres mod skemaet og gengives derefter på flere forskellige måder af en transformering. I dette tilfælde sætter transformeringen dataene ind i en tabel på en webside.

Grundlæggende XML-filstruktur med et skema og en transformering

Den følgende eksempelkode viser én måde at skrive en transformering på. Den indlæser <KAT>-dataene i en tabel på en webside. Meningen med eksemplet er ikke at vise dig, hvordan du skriver en transformering, men at vise dig én form, som en transformering kan antage.

<?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 eksempel viser, hvordan én type transformering kan se ud, når den er kodet, men husk, at du blot kan beskrive, hvad du har brug for fra dataene, på almindeligt dansk. Du kan f.eks. sige til din it-afdeling, at du skal udskrive salgsdata for bestemte områder for de seneste to år "og jeg har brug for, at dataene ser ud på denne måde." Din it-afdeling kan så skrive (eller ændre) en transformering for at gøre dette.

Det, der gør alt dette endnu mere praktisk, er, at Microsoft og et stigende antal andre leverandører opretter transformeringer for alle typer opgaver. I fremtiden vil du sandsynligvis kunne hente en transformering, som enten opfylder dine behov, eller som du kan tilpasse til dine formål. Det betyder, at XML koster mindre at bruge med tiden.


Et hurtigt blik på XML i Microsoft Office-systemet

De professionelle udgaver af Office leverer omfattende understøttelse af XML. Microsoft Office har fra 2007 Microsoft Office-systemet brugt XML-baserede filformater, f.eks .docx, .xlsx og .pptx. Da XML lagrer data i et tekstformat i stedet for et beskyttet binært format, kan dine kunder definere deres egne skemaer og bruge dine data på flere måder, alt sammen uden at skulle betale royalties. Du kan finde flere oplysninger om de nye formater i Open XML-formater og filtypenavne. Andre fordele omfatter:

  • Mindre filstørrelser. Det nye format bruger ZIP og andre komprimeringsteknologier til at reducere filstørrelsen med så meget som 75 % i forhold til de binære filformater, der bruges i tidligere versioner af Office.

  • Nemmere gendannelse af data og større sikkerhed. XML kan læses af mennesker, så hvis en fil bliver beskadiget, kan du åbne filen i Microsoft Notepad eller en anden tekstlæser og gendanne mindst nogle af dine oplysninger. De nye filer er også mere sikre, da de ikke kan indeholde Visual Basic for Applications-kode (VBA). Hvis du bruger det nye format til at oprette skabeloner, er eventuelle ActiveX-objekter og VBA-makroer placeret i en separat, mere sikker sektion i filen. Desuden kan du bruge værktøjer, f.eks. Dokumentinspektion, til at fjerne alle personlige data. Du kan finde flere oplysninger om anvendelse af Dokumentinspektion i artiklen Fjern skjulte data og personlige oplysninger fra Office-dokumenter.

Så langt så godt, men hvad nu, hvis du har XML-data uden et skema? De Office-programmer, der understøtter XML, har deres egne metoder til at hjælpe dig med at arbejde med dataene. Excel udleder f.eks. et skema, hvis du åbner en XML-fil, der ikke allerede har ét. Excel giver dig derefter mulighed for at indlæse disse data i en XML-tabel. Du kan bruge XML-listerne og -tabellerne til at sortere, filtrere eller tilføje beregninger til dataene.

Aktivér XML-værktøjer i Office

Fanen Udvikler vises ikke som standard, men du skal føje den til båndet, når du vil bruge XML-kommandoer i Office.

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×