See also: IRC log
Skipping Reports on XForms Basic from agenda
<John_Boyer> http://lists.w3.org/Archives/Public/public-forms/2008Mar/0079.html
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
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
s/Quatity/Quantity/
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