Hvad er XML Prolog?
XML-prolog (Extensible Markup Language) er den del af hvert XML-system, der er til stede før systemets rodelement. Dette er den del af XML-systemet, hvor information om XML-programmeringen er defineret. Der er ingen standard for XML-prolog, men det vil normalt indeholde nogle af de samme træk fra det ene system til det næste. I nogle tilfælde kan det endda være tomt, fordi brugeren ikke ønsker at erklære nogen prolog-oplysninger. Selvom det er tomt, findes det stadig i ethvert XML-system.
XML-prolog kaldes undertiden XML-erklæringen. Det findes i ethvert system, men brugen er valgfri. Når det bruges, indeholder det typisk versioninformation, behandlingsinstruktioner, eventuelle kommentarer fra forfatteren og et felt til dokumenttypedefinitioner, der ofte benævnes doktype. Det vil undertiden også indeholde videresendelsesoplysninger til HyperText Markup Language (HTML), hvis brugeren ønsker at flette XML og HTML.
XML-prolog vil altid forekomme i den første del af filen. Det vil aldrig følge bag et andet afsnit. Den eneste undtagelse er, at et byteordermærke kan gå forud for XML-prologen, når der anvendes visse typer tegnkodinger. Hvis dette er tilfældet, angiver byte-ordremærket den type karakterkodning, der blev brugt i XML-systemet, normalt med Unicode transformation format (UTF). Der findes en række karakterkodinger, men UTF-8 og UTF-16 er de mest almindelige og anbefalede kodninger; hvis der ikke er angivet et byteordremærke, læser computere systemet som enten UTF-8 eller UTF-16, standardkodningerne.
Behandlingsinstruktionerne definerer, hvordan applikationen skal behandle informationerne inden for XML-prolog og -system. Behandlingsinstruktioner kan vises hvor som helst i et XML-system. Kun behandlingsinstruktioner i XML-prologen betragtes som en del af XML-erklæringen.
Kommentarer, ligesom behandlingsinformationen, kan findes overalt i XML-systemet, og kun kommentarer i prolog anses for at være en del af XML-prologen. Kommentarer er fritekstdatasæt, der ikke har nogen indflydelse på scripting i systemet og er normalt der for at hjælpe programmereren med at huske noget eller at fortælle andre programmerere noget. De inkluderer ofte oplysninger om forfatteren, versionnummeret eller andre oplysninger, som forfatteren vil videregive til andre scripteditorer. Endelig vil nogle forfattere omfatte doktype. Dette anbefales, men stadig ikke almindelig praksis blandt forfattere.