XML för nybörjare

Du kanske har hört talas om XML (Extensible Markup Language) och även hört många anledningar till varför din organisation ska använda det. Men vad är egentligen XML? Den här artikeln beskriver grunderna i XML – vad det är och hur det fungerar.

Artikelinnehåll

En kort sammanfattning av märkning, markering och taggar

Vad är det som gör det till XML?

Lite om korrekt formaterade data

En snabbtitt på scheman

En snabbtitt på transformeringar

En titt på XML i Microsoft Office System

En kort sammanfattning av märkning, markering och taggar

För att förstå XML kan det vara bra att förstå avsikten med att märka data. Människor har skapat dokument under århundraden och har under lika lång tid märkt dessa dokument. Lärare märker till exempel elevernas uppsatser. De ger anvisningar till eleverna att flytta stycken, förtydliga meningar, rätta stavfel och så vidare. Genom att märka ett dokument definierar vi informationens struktur, betydelse och utseende i dokumentet. Om du har använt funktionen Spåra ändringar i Microsoft Office Word har du använt en datoriserad version av märkning.

Inom datoranvändningen har "märkning" utvecklats till "markering". En markering är processen med att använda koder som kallas taggar (eller ibland tokens) för att definiera strukturen, utseendet och – när det gäller XML – innebörden av data.

HTML-koden för den här artikeln är ett bra exempel på datormarkering. Om du bläddrar igenom artikeln (i Microsoft Internet Explorer högerklickar du på sidan och klickar sedan på Visa källa) ser du en blandning av läsbar text och HTML-taggar (Hypertext Markup Language), som <p> och <h2>. Taggar i HTML- och XML-dokument är lätta att känna igen eftersom de omges av vinkelparenteser. I källkoden för den här artikeln gör HTML-taggarna en rad olika saker, som att definiera början och slutet av varje stycke (<p> ... </p>) och märka ut platsen för varje bild.


Vad är det som gör det till XML?

HTML- och XML-dokument innehåller data som omges av taggar, men där slutar likheten mellan de två språken. I HTML definierar taggarna utseendet på dina data, dvs. rubrikerna ska vara här, stycket ska starta där och så vidare. I XML definierar taggarna strukturen och innebörden av dina data, dvs. vad dessa data är.

När du beskriver strukturen och innebörden av dina data gör du det möjligt att återanvända dessa data på olika sätt. Om du till exempel har ett block med försäljningsdata och varje objekt i blocket är tydligt identifierat kan du läsa in bara de objekt som du behöver i en försäljningsrapport och läsa in andra objekt i en redovisningsdatabas. Uttryckt på ett annat sätt så kan du använda ett system för att generera data och märka dessa med XML-taggar. Därefter kan du bearbeta dessa data i andra system, oavsett maskinvaruplattform eller operativsystem. Den portabiliteten är anledningen till varför XML har blivit en av de mest populära teknikerna för att utbyta data.

Tänk på följande när du fortsätter:

  • Du kan inte använda HTML i stället för XML. Men du kan omsluta XML-data med HTML-taggar och visa dem på en webbsida.

  • HTML är begränsat till en fördefinierad uppsättning taggar som alla användare delar.

  • Med XML kan du skapa vilken tagg du vill för att beskriva dina data och strukturen på dessa data. Anta till exempel att du behöver lagra och dela information om husdjur. Du kan skapa följande XML-kod:

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

Med XML-taggarna går det att se exakt vilken typ av data du tittar på. Du vet till exempel att det är information om en katt och du hittar enkelt kattens namn, ålder med mera. Möjligheten att skapa taggar som definierar nästan alla datastrukturer är det som gör XML så utbyggbart.

Men blanda inte ihop taggarna i kodexemplet med taggar i en HTML-fil. Om du till exempel klistrar in den här XML-strukturen i en HTML-fil och visar filen i webbläsaren, ser resultatet ut ungefär så här:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Webbläsaren ignorerar XML-taggarna och visar bara data.


Lite om korrekt formaterade data

