I finished my ingame xml editor. Well it might never be 100% finished (like any mod project), but it can be used as it is in the current state and it is now part of the develop branch.
Dating back to even before WTP, I noticed how modders have a tendency to use a subset of the available tags. In particular optional tags became a pain to use because you have to look them up in the schema and because people don't do that, optional tags tend to end up overlooked. Another issue is that it can be hard to determine which type goes into which tag, like is a tag UnitTypes or UnitClassTypes. To make matters even worse, vanilla xml reader won't care if you use the wrong type in a tag. It will just end up making a game other than what the modder wanted.
To fix this, I decided to make an xml editor of my own, one which will present all tags as they are written in the schema. I did a few attempts, which ultimately ended up in nothing (though I reused code from the last attempt). You can read about that here.
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)...
forums.civfanatics.com
Now I made an editor, which is integrated into We The People itself. It's working and I merged it into the develop branch. It does require some setup to know what each tag is supposed to do, but that's easily done as the setup for that is in the right click menu on each tag. That setup is saved meaning once somebody set it up, other people can use it. Also it allows adding mouseover help to each tag.
It's accessible ingame in the same menu as world builder. No setup needed to enable this.
FAQ
Can I use this with my mod?
Yes. The menu has an option to create a settings file, which makes it work on the xml files of another mod.
Can I use this with Beyond the sword?
Yes. As long as the schema file obeys vanilla rules (support for XSD/W3C schemas might happen)
Do I need to use We The People/Colonization to get this to work?
Currently yes. I have no plans to create or maintain a standalone version of this editor. I'm aware that there are BTS modders, who doesn't have Colonization and I wouldn't be against the idea of a standalone BTS editor mod. However I do not plan to make one myself. Most of the source files are standalone, so just copying them into a BTS mod shouldn't be a major issue.
There is one major difference between Colonization and BTW. Only colonization supports drag and drop widgets. A BTS mod would have to have code to disable any feature relying on this. I did add COLONIZATION_EXE and CyXMLEditor.isColonizationExe() so it should be possible to create a single source code, which supports both. That is if somebody is willing to spend the time making it. Obviously it would be in the best interest of everybody if a fork would stay so compatible that getting an update from the other one is just copying the files.