Weekly Forms WG Teleconference

26 Mar 2008


See also: IRC log



John_Boyer, ebruchez, +1.919.254.aaaa, wellsk, Susan_Borgrink, Nick_van_den_Bleeken, Steven, Roger, unl, Mark, Charlie
Kenneth, Joern, Leigh


Skipping Reports on XForms Basic from agenda

<John_Boyer> http://lists.w3.org/Archives/Public/public-forms/2008Mar/0079.html

Behavior of replace=text for submissions that retrieve non-text

John: applicable to web based applications
... file content from system, something which isn't text code
... base64 or hexbinary content is in instance data, how to get it back out of instance data
... upload of file of xml data, person B access data with virtually same xforms to extract contents to local system
... submission with PUT to put into file system with original content
... should be able to do reverse with submission GET
... with binary content, can't dump directly into data
... why can't submission act like upload control and do the text replacement with content of node
... access binary content on the web and put into xforms instance using get or post submission requesting binary content
... thus able to get content to local file system
... comments?

Eric: how to give max control to form author and how serialized
... how to do with types in instance data
... what is type of data?
... possibly use URL, hex or binary encoded data, base64 data for instance data
... dereference the data

<scribe> Agenda: http://lists.w3.org/Archives/Public/public-forms/2008Mar/0081.html