Du kanske har hört någon från IT-avdelningen tala om "korrekt formaterad" (well-formed) XML. En korrekt formaterad XML-fil överensstämmer med en uppsättning mycket strikta regler som styr XML. Om en fil inte överensstämmer med dessa regler slutar XML att fungera. I föregående kodexempel finns till exempel en starttagg för varje sluttagg, och exemplet följer en av reglerna för att vara korrekt formaterad. Om du tar bort en tagg och försöker öppna filen i något av Office-programmen visas ett felmeddelande och programmet hindrar dig från att använda filen.

Du behöver inte känna till reglerna för att skapa korrekt formaterad XML-kod (även om de är lätta att förstå), men du måste komma ihåg att du bara kan dela XML-data mellan program och system om dessa data är korrekt formaterade. Om du inte kan öppna en XML-fil är filen förmodligen inte korrekt formaterad.

XML är också plattformsoberoende, vilket innebär att alla program som skapats för att använda XML kan läsa och bearbeta XML-data, oavsett maskinvara och operativsystem. Med rätt XML-taggar kan du till exempel använda ett skrivbordsprogram för att öppna och arbeta med data från en stordator. Och oavsett vem som skapar en samling av XML-data kan du arbeta med samma data i flera Office-program. På grund av portabiliteten har XML blivit en av de mest populära teknikerna för att utbyta data mellan databaser och användares stationära datorer.

XML används i andra program

Utöver taggade och korrekt formaterade data använder XML-system vanligtvis ytterligare två komponenter: scheman och transformeringar. I följande avsnitt förklaras hur dessa komponenter fungerar.


En snabbtitt på scheman

Låt inte termen "schema" avskräcka dig. Ett schema är bara en XML-fil som innehåller regler för vad som får och inte får finnas i en XML-datafil. Schemafiler har vanligtvis filnamnstillägget .xsd, medan XML-datafiler har filnamnstillägget .xml.

Scheman tillåter program att verifiera data. De ger ett ramverk för att strukturera data och göra den begriplig för skaparen och andra användare. Om en användare till exempel matar in ogiltiga data, som text i ett datumfält, kan programmet uppmana användaren att ange rätt data. Så länge data i en XML-fil överensstämmer med reglerna i ett givet schema kan alla program som har stöd för XML använda schemat för att läsa, tolka och bearbeta data. Som du ser i följande bild kan till exempel Excel validera <CAT>-data mot CAT-schemat.

Program kan dela XML-data med hjälp av scheman.

Scheman kan vara komplexa och det ingår inte i den här artikeln att lära dig hur du skapar sådana. (Dessutom har du förmodligen en IT-avdelning som vet hur man gör.) Men det kan vara bra att veta hur scheman ser ut. Följande schema definierar reglerna för tagguppsättningen <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>

Du behöver inte känna att du måste förstå allt i exemplet. Tänk bara på följande:

  • Radobjekten i exempelschemat kallas deklarationer. Om du behöver ytterligare information om ett djur, till exempel färg eller teckning, är det troligt att IT-avdelningen lägger till en deklaration i schemat. Du kan ändra XML-systemet efterhand som behoven utvecklas.

  • Deklarationer ger mycket stor kontroll över datastrukturen. Deklarationen <xsd:sequence> innebär till exempel att taggarna, som <NAME> och <BREED>, måste stå i den ordning som de anges ovan. Deklarationer kan även bestämma vilken typ av data användarna kan ange. I schemat ovan krävs till exempel ett positivt värde för kattens ålder och booleska värden (SANT eller FALSKT) för taggarna ALTERED och DECLAWED.

  • När data i en XML-fil överensstämmer med de regler som finns i ett schema säger man att dessa data är giltiga. Kontrollen av en XML-datafil mot ett schema kallas för validering. Den stora fördelen med att använda scheman är att de kan förhindra skadade data. De kan också göra det lättare att hitta skadade data eftersom XML stannar när det uppstår ett problem.


En snabbtitt på transformeringar

