Hi Tom,
What you were trying to do in your first example in this thread looked like listening on a "value changed" event on a node in an instance. But XForms doesn't work this way: xforms-value-changed comes from the control whose value has changed, not the node in the instance.
In instance('src') you have the name of the element in the instance, e.g. first-name, because the element is <first-name/>. Is the form created with Form Builder? If it is, then the id of the control will be first-name-control, i.e. the name with the -control postfix. So you should be able to do the test with something like:
if="event('xxf:targetid') = concat(instance('src'), '-control')"
While looking for a solution, you might want first to put not if="...", and have an <xf:message> to see if the event handler is called, at all, and then when it is, make it show the value of event('xxf:targetid') and instance('src') to check they are what you expect.
Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet