bild
Skolan för
datorvetenskap
och kommunication

Labb 1 »
Labb 2 »
Labb 3 »
Labb 4 »
Labb 5 »
Labb 6 »

KTH / CSC / DD1346

Väldigt kortfattad introduktion till XML


Den här sidan innehåller en snabbförklaring till XML, som är tänkt att bara täcka det man behöver veta för att klara labb 3 i DD1346. För en stringent och heltäckande förklaring hänvisas till W3c:s XML-sida.

XML står för eXtensible Markup Language, och är ett systematiskt sätt att organisera texter och information kring dem (metainformation), på ett sätt så att både människor och datorer kan läsa dem. All data organiseras som element. Ett element kan bestå av ett par av taggar (en start-tag och en slut-tag) med text emellan, eller av en ensam empty-element tag. Taggarna anger vilken funktion som texten mellan dem har, och de ensamma taggarna kodar specialfuntioner, som t.ex bilder eller radavslut. Start-taggar och ensamma taggar kan dessutom innehålla attribut som ger extra information. Ett stycke XML-kod kan t.ex se ut så här:
<kapitel nummer="1">
<rubrik>Lorem Ipsum </rubrik>
<text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco <fetstil>laboris</fetstil> nisi ut aliquip ex ea commodo consequat.<radbryt />
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</text>
</kapitel>

I exemplet ovan har vi kodat ett kapitel ur en psuodolatinsk bok. Starttaggen <kapitel nummer="1"> talar om att allting som kommer fram till sluttagen </kapitel> är ett kapitel, och att det har nummer 1. Inom kapitlet har vi sedan tag-par som avgränsar rubriken och brödtexten, ett tagpar som visar att ordet "laboris" skall vara i fetstil samt en ensam tag som indekerar var vi vill ha en radbrytning. Notera att en sluttag har samma namn som starttaggen, fast med ett inledande /-tecken.
Nu skulle det ganska enkelt gå att skriva ett program som läser in denna data och genererar en automatisk layout och stoppar in kapitelrubriken på en snyggt sätt i en innehållsförteckning. För den som är van vid t.ex HTML eller LaTeX är den här strukturen säkert bekant.
Sidansvarig: Christian Smith <ccs@kth.se>
Uppdaterad 2011-05-20