Content is not allowed in prolog
Look for a debug message, HTTP response header or stray character before the declaration. Decode the original bytes with the declared encoding; do not remove meaningful document content. A UTF-8 byte order mark at the beginning is different from an embedded text character.
Remove non-XML output before the root
Look for a debug message, HTTP response header or stray character before the declaration. Decode the original bytes with the declared encoding; do not remove meaningful document content. A UTF-8 byte order mark at the beginning is different from an embedded text character.
Reproduced engine diagnostics and complete fixes
Original minimal examples checked on 2 November 2026. Engine wording differs; follow the cause, not a message alone.
libxml2-wasm 0.7.2
Start tag expected, '<' not foundXerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS
Content is not allowed in prolog.lxml 6.0.2 / libxml2 2.14.6
Start tag expected, '<' not found.NET 10.0.14 / System.Xml
Data at the root level is invalid. Line 1, position 1.libxml2-wasm 0.7.2
Start tag expected, '<' not foundXerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS
Content is not allowed in prolog.lxml 6.0.2 / libxml2 2.14.6
Start tag expected, '<' not found.NET 10.0.14 / System.Xml
Data at the root level is invalid. Line 1, position 1.libxml2-wasm 0.7.2
Start tag expected, '<' not foundlxml 6.0.2 / libxml2 2.14.6
Start tag expected, '<' not found.NET 10.0.14 / System.Xml
Data at the root level is invalid. Line 1, position 1.Repeat this check in your workflow
API, Python CLI and GitHub Actions starter are available for automation. The public API is early access; paid CI authentication and SLA are not offered. Pro: US$19/month, 25-file batches and 10 saved schemas. Team: US$49/month, 100-file batches, 100 schemas and five seats.