question about objects returnable from subdialogs

The 2.0 VXML spec seems to contradict itself on the question of if
nonmarshallable
data must be returned from subdialogs or not.  Such as the ECMAscript equivalent
of a pointer to a function.  Or even objects that refer to each others
properties directly.

One one hand there is the language that says that ECMAscript objects
are returned,
and on the other hand there is the language in section 2.3.1 that includes:

    Variables in the scope chain of the calling dialog
    are not shared with the called subdialog: there is
    no sharing of variable instances between execution
    contexts

which leaves unspecified behavior WRT variables outside the scope chain,
if the scope chain is considered

    with(application){
       with(document){
          with(dialog){
             with( _implementation.item_scope){
                       EVALUATE THINGS HERE
             }
          }
      }
    }

also there is

     All variable bindings applied in the subdialog context are
     lost on return to the calling context.

but there is the requirement that objects are what is returned as the properties
of the returned object.

So:  If my implementation only hides and restores the
application,document, dialog
and anonymous scopes, but allows an application author to write to
sneakypass.foo
in a script in a subdialog and read same after returning the outer
context, by reading
the section about "scope chain" to mean explicit scope chain, and furthermore
interprets "variable bindings" to mean "VXML <var> element declarations,"  would
my implementation be out of compliance?

David Nicol

Received on Friday, 2 March 2007 22:37:49 UTC