XML-dokument består av lagringsentiteter som innehåller behandlade (parsed) eller obehandlade (unparsed) data. Behandlade data består av tecken: text. Text innehåller teckendata och uppmärkning.
Teckendata är objektets data (innehåll) medan uppmärkning lägger till mening till data, dvs den säger vad data är, t ex en titel eller rubrik
En uppmärkning kan ta form av start- och sluttagg, tomelementstagg, entitetsreferens, teckenreferens, kommentarer CDATA-sektion-avgränsare, dokumenttypdeklaration och processinstruktion. Uppmärkning omvandlar beskrivning av dokumentets lagring och logisk struktur till kod medan text är dess innehåll.
En applikationmodul, kallad XML-parser avläser XML-dokument och gör dess struktur och innehåll tillgängligt för en annan applikationsmodul, kallad applikationen.
XML-dokument måste vara välutformade dataobjekt. Ett välutformat dataobjekt kan vara ogiltigt eller giltig. Välutformat objektet är ogiltigt när det är DTD-löst eller om det inte överensstämmer med en DTD. Välutformat objektet är giltigt när det överenstämmer med DTD - när det validerar mot en DTD.
XML-dokumentet består av ett eller fler element. Det börjar med rotelementet eller en prolog följd av rotelementet. Dokument består av fysisk och logisk struktur. De båda strukturerna måste vara korrekt nästlagda. Den fysiska strukturen består av enheter kallade entiteter. Dessa får anropa andra entiteter och på så sätt infoga dess innehåll i dokumentet. Den logiska strukturen består av element, deklarationer, kommentarer, teckenanrop och processinstruktioner.
XML ger enbart strukturer åt ett objekt. Det innehåller varken information om hur detta objekt ska presenteras eller för vilket medium, t ex Webb eller utskrift. Objektpresentationen sköts av stilmallar.
XML är en applikation och samtidigt en delmängd av SGML. Ett giltigt XML-dokument är ett giltigt SGML-dokument. Båda språken är metaspråk eftersom de tillåter beskrivning av andra språk.