XML-dokument - översikt

Strukturering med XML

Att strukturera med XML skiljer sig inte mycket från att strukturera med andra markeringsspråk. Med hjälp av märkord "taggar" man dokumentets olika delar - element. Genom att följa elementens hierarkiska förekomst bygger man upp en logisk struktur. Det finns inget fördefinierat rotelement i XML-dokument, det skapar man själv. Trots denna valmöjlighet bör rotelementet någorlunda återspegla dokumentets typ - om inget annat så bara för klarhetens skull.

Om man nu skulle vilja strukturera en viss skribents artiklar på ett speciellt sätt och enligt samma regler kan man skapa ett rotelement med namnet artikel. Då rotelementet ger namn åt hela familjer kommer även alla dokument av denna typ att heta artikel.

Dokumenttyp: artikel
Rotelement: artikel

Om artiklarna ska struktureras i rubriker och stycken skapar man elementen rubrik och stycke. Vill man även tala om vem som skrev artiklarna samt uppge artiklarnas titlar lägger man till elementen skribent och titel.

Dokument av typen artikel innehåller nu rotelementet artikel och barnelementen rubrik, stycke, skribent och titel. Med detta redskap kan alla artiklar uppmärkas enligt följande struktur:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

<artikel>
<titel>De olika markeringsspråken</titel>
<skribent>Eva von Pepel</skribent>
<rubrik>SGML</rubrik>
<stycke>Standard Generalized Markup Language. Trots sin ringa ålder ....</stycke>
<stycke>... följande stycke ....</stycke>
<rubrik>HTML</rubrik>
<stycke>HyperText Markup Language är en typ av SGML-dokument ....</stycke>
<stycke>... följande stycke ....</stycke>
</artikel>

Observera att p.g.a. utrymmesskäl innehåller exemplet bara två stycken per rubrik och att styckenas innehåll är förkortat i jämförelse med originalet.

Dokumentet sparas som artikel1.xml. Internet Explorer kommer att visa dokumentet på följande sätt:

Explorers exempel

På första raden finns en s.k. processintruktion. Den talar om hur dokumentet ska behandlas. I detta fall är processinstruktionen en XML-deklaration som talar om att dokumentet som följer är ett XML-dokument, dess teckenuppsättning och att dokumentet är fullständigt, dvs ingen annan information behövs för att behandla dokumentet. Processinstruktioner beskrivs nedan i avsnittet med samma namn.

Andra raden talar om att dokumentets rotelement är elementet artikel. Plustecknet framför indikerar att det finns ett innehåll. Genom att klicka på plustecknet visas innehållet.

exempel

Det som syns på skärmen är trädets struktur - strukturerade data. Vill man presentera den på något annat sätt måste en stilmall vara uppkopplad till XML-dokumentet. Stilmallens utformning beror på mediet för vilket dokumentet är avsett.

XML skiljer mellan struktur och stil/ presentation. Om dokumentet ska presenteras på ett speciellt sätt ska det specificeras i en stilmall (layoutmall). I likhet med DTD är stilmallen en vanlig textfil.

Om alla artiklar ska se ut på samma sätt, kan en mall skapas och kopplas till alla dokument av typen artikel. Ett exempel på stilmall, artikel.css, finns till höger. Stilspråket som används är CSS (Cascading Style Sheets).

artikel.css

titel, rubrik, stycke {display: block}
artikel {background-color: #FFFFFF;}
titel {font-size: 18pt; font-weight: bold}
skribent {font-style: italic}
rubrik {font-size: 14pt; font-weight: bold; margin-top: 1em}

För att koppla mallen, artikel.css, med dokumentet artikel1.xml (och alla andra dokument som ska presenteras på samma sätt) måste man skriva följande rad ovanför rotelementet artikel, dvs i prologen. Detta är en annan processinstruktion som närmare förklaras i avsnittet med samma namn.

<?xml-stylesheet href="artikel.css" type="text/css"?>

Internet Explorer visar nu dokumentet enligt följande:

exempel

Valid HTML 4.0!