W3C Forms teleconference January 25, 2012

* Present

Alain Couthures, AgenceXML
John Boyer, IBM
Leigh Klotz, Xerox (minutes)
Nick van den Bleeken, Inventive Designers
Steven Pemberton, CWI (chair)
Kurt Cagle, XML Today
Uli Lissé, DreamLabs
Erik Bruchez, Inventive Designers/Orbeon [joined late]

* Agenda


* Ubiquity XForms and Sidewinder Backplane Merged


John Boyer: The Ubiquity XForms code was forked at some point, and Mark Birbeck needed a lighter weight process, and the work has been going on in Backplane. The active copy is no incorporated into Backplane, so we now have only one open-source project.
Steven Pemberton: So the github one is the active one and the one on Google Code will be removed?
John Boyer: We'll let people transition over first. It's Mark's project.

* Hypertext Coordination Group

Steven Pemberton: It's been turned into a public group. There have been no meetings until recently, due to some confusion over the change in mailing list.

* repeat and events

http://lists.w3.org/Archives/Public/public-forms/2012Jan/0005.html http://lists.w3.org/Archives/Public/public-forms/2012Jan/0006.html

Leigh Klotz: The last message is an OK from Erik to John.
John Boyer: That already has an action item and part of that is that Erik has no concerns.
Steven Pemberton: So we can close this item.

* Initial value use cases


John Boyer: I was discussing this problem with a solutions group recently. They need optional elements and attributes during form initialization and during instance replace in submission. They accept XML without the optional nodes and the items on the form disappear because the XPath doesn't bind. The Schema is in the form; they wonder if there is anything that can be done. They route their traffic through a filter that takes the XML data and does the injection mapping.
Steven Pemberton: There's a large use case for the controls turning up even if the elements or attributes aren't in the instance?
John Boyer: Whether it's a case that in response to xforms-model initialization and replacement that those elements get generated, or the UI controls turning up when bound to things that don't exist, those are two different implementations of the same thing. They've done a back-end process that turns it up.
Leigh Klotz: Is that done from the schema or something more descriptive?
John Boyer: Indirectly; our form designer creates the form with all optional elements.
Leigh Klotz: I believe you need the human experience to turn the schema into an instance.
John Boyer: That's not the case. We generate the structure. The schema is used only for leaf-node types.
Nick van: You can create infinite documents. For example, HTML div. You can't design with every scheme.
John Boyer: I don't see this happening with data, not documents.
Leigh Klotz: We have an arbitrarily nested XML query language. You could generate a seven-level query with only one or two leaf-node binding points.
Steven Pemberton: Also editing XHTML, and editing family trees.
Leigh Klotz: I don't think there is enough information because XML Schema creates a class of documents, not a unique document.
John Boyer: ...
Leigh Klotz: You'd need the attributes from insert decorating input.
John Boyer: Essentially, but input is leaf-node only. With the schema you might be able to do it.
Nick van: I have a similar use case. We do conditional insert. My initial email contains concerns that with predicates and repeats it gets complicated. With optional elements, and form controls, it's hard to generate the XML.
Leigh Klotz: I see a lot of solutions that work on the design side, taking information from underconstrained sources, but it's hard to see that working on the processor side reliably.
Nick van: We need a lot of extra information.
John Boyer: Essentially, you've got the desire to have a UI control show up whether it has data or not as Steven said. When combined with the structures in schema, that could generate one or more elements in depth.
Leigh Klotz: Maybe we can satisfy this with another set of binds and other constructures (non-leaf node, for structure) output by your design time. So not just leaf-node defaulting but structure as well.
Nick van: Our product outputs inserts and so on. It would be convenient to be expressed in the UI.
John Boyer: I would today generate model-construct-done and xforms-submit-done handlers in my design experience. They'd click a checkbox and I'd do it but not in the UI.
Nick van: If you are creating the form by hand I'm not sure how to express it easily but not everything is with bind.
Steven Pemberton: Either in the model you say you want it here with initial value, or in control you have a version of reference that says if it's not there.
Leigh Klotz: Yes, but you'd need the extra attributes from insert to say where to insert it. We have the first-node rule in SNB and we can't have that here.
John Boyer: a/b/c/d may have many a elements. Or there may be no c or d. You may have to insert a c and a d.
Leigh Klotz: And under which b. And if b has @name, then which one? In RNG you can say that b/@name=title must exist but not in XML Schema.
John Boyer: And with XPath predicates.

Steven Pemberton: Are there example implementations?
John Boyer: Erik doesn't generate nodes.
Nick van: We generate nodes with insert. Doing it by hand is a lot of work.
Steven Pemberton: That's where the original wish for doing it in a declarative way came from. You can do it but it's difficult.
Nick van: It may be too big an issue for XForms 2.0.
Steven Pemberton: Without a proposed solution?
Nick van: I'm worried it will take a long time to find something good enough to solve most of the use cases.
Erik Bruchez: [joins]
John Boyer: I feel that most of the use cases are solved with the amount of information that's available in Schema. I can live with the design environment solution, but it's come up a couple of times.
Leigh Klotz: I am tending to agree with Nick; it's a good idea to do but I don't think we can design it here.
Nick van: Repeat iterations and optional options make it harder.
Steven Pemberton: Sounds like it could be in the controls; with the repeat, for example. I hear a need for specifying use cases.
Leigh Klotz: ...
John Boyer: I don't buy the repeat argument; if maxOccurs is greater than 1, one is enough to start. Looking at repeat/@number=6 could be better, but it's not just perfect or not at all. They could write custom stuff.
Leigh Klotz: Running out of road is OK, because the questions from authors will be "how do I do this" but having it silently build the wrong structure seems wrong.
John Boyer: It would have to be opt-in.
Leigh Klotz: We have a two clear spots where we do this, which you've mentioned. Can we get someone to write an XSLT that takes the schema and the instance and possibly the form and outputs the new instance?
John Boyer: Sounds like an impossibly clever person.
Nick van: If you have no input, you won't loop over everything.
John Boyer: You'd have to be really smart.
Nick van: You start from the schema and merge in the data.
John Boyer: I would find it hard to express the algorithm in XSLT, but that doesn't mean I can't express it.
Nick van: Depending on type attributes, you could have two UI shown. With such a form you can never generate the XML because
Leigh Klotz: Because it has choices.
Nick van: If there is in the form data of type a, you can put that in your UI and then you can solve that use case.
Leigh Klotz: If we had an event sent to orphaned form controls and they could do insert, would that be enough?
Nick van: No, because it might ....
John Boyer: Right now we describe non-relevance as XPaths that don't resolve to a node. Form controls that are non-relevant disconnect their form handlers. So technically, we would dispatch to non-relevant controls.

Steven Pemberton: We need to define the use cases we'd really like to cover, and see if we can come up with a notation that covers them. At the last editorial meeting in Amsterdam, Nick and I came across a problem with what we came up with last time. I'll try to come up with a suggestion to come up with further.
Nick van: We have to be careful we're not talking about only this issue in the next few teleconferences.
John Boyer: We do have to get to FPWD.

ACTION-1858 Steven Pemberton to attempt to find a notation for the initalisation use case

* IRC Minutes


* Meeting Ends