See also: IRC log
<trackbot> Date: 07 July 2010
<pfennell> I can't join the call but I am watching this channel.
<Steven__> Previous: http://www.w3.org/2010/06/30-forms-minutes
<scribe> scribe: wiecha
Steven is looking for comments/feedback on the quick ref
preferably in next 3 weeks
is also planning to update 1.1. tutorial, have been working on it during the past week using xsltxforms for live examples
+1 from wiecha
Steven asks Alain whether copy is implemented in select
Alain: not yet
Steven: anticipating publishing the 1.1 tutorial before leaving on vacation, would like feedback there as well
will be calls next week and week after
Nick: node creation functions would avoid need for templates and allow creation of nodes w/names just known at runtime
<Steven__> akim, who is noisy?
Nick: John suggested using creation functions only in actions to avoid refresh problems
Steven: would like a simpler approach than we have now
Nick: can accept restrictions as suggested by John
John: get something working for most urgent use cases, then look at processing model changes for other cases later on
Steven: could @ref be extended to create nodes as side-effects
Nick: node fns solve other issues
too...iterations in repeat or attributes in data structure for
submission, hard with just @ref
... maybe having something even easier like @ref would be good too, but other cases remain
... @ref w/predicate would be hard/invalid
Steven: trying to make the simple cases simple
John: what are those?
Steven: first one in email, ref="foo/@bar" just create @bar if it doesn't exist
Alain: what about attribute as a new action?
Steven: attribute is an example of one case, could be used for elts as well
Nick: that's where node create fns come in
Steven: see the complex cases yes, but there are really simple ones
John: we've made other decisions
where we create more attributes
... maybe we need create if not there, return if there type of function...still inside the ref
Nick: a fn can never change the data model
so node fns use insert action since fns are pure
Nick: need to avoid changing underlying data model
Alain: main problem is about schema
can define the attribute is relevant but if it's not in the instance not possible to ...
would support ref="foo/@bar" if allowed by schema
John: right, author has said if not in instance data pls add, could just add by other means
Nick: we have conditional insert with node fns test for missing content and do extra inserts
Steven: sounds like a bind...required="foo/@bar"
Nick: yes, but binds bind to nodeset
in our impl we can say, for example, want 3 iterations and create those placeholder elements
Alain: right, that's why I think it's schema driven
Steven: so supply fragment of schema
Alain: don't use instance to determine if it's relevant to have content...just schema
Steven: problem arises with optional elements
wiecha: schema is underconstrained
Nick: gets worse with sequence
John: schema by itself may not be enough but it's part of the approach
need to differentiate between schema from external source, schema for user interaction, etc
seems like the requirement is to have an automatic way to determine at runtime conditional content
at design time we create optional elements and then conceptually set up relevance constraints to produce the instance as desired for submission
Nick: do you unroll everything? could have lots of branches from the schema
John: right, but with schema alone that's the weakness...
might have to do pruning downstream
it's a problem more general than UI binding
not enough expressive power in xforms to deal with optional elements
Steven: right, but still have the feeling that a lot of this could still be declarative
John: that's where I'm going...things we auto-generate at design time could be applied to runtime too
Nick: we allow controls to say data needs to be there so at runtime we insure node is in instance
John: thinking more about design experience analogy...starting from data/schema we start by drag/drop of instance data to canvas
if there are optional subtrees and user doesn't generate UI controls, that allows us to prune
taking this idea into runtime, suppose model has schema and instance has flagged for autogeneration, then it's like lazy-authoring++
instance is backed by schema, have UI controls pointing to instance...should then auto-generate
Steven: we use bindings to decide whether control is there or not based on instance vs. wanting to lazy generate
need to distinguish between these behaviors
could be said in the model, or flagged on the UI
seems like useful function for the author
Nick: not just element being there but also having a useful default
we can do this in our impl...checks for node, creates if needed, if value is empty applies default from design time
Alain: what about submission?
should we delete extra nodes not being used?
Steven: seems like we can still use relevance for that
Steven: interesting about default, suppose we had a MIP that said default="abc"
then default="" creates w/o value
default="abc" with value
Nick: still need to control number of repeats
Steven: can think of static number of repeats, but need to think about dynamic
Nick: need to be flexible when these constraints are applied...only at load? after instance replace? other?
Steven: sounds like we need some design work on doing this declaratively, but node creation fn should still exist as an action
<nick> that is my opinion too, the node creation functions solve other needs too
John: right, sounds like a feature separate from node create functions
Steven: do we need an action item?
Nick: for node creation functions, I could send an email for additional feedback from those not on the call
then implementors could experiment...
John: key bit is to say we think these are good additions that should be avail to xpaths in actions only...
encourage also implement binding exception if used elsewhere
Nick: also would think about a parse function
takes XML as text content and returns doc node
then can be inserted etc
John: have also seen need for parse and serialize too...should go in together
talked about this for 1.1 but should consider again
might be some wiki content
Nick: yes, parse is there but not serialize
since that's not a "creation" function :-)
John: could you add parse to the page?
<scribe> ACTION: Nick to update wiki page to split out parse and serialize as future fns/actions with exception handling [recorded in http://www.w3.org/2010/07/07-forms-minutes.html#action01]
<trackbot> Created ACTION-624 - Update wiki page to split out parse and serialize as future fns/actions with exception handling [on Nick Van Den Bleeken - due 2010-07-14].
Alain: changing child node should change value displayed
does change to child node imply change to parent?
Nick: not according to the spec
John: the string function is implicitly being invoked internally references nodes which are not in the dependency graph
since they don't appear in the parameter list
we can't see into the internals to see what else might change
the author could explicitly list nodes in the value expression
Steven: where is the problem?
John: spec doesn't allow this, no
value output is implicitly gathering up entire subtree...but the dependency graph only looks at fn signatures
and this behavior is opaque
we don't have metadata on a fn listing those additional nodes being referenced
Nick: might be possible to do this with ref rather than value...
John: spec says UI should reflect state of the model in general, but in specifics goes back to the graph
Nick: maybe we could interpret the spec to allow this, but it's not the usual impl behavior
Alain: EMC does behave as I described...it works
Nick: right, depends on how they're tracking changes
might not be narrowly scoped as per the spec
Steven: conclusion? leave alone?
John: there is an alternative way to write this
Alain: still have a concern about linkage between parent node and child node linkages
specifically about xslt fns
John: came up because xslt, like string, access nodes that are not apparent in its param list
so how to track dependencies?
spec doesn't cover these extra dependencies
which suggests there will be impls which do this optimization and this is ok
Nick: we talked about this and also had same issues about ID fn...touches descendent nodes...same question
ID can specify roots of subtrees where you search for matches
so if you change an ID need to reeval the fn
will probably occur in other functions in the future as well
John: yes, generic problem not just @value implicitly invoking string
any extension xpath function may touch nodes we don't know about
let alone the xforms built-in fns
Nick: maybe we need some additional metadata on a function declaration
or conventions on fn signatures
Steven: sounds like we need more research
John: does not currently work, and would be challenging to make it work
Steven: yes, but use cases are there
Steven: will mark this is not yet resolved
This is scribe.perl Revision: 1.135 of Date: 2009/03/02 03:52:20 Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/ Guessing input format: RRSAgent_Text_Format (score 1.00) Succeeded: s/yes/not yet/ Succeeded: s/arg/parameter/ Succeeded: s/reference/referenced/ Found Scribe: wiecha Inferring ScribeNick: wiecha Default Present: [IPcaller], [IBM], wiecha, Steven, Nick_van_den_Bleeken, Alain, unl, John_Boyer Present: [IPcaller] [IBM] wiecha Steven Nick_van_den_Bleeken Alain unl John_Boyer Regrets: Philip Leigh Erik Agenda: http://lists.w3.org/Archives/Public/public-forms/2010Jun/0031 Found Date: 07 Jul 2010 Guessing minutes URL: http://www.w3.org/2010/07/07-forms-minutes.html People with action items: nick WARNING: Input appears to use implicit continuation lines. You may need the "-implicitContinuations" option.[End of scribe.perl diagnostic output]