Her XML birimine document denir. Bu genellike bir dosyaya karşılık gelir. Document'ler element'lerden oluşur. Element içerisinde belli bir bütünlük içeren veridir. Bir belge içerisinde herşeyi içine alan bir ana element olmalıdır ki buna 'root' veya da 'document element' denir. Her element attribute'lerden, child element'lerden ve text'lerden oluşur. Attribute bir element hakkında bilgi veren özelliklerdir. Text'se bir element'in içinde bulunan düz metindir. XML'de element, attribute ve text gibi birimlere node denir. Burda anlatılan yapı sadece XML için değil HTML ve JavaScript gibi DOM standardını destekleyen bütün yapılar için geçerlidir.
Yazım kurallarına uygun olarak yazılmış bir belgeye 'well-formed' denir. Ancak bu içerisindeki verinin mantıksal olarak doğru yapıda olduğu anlamında gelmez. '<' ile başlayan bir etiketi '>' ile kapatmak gibi kurallara uymak anlamına gelir. Bir XML belgesinin mantıklı bir veri içermesi durumunda 'valid' olur. Örneğin sorunun içine şık koymak yerine şıkkın içine soru koyarsanız veri yine well-formed olabilir, ama valid olmaz.