Låt oss titta igen på artikel-dokmentet, eller rättare sagt dokumentinstansen artikel1.xml.

XML-dokument består av två delar: 1. prolog där man kan uppge information om hur dokumentet ska behandlas, 2. rotelement (textmassan).
Prologen är valfri men om den finns med måste den börja dokumentet och på första raden bör då finnas XML-deklarationen (<?xml version="1.0"?>). I prologen brukar man specificera olika typer av processinstruktioner, skriva kommentarer och identifiera DTDer.
Det finns inget krav på att prologen inkluderas, den är dock rekommenderad. En prolog skrivs i form av olika deklarationer, bl a XML-deklarationen. I sin enklaste form ser XML-deklarationen ut så här:
<?xml version="1.0"?>
Allt som står mellan avgränsarna <? och ?> är s.k. process-instruktioner (processing instructions) PIer. PI börjar med en target (PI-target) som identifierar den applikation till vilken instruktionerna riktar sig, i det här fallet är det xml . XML-deklarationen hör till processinstruktionerna.
Processinstruktioner (PIer): Instruktioner till applikationer som ska tolka XML-dokumenten
Vidare kommer datainstruktionerna. Först identifierar man XMLs version. Än så länge finns det bara en version, 1.0, så man kan bara hänvisa till den. Observera att värdet "1.0" måste citeras.
PI-target: Applikation till vilken instruktionerna är avsedda.
(En PI kan target en specifik applikation utan att för den delen gå via DTDn eller på något annat sätt påverka dokumentets tolkning. En PI kan även finnas i rotelementet. Än så länge är XML-parser den enda applikation som kan ta emot PIer.)
XML-deklarationen i sin enklaste form kan uteslutas. Finns den med ska den stå på första raden. Vill man däremot ge extra instruktioner (attribut ) till behandlaren måste den självfallet inkluderas. XML-deklarationen kan även innehålla följande instruktioner:
<?xml version="1.0" encoding="ISO-8859-1"?>
XML-dokument använder UNICODE-teckenuppsättning. encoding talar om vilken del av teckenuppsättningen som användes i dokumentet. Standardvärdet är en tecken-uppsättning med namnet UTF-8. Även teckenuppsättningen UTF-16 betraktas som standard.
Används en annan teckenuppsättning, t ex Latin-1 (ISO-8859-1), måste XML-deklarationen börja med prologen och innehålla information om den.
Uteslut
encoding="ISO-8859-1"
från XML-deklarationen om det är den teckenuppsättning som används i dokumentet
XML-dokument och även DTDer kan skrivas på ett valfritt språk. Ska DTDn skrivas på svenska bör följande instruktion inkluderas på den absolut första raden i DTDn:
<?xml encoding="ISO-8859-1"?>
Observera att en parser måste stödja den uppgivna teckenuppsättningen. Förutom standard- teckenuppsättningarna, UTF-8 och UTF-16, finns det inget krav för stödet av andra. Men de flesta förväntas dock att stödja alla Latin-uppsättningar.
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
Med attributet standalone specificeras om dokumentet är fullständigt som det är, dvs utan en extern DTD, eller om det inte är fullständigt, dvs att det finns en extern DTD.
Värdet yes indikerar att dokumentet är fullständigt som det är.
Värdet no som är ett standardvärde, indikerar att dokumentet är inte fullständigt.
Uteslut
standalone="no"
från XML-deklarationen om det finns en extern DTD
Brist på attributet indikerar standardvärdet no.
Utöver XML-deklarationen innehåller prologen till artikel1.xml en annan processinstruktion:
<?xml-stylesheet href="artikel.css" type="text/css"?>
Den här instruktionen är avsedd för stilmallen, dvs den kopplar stilmallen till dokumentet.
xml-stylesheet - applikationen till vilken instruktionerna riktar sig (PI-target)
href - stilmallens källa, mao adressen till stilmallen (i exemplet ligger stilmallen i samma bibliotek som xml-dokumentet därför uppges här enbart mallens namn)
type - mallens MIME-type
I exemplet är stilmallen skriven med hjälp av CSS-stilspråket. Stilmallar som länkas till XML-dokument kan även skrivas med andra stilspråk, t ex XSL (Extensible Styling Language). I ett sådant fall kommer processinstruktionen att se ut så här:
<?xml-stylesheet href="artikel.xsl" type="text/xsl"?>
Kommentarer kan förekomma var som helst i dokumentet, i prologen och även inuti deklarationerna - där de är tillåtna. Då de inte tillhör dokumentets teckenuppsättning kan en XML-parser "tömma" dem från innehållet. Därför är kommentarer i XML-dokument inte lämpliga för att gömma stilmallar eller skript på samma sätt som de är tillåtna i HTML-dokument. Hur man döljer skript och stilmallar i XML-dokument beskrivs längre fram i avsnittet om CDATA-sektioner.
Alla tecken, förutom dubbla bindestreck "--", är tillåtna i en kommentar. Dubbla bindestreck tillåts inte därför att de markerar slut på kommentaren. Om sådana finns inuti en kommentar tror behandlaren att kommentaren är slut.
Kommentarer i XML-deklarationen är ej tillåtna
De får däremot inkluderas här:
<?xml-stylesheet href="artikel.css" type="text/css" -- en kommentar --?>
De får inkluderas i dokumentinstansen. Observera att kommentarer i dokumentinstansen omges med tecknen <! och >.
<!-- en kommentar -->
Dokumenttypsdefinitionen (DTD) innehåller grammatiska regler för uppbygnad av SGML-dokument. Det finns inget krav på att ett XML-dokument måste stödjas av dokumenttyps-definitionen för att en parser ska tolka det. Det enda kravet är att dokumenten är välutformade. Trots denna brist på DTD-krav bör den användas, vilket också rekommenderas.
Om en DTD används skriver man en dokumenttypsdeklaration i prologen. Deklarationen kan hänvisa till en extern fil innehållande DTDn eller själv innehålla deklarationer. Allt om DTDer och deklarationerna samt dess struktur och användning beskrivs i efterföljande kapitel.
En gällande regelsamling för en specifik typ av dokument. Kan finnas i en extern fil eller i själva dokumentet.
En "instruktion" som finns i själva dokumentet som pekar till DTDn, t ex:
<!DOCTYPE artikel SYSTEM "artikel.dtd">
Här pekar deklarationen till en extern DTD som finns i filen artikel.dtd.
F.n. utvecklar man ett mer avancerat system för definiering av dokumentens grammatiska regler, XML-schema.
Innehållet i rotelementet är dokumentets egentliga innehåll. Det får finnas bara ett rotelement i den aktuella typen av dokument. Rotelementet är dokumenttypens grundare och förälder till alla andra element. Innehållet i XML-dokumentet är innehållet i rotelementet. Till skilnad från prologen som kan uteslutas måste rotelementet finnas i dokumentet.
I dokument av typen HTML är rotelementet HTML.
I dokument av typen artikel är rotelementet artikel.