Som vi nämnde tidigare ger XML även kraftfulla sätt att använda eller återanvända data. Mekanismen för att återanvända data kallas Extensible Stylesheet Language Transformation (XSLT) eller helt enkelt transformering.

Du (nåja, din IT-avdelning) kan också använda transformeringar för att utbyta data mellan serversystem, t.ex. databaser. Anta till exempel att databasen A lagrar försäljningsdata i en tabellstruktur som fungerar bra för säljavdelningen. I databas B lagras data om inkomster och utgifter i en tabellstruktur som är skräddarsydd för redovisningsavdelningen. Databas B kan använda en transformering för att acceptera data från A och skriva dessa data till rätt tabeller.

Kombinationen av datafil, schema och transformering utgör ett grundläggande XML-system. Följande bild visar hur sådana system vanligtvis fungerar. Datafilen valideras mot schemat och återges sedan på många användbara sätt med en transformering. I det här fallet distribuerar transformeringen data till en tabell på en webbsida.

En grundläggande XML-filstruktur med ett schema och en transformering

Följande kodexempel visar ett sätt att skriva en transformering. Den läser in <CAT>-data i en tabell på en webbsida. Poängen med exemplet är inte att visa dig hur du skriver en transformering, utan att visa hur en transformering kan se ut.

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

Det här exemplet visar hur en typ av transformering kan se ut när den är kodad, men kom ihåg att du bara behöver beskriva vad du vill att dina data ska göra på vanlig svenska. Du kan till exempel gå till IT-avdelningen och säga att du vill skriva ut försäljningsdata för vissa regioner för de senaste två åren "och jag vill att det ska se ut så här". IT-avdelningen kan då skriva (eller ändra) en transformering som gör precis det.

Det som gör allt det här ännu mer bekvämt är att Microsoft och allt fler andra leverantörer skapar transformeringar för alla möjliga slags uppgifter. I framtiden kan du kanske ladda ned transformeringar som antingen uppfyller dina behov eller som du kan justera så att de passar dina behov. Det innebär att XML blir billigare att använda med tiden.


En titt på XML i Microsoft Office System

De professionella utgåvorna av Office har omfattande stöd för XML. Från och med 2007 Microsoft Office system använder Microsoft Office de XML-baserade filformaten, som .docx, .xlsx och .pptx. Eftersom XML lagrar data i ett textformat i stället för ett särskilt binärt format kan dina kunder definiera sina egna scheman och använda dina data på flera sätt, utan att behöva betala royalty. Mer information om de nya formaten finns i Open XML-format och filnamnstillägg. Andra fördelar är:

  • Mindre filstorlekar. Det nya formatet använder ZIP och andra komprimeringstekniker för att minska filstorleken med upp till 75 procent jämfört med de binära formaten som användes i tidigare versioner av Office.

  • Enklare informationsåterställning och större säkerhet. XML är direkt läsbart, så om en fil blir skadad kan du öppna filen i Microsoft Anteckningar eller någon annan textläsare och återställa åtminstone en del av informationen. Nya filer är dessutom säkrare eftersom de inte kan innehålla VBA-kod (Visual Basic for Applications). Om du använder det nya formatet för att skapa mallar finns ActiveX-kontroller och VBA-makron i en separat och säkrare del av filen. Dessutom kan du använda verktyg, till exempel Dokumentkontroll, för att ta bort personliga data. Mer information om hur du använder Dokumentkontroll finns i artikeln Ta bort dolda data och personlig information i Office-dokument.

Allt bra så långt, men vad händer om du har XML-data utan schema? Office-program som stöder XML har sina egna metoder för att hjälpa dig arbeta med data. Excel härleder till exempel ett schema om du öppnar en XML-fil som inte redan har ett sådant. Excel ger dig sedan möjlighet att läsa in dessa data i en XML-tabell. Du kan använda XML-listorna och tabellerna för att sortera, filtrera eller lägga till beräkningar i data.

Aktivera XML-verktygen i Office

Fliken Utvecklare visas inte som standard, men du måste lägga till den i menyfliksområdet när du vill använda XML-kommandon i Office.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×