Snel XML debuggen met XML::Twig
Gepubliceerd: Woensdag 19 augustus 2009
Auteur:
Er zijn veel systemen die gebruik maken van data in XML. Je vindt het bijvoorbeeld in configuratiebestanden en in uitwisselingsdata tussen verschillende programma's. Soms gaat er ergens in je systeem iets fout en dat kan liggen aan fouten in XML. Maar die wil je niet met de hand gaan opsporen, dus dan komt XML::Twig goed van pas.
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
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