John: using mime parameters
... image/* or application/octet-stream
... do base64 encoding before sending instance data

Eric: small list of encodings in http 1.1

<John_Boyer> if application/octet-stream; content-encoding="base64"

Eric: binary contents is sent as is, content can be chunked, no base64 needed on http to exchange binary
... no need to have base64 on wire

John: useful to have base64 to convert binary to something to be stored in XML
... efficient to get compression to happen before base64 encoding

Eric: binary serialization and hint to implementation to compress it (gzip)

<Charlie> * sorry...missed the time!

John: decoded binary data, blob of binary and xml data -- what is behavior to put into data node
... spec says it failed
... take binary to make non-binary

Eric: yes this needs to happen on xforms client
... to happen even if gzip on wire

<John_Boyer> e.g replace="text/xml; content-encoding='base64-gzip'"

Eric: maybe extra parameter needed on submission

<John_Boyer> replace="text" could default to base64-gzip when binary data is received

Eric: need consistency between upload and submission

John: is this a legitimat comment for xforms 1.1
... replace=text/xml when receives binary data, instead of failing, it defaults to base64-gzip encoding
... instead of failing do something intelligent
... submission with GET of "file:"
... similar to upload control
... should submission fail with binary data, should we change for 1.1 or wait for future?

Steven: sounds like substantive change
... add to errata..
... should not change for CR 1.1

John: if future feature, should this be something we want to do, Eric/John say is useful

Steven: doesn't make it text

John: if 1.2 or later we can revisit keyword to trigger processing to occur
... "replace=binary"
... action to make replace=binary a future feature item

<John_Boyer> http://lists.w3.org/Archives/Public/public-forms/2008Mar/0055.html

Make progress on "Add Model Item Properties to UI Level"

John: based on canonical form can use both $ and non-$ syntax

<bind id="LineTotal" nodeset="LineTotal">

John: output with "name=LineTotal"
... missing

Eric: doesn't use the index
... uses context node, found bind returns more than one node
... particular row element

John: how it works within repeat... but how is it doing it

Eric: for each row element evaluate nested binds

<John_Boyer> http://www.w3.org/TR/xforms11/#idref-resolve

<ebruchez> "Otherwise, the IDREF resolution produced a null search result."

John: 4.7 written to identify one object

<John_Boyer> <repeat bind="somenodeset">

John: context node at point of ref to select inner bind which is being referred to...

<John_Boyer> <input bind="somenode">

Eric: last sentence of 4.7.2
... LineTotal would return 0

John: intent to find object not ids
... if can't find single object of referred to id -- then it would return null

Eric: id resolution would be handled behind the scene in implementation

John: repeat with inputs, not enough to say it is one element, repeat is binding to multiple nodes, have to be input elements
... physical copies of same input element or actually are input elements

<John_Boyer> http://www.w3.org/TR/xforms11/#ui-repeat-module

Eric: wondered what was the intent of "bind the element"
... what would bind return..?

John: can make behavioral changes since working on spec
... union of inner bind nodesets

<John_Boyer> http://www.w3.org/TR/xforms11/#def-repeat-object

Eric: xforms:repeat referencing inner bind, compute resulting nodesets
... what is resolution of variable within inner bind

John: can't select a particular inner bind or result of nodesets from inner binds
... simplified syntax -- $ approach, $LineTotal is referring to inner bind

Mark: create a bind with LineTotal...
... why do they need to be done like that?

Eric: to reference a bind

<nic1> otherwise it will not work for nested repeats

Eric: makes sense to define as an inner bind

<markbirbeck> <bind id="row" nodeset="row" />

<markbirbeck> <bind id="Product" nodeset="row/Product"/>

<markbirbeck> <bind id="LineTotal" nodeset="row/LineTotal">

Nick: if have nested repeats -- presents a problem
... nested repeat to be relative to outer repeat

John: how to refer to Price?

Mark: thought all Binds were at the top level...

John: are you ok using inner binds?

Mark: yes would have to be that way..

John: Quantity, Price causing inner binds to happen as same as controls


John: iterate calculations, so good as inner binds
... sum $LineTotal, treating as id refs to binds...
... how work with todays spec...
... ID refers to to specific object
... $LineTotal is outside of repeat, take the union of nodesets
... does context node allow to select next bind up, and repeated next bind up

Mark: concatenate inner evaluations with in repeat

Eric: look at context on both sides, if match -- take that bind

<ebruchez> we DO have a current() function, sorry about that

John: Bind ID referencing needs to be worked out
... to take union and arbitrary recursive depth..

Nick: hard to do

John: becomes recursion to go up to next bind, etc, and still can't find it then stop
... only have to do recursion when ref is made
... which of the inner binds have the evaluation scope...

Eric: think that something like this will work...
... have all the nodesets, can list all the nodes

John: might be a bit slow, reparse set of binds, find all the id refs and then union results...

Eric: caching could save it, and other implementation tricks

John: caching tricks would have to be frequently used for implementation

Binds have to have a rebuild to update references

John: what happens when you use $ vars inside xpath expr i binnds?

Eric: if using on calculates shouldn't be a problem, could be more problematic in @nodeset

John: creating an "order" problem on how to effect binds

Eric: direct relationship of var ref and bind

John: doing rebuild, process binds in particular order

Eric: perhaps easily prevented

John: maybe not make forward references..

Eric: in exforms, variables have to be declared before and inscope referenceable

John: can do that because you created a variable

Eric: make 2 passes

John: end result, becomes a topological sort

Eric: binds depend on other binds
... using path expressions

Nick: no, referred variable in nested bind, or deeper in hierarchy in nodeset

John: harder than depth first search

Eric: LineTotal is specified before repeat binds...
... clearly order would have to be changed and could determine that

John: key issues coming out is, $ case looks good for simplified syntax is good, but processing model has to be reworked and fleshed out
... order would have to be recalculated

Eric: maybe canonical form would replace with path expressions

John: Convert $ system, converted to something that does the xpath concatenation
... $LineTotal appears outside of repeat, but is ref to inner bind, replaces with xpath '/' concatenation

Eric: complex calculate coiuld become hard to do

John: we have a future feature to do binds with UI expressions
... depth first search for rebuilds
... maybe don't need UI binds if we have $ variables.
... other things can't refer to it...
... need to resove this

<nic1> Nick: You can't concatenate the XPath expressions if you have current() in multiple of those expressions because the different current() instances refer to different nodes

<Charlie> sure

John: can people attend a special session to resolve this...

Many: yes

Summary of Action Items

[End of minutes]