Zelf hebben we regelmatig meegemaakt dat bij fouten in het systeem gewoon bleek dat de XML niet correct was. Dan waren tags niet goed afgesloten, of data stond in een verkeerde encoding (Windows-1252, terwijl de header in het bestand aangaf dat het UTF-8 had moeten zijn).

XML is nooit bedoeld om met de hand te verwerken. Debuggen van een XML-bestand is dan ook niet iets dat je met de hand wilt doen, zeker niet als een bestand de nodige megabytes groot is. Zelf een parser schrijven op basis van SAX of DOM kost niet zo heel veel tijd, want elke fatsoenlijke programmeertaal heeft tegenwoordig goede ondersteuning voor XML. Maar als je snel een XML-bestand wilt debuggen is het niet zo heel erg praktisch om eerst zelf een parsertje te moeten schrijven.

Voor dat soort gevallen is er XML::Twig, een XML module geschreven voor Perl, met een aantal erg handige tools, zoals xml_grep, xml_split (op een bepaalde tag splitsen van een XML bestand in meerdere bestanden), xml_merge (samenvoegen van XML bestanden) en vooral xml_pp, de XML pretty printer. Als je een bestand door deze pretty printer haalt en er zit een fout in, dan zal xml_pp precies zeggen waar in het XML bestand de fout zit. XML::Twig is er voor alle gangbare besturingssystemen.

Bron: Techworld