Tips en Trucs 2018

XML bestanden aanpassen met QXmlEdit

Elk XML document kan je aanmaken met een eenvoudige teksteditor, maar het wordt al vlug een onoverzichtelijk monnikenwerk. Een gewone XML editor structureert het schrijven van lange XML documenten. Vroeg of laat verzeil je echter in een situatie waarbij zelfs een gewone XML editor niet meer voldoet. Een paar voorbeelden: het tellen van elementen in gegevens, omgaan met binaire gegevens, vergelijken van twee XML Schema Definities (XSD's). QXmlEdit, de open source en platform onafhankelijke (dankzij de gebruikte QT bibliotheek) XML editor heeft ongewone mogelijkheden om je te helpen bij deze en soortgelijke complexe situaties.

QXmlEdit installeren

QXmlEdit installeer je eenvoudig via de standaard softwarebronnen:

Start Menu Toepassingen > Hulpmiddelen > QXmlEdit. Bij de eerste start, wordt de GNU Library General Public License weergegeven die je moet lezen en accepteren om QXmlEdit te kunnen gebruiken. Daarna kies je tussen een begeleide of gevorderde gebruiker. De begeleide gebruiker krijgt een dialoogvenster met knoppen met de meest gebruikte QXmlEdit functies. Hieronder een afbeelding met een geopend XML bestand.

QXmlEdit

Gegevens verkennen

Sommige toepassingen produceren enorme XML bestanden, die niet door alle editors geopend kunnen worden. QXmlEdit kan gegevens grafisch weergeven, waarbij horizontaal het nesting niveau gevisualiseerd wordt en verschillende kleuren de verschillende dimensies weergeven, zoals het aantal kinderen, eigenschappen, tekstgrootte of een cumulatieve som. Pieken worden weergegeven met behulp van beeldbewerking trucs. Via een 3D weergave kan je verschillen in waarden via pieken en dalen evalueren. Daarnaast kan je statistieken genereren met de distributie van de elementen en hun onderlinge relaties.

Visualisatie
Map
Data

Binair en Base64 formaat

XML is een gegevensdrager, maar binaire gegevens zijn niet toegelaten, of ze moeten naar tekst omgezet zijn. Base64 is de meest gebruikte methode om binaire gegevens naar tekst om te zetten. Daarenboven wordt Base64 door de XSD standaard ondersteund. In QXmlEdit is Base64 een optie voor tekst en elementen. Je kunt een bestand in een tekstveld of als eigenschap (attribute) invoegen. Als het binaire gegeven tekst of een ander XML fragment is, kan je het in de editor omzetten van en naar Base64. Ook in het zoekveld kan je Base64 gecodeerde tekst gebruiken. Voor het zware werkt, is een hulpmiddel (Tool) beschikbaar om gegevens naar Base64 om te zetten.

Base64

Bestudeer de geschiedenis

XML (en zeker het gespecialiseerde XSD formaat) wordt veel gebruikt om gegevens tussen programma's en systemen uit te wisselen. De XML gegevens worden dus verzonden en ontvangen. Bij het aanpassen van een XML bestand kan QXmlEdit gebruik maken van metadata om de huidige versie te achterhalen.

Sommige metadata, zoals de bestandsdatum, auteur, revisienummer kunnen automatisch bij het opslaan bijgewerkt worden. Andere (other) metadata wordt via een dialoogvenster aangepast.

Metadata

Opmaken

XML is een mensentaal, zijn structuur en grammatica is geschikt om in een klassieke teksteditor bewerkt te worden. Maar opmaak en inspringen maakt het eenvoudiger om in een oogwenk XML te lezen en te begrijpen.

QXmlEdit voorziet opties om XML in de editor op te maken en slaat de opmaakinstellingen in het bestand op. De eigenschappen kunnen alfabetisch gesorteerd worden, per regel worden weergegeven en het aantal directe en indirecte kinderen worden weergeven.

Bij het opslaan, kan je kiezen tussen verschillende mogelijkheden of de gegevens in dezelfde volgorde opslaan als bij het laden. Voorinstellingen met veel gebruikte formaatstijlen helpen je kiezen. De instellingen kunnen als uit te voeren instructies (processing instructions) in het XML bestand opgeslagen worden en worden zo bij het laden automatisch actief.

Inspringen
Visualisaties

Splitsen

Fragment extractie is een manier om XML documenten te manipuleren die groter zijn dan het beschikbare geheugen en om ze op te splitsen in kleinere XML documenten. Je kunt fragmenten opslaan in nieuwe bestanden, het bronbestand filteren of eigenschappen uitvoeren naar een CSV bestand. Daarbij kan je een structuur van mappen aanmaken om te vermijden dat duizenden bestanden in één map terecht komen. De splitscondities kan je bepalen op aantal, eigenschappen, enz. Na de splitoperatie kan je in de editor door de fragmenten bladeren. Handig om geïsoleerde onderdelen geautomatiseerd uit gegevens te halen.

Extract fragment

Gegevens verbergen

Bij het testen, moeten de gegevens zo realistisch mogelijk zijn, maar je kan geen echte productie gegevens delen met andere ontwikkelaars om te analyseren en problemen op te lossen. De QXmlEdit Anomize functie bewaard de XML structuur maar verbergt gegevens die je niet wil delen. Je kunt in de editor regels opmaken om bepaalde gegevens te verbergen. Deze regel kan je dan ook toepassen op verschillende andere bestanden. Daarbij worden geen originele gegevens behouden, enkel de structuur en payload type waardoor het overblijvende bestand gebruikt kan worden voor test- en analysedoeleinden. Daar QXmlEdit open source is kan je eigen algoritmes naar keuze toevoegen.

Verbergen

Vergelijken

XML en XSD is handig om gegevens tussen systemen uit te wisselen. Om te achterhalen wat er juist is veranderd vergelijk je de vorige versie met de huidige. Elk verschil wordt met een kleur aangeduid. Het resultaat kan je uitvoeren naar een PDF of SVG bestand om dit in de project documentatie op te nemen.

Vergelijken

QXmlEdit bevat functies om XML bestanden te beheren en daarbij horende problemen op te lossen, van structuur tot coderen. En dit alles binnen de editor.

Bezoek voor meer informatie de QXmlEdit webpagina.