Prologul XML (Extensible Markup Language) este porțiunea fiecărui sistem XML care este prezentă înaintea elementului rădăcină al sistemului. Aceasta este partea sistemului XML în care sunt definite informații despre programarea XML. Nu există un standard pentru XML prolog, dar de obicei va prezenta unele dintre aceleași trăsături de la un sistem la altul. În unele cazuri, poate fi chiar gol, deoarece utilizatorul nu dorește să declare nicio informație prolog. Chiar dacă este gol, încă există în fiecare sistem XML.
Prologul XML este uneori denumit declarație XML. Este prezent în fiecare sistem, dar utilizarea sa este opțională. Când este utilizat, de obicei conține informații despre versiune, instrucțiuni de procesare, orice comentarii ale autorului și un câmp pentru definițiile tipului de document, denumit în mod obișnuit tipul de document. Uneori, va conține și informații de redirecționare către HyperText Markup Language (HTML) dacă utilizatorul dorește să îmbine XML și HTML.
Prolog XML va apărea întotdeauna în prima parte a fișierului. Nu va urma niciodată în spatele altei secțiuni. Singura excepție este că un semn de ordine a octeților poate precede prologul XML atunci când sunt utilizate anumite tipuri de codificări de caractere. Dacă acesta este cazul, marca de ordine a octetilor declară tipul de codificare a caracterelor care a fost utilizat în sistemul XML, de obicei cu formatul de transformare Unicode (UTF). Există o serie de codificări de caractere disponibile, dar UTF-8 și UTF-16 sunt cele mai comune și recomandate codificări; dacă nu este specificat nici un marcaj de ordine a octetilor, computerele vor citi sistemul fie ca UTF-8, fie ca UTF-16, codificările implicite.
Instrucțiunile de procesare definesc modul în care aplicația va procesa informațiile din prologul și sistemul XML. Instrucțiunile de procesare pot apărea oriunde într-un sistem XML. Doar instrucțiunile de procesare din prologul XML vor fi considerate ca făcând parte din declarația XML.
Comentariile, ca și informațiile de procesare, pot fi găsite oriunde în sistemul XML și numai comentariile din prolog sunt considerate a fi parte din prologul XML. Comentariile sunt seturi de date cu text liber care nu au nicio influență asupra scripturilor din sistem și sunt de obicei acolo pentru a ajuta programatorul să-și amintească ceva sau pentru a spune ceva altor programatori. Acestea includ adesea informații despre autor, numărul versiunii sau orice altă informație pe care autorul dorește să o transmită altor editori de scripturi. În cele din urmă, unii autori vor include doctype. Acest lucru este recomandat, dar încă nu este o practică obișnuită printre autori.