XForms 1.1 context() function and (xforms:insert|xforms:delete)/@context attribute

All,

Section "7.10.4 The context() Function", says:

   "This function returns the in-scope evaluation context node of the
    nearest ancestor element of the node containing the XPath
    expression that invokes this function."

I am wondering whether this was written with the @context attribute on
xforms:insert and xforms:delete in mind. Say you have:

   <xforms:insert context="instance('foo')" nodeset="context()/bar"/>

I am not sure my example is very useful, but still, what should
context() return in this case?

It seems reasonable to suppose that given its name, context() returns,
well, the context, whether in-scope or overridden. In this case,
context() would return the node pointed to by instance('foo'), not the
in-scope context for the xforms:insert action.

I am not sure that saying that context() always returns the in-scope
context would be very intuitive when you use a @context attribute.

This is important to consider since we might generalize use of the
@context attribute in 1.2.

-Erik

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/

Received on Wednesday, 13 February 2008 18:56:44 UTC