Hello Derek and thanks for your quick answer,
To 2.)
I know about this feature but it really doesn't fit our needs:

There is way to little space for nearly any useable description. Is there any way to expand this?
To 3a)
Right. We need a function so select nodes or content in relation the the active selection like
selection.getNodesByXpath("ancestor::*sample_element[1]")
I'm currently using XMetaL Author Developer 5.0 with Visual Studio 2005:

I simply can't find the method
getNodesByXpath within the
selection-object. I only know a workaround like
selection.selectNodeContents(selection.ContainerNode.getNodesByXpath("ancestor::sample_element[1]")(0))
To 3b)
Hmm, ok. That's really sad because VS is now 2 versions ahead and the problem exists for more then 5 years now... But thanks anyway for this information.
To 4)
Ok, I see.
To 5)
You are right, of course. But I am not able to edit the code while debugging it, step back, run the line again and so on (like in the IDE of VBA for example).
Secondly I wonder if I can send command directly to XMetaL. When trying to to this via the input window with commands like
msgbox selection.ContainerName they are not executed.
(Translation: "The statement can not be processed while running in execute code").
When trying to debug XMetaL scripts from VS I got this message in the beginning (the build process is executed anyway and XMetaL starts up normally after this):
(Translation: "Scriptcode can not be debugged. Illegal function.")I am not really familiar with the internals of Visual Studio, so if you could give me some help here...
Thank you in advance,
spyro