Forms Working Group Teleconference

09 May 2012


See also: IRC log




<trackbot> Date: 09 May 2012

<pfennell> Meeting: Forms Working Group Teleconference

<pfennell> Date: 09 May 2012

<scribe> scribe:nick

<scribe> scribenick:nvdbleek

XForms Users Community Group

ebruchez: Leigh was going to start a discussion about Goals and transfer the needed documents to the community

<pfennell> http://lists.w3.org/Archives/Public/public-xformsusers/2012Apr/0010.html

XPath 2.0: on bindings to atomic values and the result of the

element()/attribute() functions

nvdbleek: we discussed this in a previous call

ebruchez: We had one open question about what to do when you bind to a node that doesn't belongs to an instance
... I will lookup the minutes

<ebruchez> http://www.w3.org/2012/04/04-forms-minutes.html#item04

<ebruchez> <xforms:input ref="element('foo')">

pfennell: how can you bind to node that doesn't belongs to an instance?

ebruchez: By using for example: <xforms:input ref="element('foo')">
... There are other possibilities the transform function, the document function

alain: event()

ebruchez: not sure about the event()
... one issue is that the control will loose its value when the binding is re-evaluated
... A proposal was to make the controls read-only when a control is bound to a node if not in the instance
... we need to answer what the element() returns, is it a mutable node?

<ebruchez> <xforms:var name="new" value="element('foo')"/>

<alain> response-headers http://www.w3.org/TR/xforms11/#submit-evt-submit-done

<ebruchez> <xforms:setvalue ref="$new" value="42"/>

ebruchez: A frequent use case is that the instance doesn't has all elements and attributes, therefore we added the element() and attribute() function
... for atomic values it is clear that it is read-only because you can't write to it
... last week we had the discussion to binding to text(), comments() and pi nodes

nvdbleek: in my proposal the result of element() is in-mutable so the setvalue action wouldn't update it

ebruchez: you may want to prepare the tree before inserting

nvdbleek: I think we need to be careful that we make it interoperable when we allow changing elements that don't belong to the instance
... we already have a check for the mutation actions that they aren't read-only (it is just another way of read-onlyness)

ebruchez: we are currently creating a lot of transient instances, and if you aren't able to create a mutable sub-tree in an action

nvdbleek: I think if we make the trees mutable we have to specify carefully to say what happens, otherwise it would be not iterropable between implementations

ebruchez: I think we just add a note that you shouldn't bind controls to non-instance-nodes, and that it will behave 'strange'

pfennell: how would you be able to add MIPS to nodes that don't belong to an instance

ebruchez: The functions are meant to use in actions, when the nodes are inserted in an instance, they become mutable.
... you won't be able to bind to them

<ebruchez> http://www.w3.org/MarkUp/Forms/wiki/XPath_Expressions_Module#The_valid.28.29_Function

nvdbleek: I'm a bit scared that someone will create a top level variable that uses the element() and in some implementation it won't never be re-evaluated and in other implementations it would be at every refresh

<ebruchez> "If the function is used in a model binding expression the XForms Processor should terminate processing after dispatching the event xforms-binding-exception to the model"

ebruchez: We could restrict where the element() is used
... it may result in an exception
... It will result in an exception in any binding expressions
... everywhere outside an action

<pfennell> Sorry about that, I'm back now.

ebruchez: what if you are only using it in a transient way inside an expression

<ebruchez> I would be fine if:

<ebruchez> 1. element() and attribute() return mutable nodes

<ebruchez> 2. this implies you can set value/insert/delete

<ebruchez> 3. field of use for the function would be limited to actions (i.e. prevented in bindings etc.), like the valid() function

nvdbleek: you can declare a variable and use the variable later in a UI control
... using this schema you can use the element() indirectly

ebruchez: we could exclude it everywhere outside an action

pfennell: what is the scoping of variable

ebruchez: in XForms 2.0 it is lexical scoped, in our implementation if you add a variable to a model, you can use the variable if it is in the current model

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.136 (CVS log)
$Date: 2012/05/09 15:59:29 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.136  of Date: 2011/05/12 12:01:43  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Found Scribe: nick
Found ScribeNick: nvdbleek

WARNING: No "Present: ... " found!
Possibly Present: P28 alain ebruchez forms joined nvdbleek pfennell scribenick trackbot
You can indicate people for the Present list like this:
        <dbooth> Present: dbooth jonathan mary
        <dbooth> Present+ amy

Regrets: Steven
Agenda: http://lists.w3.org/Archives/Public/public-forms/2012May/0001.html
Found Date: 09 May 2012
Guessing minutes URL: http://www.w3.org/2012/05/09-forms-minutes.html
People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.

[End of scribe.perl diagnostic output]