I don't want to sound ungrateful but, I'm thinking of not using XML files at all.
I'm gonna use actual script files themselves as the keyboard layout definition (.lua in my case as I've decided to use Lua). What I'll do is, there's a lua table that declares all the keys, where they are on the screen, and a callback function attached to each. When a key is pressed, that callback function gets called, which would normally return a single letter, but this lets me do stuff like making a key output the current date and time, which is what the blank keys on the far left are for (in my program). Its quite similar to the XML file you made actually.
I had originally been thinking each key have its own .png file so users can rearrange the layout on the fly, but maybe one big keyboard .png file may be easier (like in the ones you provided, and besides, its also how I do things currently).
In your QWERTY layout pic, I can see a forward slash "/", but I can't seem to find backslash "\", also tab, bar "|", tilde "~", and backquote "`" (although the last three might not be that important).
I'm also gonna make a "character map" keyboard layout. Its like the Character Map program for Windows, a table of chars including accented letters and those wierd engineering/math symbols.
I might also put in the FITALY layout, I used to use that when my PDA was still working.
http://www.fitaly.com/
Here's some weird page I found about alternative keyboard layouts (its in Japanese though, I just look at the pictures):
http://pitecan.com/articles/HIS/Inpu...putsurvey.html
http://mrl.nyu.edu/projects/quikwriting/Quikwrite2.html