Hey guys, I must say, it's looking good! All those little improvements will make a big difference!
Can I make a suggestion? I have an idea for something that is effectively "two stage" mapping that should simplify and clean up the UI (and all those mapping links/lines!).
One can start off with high level mapping: “complexType(s) to complexType(s)”, and then once you have these “high level” structures mapped, you can drill down into one of the above links/maps and start the low level mapping: “elements to elements”. This low level mapping only shows the complexTypes that you chose/linked/mapped to in the high level view.
So, how would this look/work: Take the Biztalk mapper. The first high “level view” will have the source schema on the left, the mapping surface in the middle and the destination schema on the right (exactly like now) except the schemas on the left and right will only contain lists of all the complexType’s in the schemas. One can then click and drag to link two (or more) complex types from left to right (similar to how mapping is down now). Once this link is created, you can then double click on this link, and it takes you to the “low level mapping” view. All that’s changed in this view is that the compexTypes “linked” in the previous view, and only those complexTypes, are now expanded in the source and destination surfaces to show the elements and only the . Now one can map individual fields/elements.
We have quite huge and complicated schemas where I work, and mapping from one xml instance to another is an almost impossible task, abstracting things a bit like possibly just mapping complexTypes, will simplify mapping a great deal!
Hope all this made sense, drop me a mail and I will be more than willing to discuss it.
Keep up the good work! … and let me know what you think.