Mis on XML Prolog?

Laiendatava märgistuskeele (XML) prolog on iga XML-süsteemi osa, mis asub enne süsteemi juurelementi. See on XML-süsteemi osa, milles määratletakse teave XML-programmeerimise kohta. XML-i prologi jaoks pole standardit, kuid see sisaldab tavaliselt samu tunnuseid ühest süsteemist teise. Mõnel juhul võib see isegi tühjaks jääda, kuna kasutaja ei soovi prologiteavet deklareerida. Isegi kui see on tühi, on see endiselt olemas igas XML-süsteemis.

XML-i eellogi nimetatakse mõnikord XML-deklaratsiooniks. See on olemas igas süsteemis, kuid selle kasutamine on valikuline. Kui seda kasutatakse, sisaldab see tavaliselt versiooniteavet, töötlemisjuhiseid, autori kommentaare ja dokumenditüübi määratluste välja, mida tavaliselt nimetatakse doctypeks. Mõnikord sisaldab see teavet ka hüperteksti märgistuskeelde (HTML) edastamise kohta, kui kasutaja soovib XML-i ja HTML-i liita.

XML-i prolog esineb alati faili esimeses osas. See ei järgne kunagi teise lõigu taha. Ainus erand on see, et teatud tüüpi märgikodeeringu kasutamisel võib XML-i eellogile eelneda baidijärjestuse märk. Sel juhul deklareerib baitide järjestuse märk XML-süsteemis kasutatud märgikodeeringu tüübi, tavaliselt Unicode’i teisendusvormingus (UTF). Saadaval on mitu märgikodeeringut, kuid UTF-8 ja UTF-16 on kõige levinumad ja soovitatavamad kodeeringud; kui baitide järjestuse tähist pole määratud, loevad arvutid süsteemi vaikekodeeringuna UTF-8 või UTF-16.

Töötlemisjuhised määravad, kuidas rakendus töötleb teavet XML-i eellogis ja süsteemis. Töötlemisjuhised võivad ilmuda kõikjal XML-süsteemis. XML-deklaratsiooni osaks loetakse ainult töötlemisjuhised XML-i eellogis.

Kommentaare, nagu ka töötlusteavet, võib leida kõikjal XML-süsteemis ja ainult prologis olevaid kommentaare loetakse XML-i prologi osaks. Kommentaarid on vaba teksti andmestikud, mis ei mõjuta süsteemi skriptimist ja on tavaliselt selleks, et aidata programmeerijal midagi meelde jätta või teistele programmeerijatele midagi öelda. Need sisaldavad sageli teavet autori kohta, versiooninumbrit või muud teavet, mida autor soovib teistele skriptiredaktoritele edastada. Lõpuks lisavad mõned autorid doctype’i. See on soovitatav, kuid siiski mitte levinud praktika autorite seas.