I will use this thread to keep track of my perl GUI work. As mentioned elsewhere I managed to find wxPerl, which allows usage of wxWidgets in perl scripts. In other words it is a library, which allows easily created GUIs, which works cross platform (windows, mac, linux and some other platforms). However it turns out that easy only applies once you truly figured it out. wxPerl is mostly undocumented and wxWidgets is ok documented for reference, but I haven't found anything useful for "get started" except for how to open a window. I made this window (as already mentioned) and committed it as TypeRename.pm inside GUI_scripts in the source module. It's a fairly simple interface to rename types in xml and it renames both the type itself and all references to that type. My new addition called Editor.pm. It reads the xml files, makes the list to the left and when one is clicked, it makes a list of all types and writes those in the right list. Currently it does nothing else and it lacks a concept of types as it forgets about all of them as soon as it has added them to the list. The goal is to be able to edit xml files through this interface, hopefully by using the schema files as templates to ensure everything is written in the right order, even when MinOccur=0. I have no idea if that will ever be possible because there is currently so many unknowns, but I do know the only way to find out is to keep trying. Right now it seems like the obvious goal is to make something, which opens a schema file and then writes a bunch of text fields based on the xml layout. Once that is working, fancy stuff like checkboxes for bools can be implemented. My biggest concern is lists as the one tag, one text field seems fairly simple. Actually the next step is to make a hardcoded "schema file" with some tags to write text for. Nothing about file I/O, just draw the stuff on the screen.