W3C Forms teleconference July 23, 2008

* Present

Charlie Wiecha, IBM
Erik Bruchez, Orbeon
Leigh Klotz, Xerox (minutes)
Nick van den Bleeken (chair)
Roger Pérez
Doug Scheppers, W3C
Keith Wells, IBM

* Agenda

http://lists.w3.org/Archives/Public/public-forms/2008Jul/0038.html

* Previous minutes

* Implementation Report

http://lists.w3.org/Archives/Public/www-forms/2008Jul/0022.html

Nick van: Nice job, Keith.
Keith Wells: It would be nice if others use the same results format using XForms so the data can be in a new column.
Charlie Wiecha: How does it do?
Keith Wells: It passes many tests, but lacks digest and hmac functions, but they're put in the last few days. Plus some context issue and a few minor functions.
Leigh Klotz: Aaron added header yesterday and had a question about combining multiple header which I will bring to the list.
Nick van: Other implementations please send in reports.

* xsi:nil, XBRL and impact on forms

Nick van: It's a long message, but it has the binds to make the attributes non-relevant. He asks if it shouldn't be in core XForms. He has <xf:bind nodeset="//*[@xsi:nil]" relevant="count(text())>0"/> <xf:bind nodeset="//@xsi:nil" relevant="count(text())>0"/>.
Leigh Klotz: This is the xs:nillable from XML Schema.
Nick van: He says it's not XBRL, it's a more common feature.
Leigh Klotz: Yes, it's part of XML Schemas.
Nick van: So it can be added by the binds.
Leigh Klotz: The binds don't capture the semantics of xsi:nil defined in XML Schema, which is to distinguish between empty and valid with no content. As pointed to us out by Peter Schnetlagge of UC Berkeley, it's valuable to distinguish the case of the field being empty and the field being set to empty. So the binds let you post to services that expect xsi:nil but they don't provide the functionality.
Charlie Wiecha: So these binds don't do what he thinks they do?
Nick van: They do fit but it doesn't capture the tri-state.
Erik Bruchez: If you had proper events DOMFocusIn etc. you could set the values properly and support it.
Nick van: But less convenient for the author.
Leigh Klotz: If we define it with binds, then it wouldn't have the right semantics, but if you define it in Erik's way, then it is.
Erik Bruchez: I'm not saying we need native support, but it could be done.
Nick van: What about setvalue?
Erik Bruchez: Any value changed you could set to false; I don't know how to set it to nil again, maybe a UI button.
Leigh Klotz: The form author could have a clear button.
Nick van: You don't get the UI events in XForms 1.1 in initialization, so the xsi:nil will still be true.
Erik Bruchez: I don't know how you'd handle it during initialization.
Leigh Klotz: This comes from XML Schema Structures so we can have native support only when there is native support. We can't answer the use case with the events we currently have, so native support is useful, but it would depend on XML Schema support.
Erik Bruchez: I'd rather include the UI events than work on xsi:nil. I'm not a big fan of it.
Charlie Wiecha: I agree.
Nick van: So we resolve we're not doing it?
Leigh Klotz: No, we're not resolving to do it because nobody wants to do it. It's bot because xsi:nil is incorrect, it's just this solution isn't full, and the full solution is too much work.
Charlie Wiecha: And this solution works for him, so he should use it.

Action 2008-07-23.1: Leigh Klotz to respond to http://lists.w3.org/Archives/Public/public-forms/2008May/0073.html that the proposed solution doesn't answer the use cases we discussed and the workaround works for the author so we put full xsi:nil xs:nillable support on the future features list.

* Draft Instance Data Module

Nick van: We wanted to talk about this when Mark was here.
Nick van: Draft Instance Data Module
Charlie Wiecha: My discussion about the instance module is the same...single module, or refactored, and Mark was suggesting I think a data island module and features on top. It's not clear how to do that and I'd like to see how to subdivide it. I'm not sure what to take out: setvalue in, insert/delete out? I'm fuzzy about his refactoring.
Leigh Klotz: Channeling Mark, I think this is just data island support, because today's browsers don't have a consistent way of doing inline XML data, and in fact some of them alter inline XML data. So maybe just id or name, but nothing else.
Charlie Wiecha: I see, that's consistent with the Ubiquity bugs he's had. OK, but we'll need help with Mark on the modularization issues.
Nick van: Yes, it's a bit more work than I'd expect.
Charlie Wiecha: The magic of spec writing is sometimes hard to fathom.
Leigh Klotz: What about IDL for instance?
Charlie Wiecha: That goes on the model.
Leigh Klotz: I can see maybe wanting to get at the instnace as a data island from JavaScript.
Charlie Wiecha: But the function needs to be defined on some container. So I will refactor into two modules: a data island and the setvalue/insert/delete. Any objections?
Nick van: Done.

Resolution 2008-07-23.1: We refactor 1.2 instance data modult into two: a data island and the setvalue/insert/delete.

Action 2008-07-23.2: Charlie Wiecha to refactor http://lists.w3.org/Archives/Public/public-forms/2008Jul/att-0001/index-all.html a data island and the setvalue/insert/delete.

Charlie Wiecha: Next I need to explain the bindings.
Leigh Klotz: There aren't bindings on instance.
Charlie Wiecha: Not for data islands, but setvalue/insert/delete.
Leigh Klotz: The RNG makes it easy with groups; you add the group to the elements, and later add the attributes to the groups in another module.
Nick van: I've run into some problems expressing how evaluation context changes.

* Binding Attributes Module

http://www.w3.org/MarkUp/Forms/specs/XForms1.2/modules/instance/bindingAttributes/index-all.html

Nick van: I've added the attributes in section 2 by adding an ampersand to the collection name. That's how it's done in XHTML2. John defines single-node binding etc. in his module. I haven't referenced it yet (text, link, module links in an overview?).
Charlie Wiecha: So that's what I'm unclear about. You're indicating it by the ampersand but not doign the reference yet.
Nick van: Yes.
Charlie Wiecha: Are you using the RNG schemas yet?
Nick van: Just text. I thought we were using just the tables.
Leigh Klotz: We agreed to explore the RNG schemas and publish them as a separate docuemnt if they work, and possibly consider incorporating them into the text of the documents once they're done, but made no decision on that.
Charlie Wiecha: I'll continue with the tables but play with the RNG on the side.
Nick van: If you import it multiple times, you don't get the include guard if you include modules multiple times. http://lists.w3.org/Archives/Public/public-forms/2008Jul/0004.html
Leigh Klotz: I'll send this question off to Micah Dubinko and Makoto Murata and see if I can get help.

Action 2008-07-23.3: Leigh Klotz to seek expert help on multiple module import conflict issue in http://lists.w3.org/Archives/Public/public-forms/2008Jul/0004.html

Nick van: Any other comments on the binding?

* ID Reference

http://www.w3.org/MarkUp/Forms/wiki/XForms_1.2_Modularization

Nick van: I'm not sure where to put the ID reference resolution algorithm. In our current spec tgere's a section about how IDs are resolved in XForms http://www.w3.org/TR/xforms11/#idref-resolve with repeats and the hieararchy of binds. So would it be in the driver or in one of the modules?
Charlie Wiecha: It seems more generic than the bind module.
Nick van: I'm not sure where else it would go.
Charlie Wiecha: Maybe if we had an example of the driver module underway it would be clearer where it would go.
Nick van: Any other modules to discuss or any bolunteers?

* HTTP Header ordering for submission/header

Leigh Klotz: Aaron found some issues here about multiple headers with the same name. HTTP 1.1 says that they are allowed, but must be kept in order; furthermore, all headers with the same name must be combinable into one header value with comma-separated values. Keith is separately looking at the test suite since it has multiple headers, but combined headers are allowed and are identical.
Erik Bruchez: We support only one header with a different name. Is that wrong?
Leigh Klotz: Yes, that's wrong. There are questions about how to combine them if there are multiple values, including ordering, and what to do if the single or multiple values have commas in them, and if that's not allowed, this could cause submission failure, at least in HTTP.
Nick van: Leigh, can you write this up?
Leigh Klotz: Yes, I will. I think it can be an informative note callign this issue out to implementors, as it's confusing, but specified elsewhere. The only question I see is about whether values with comma are allowed by the HTTP 1.1 serialization, or are simply quoted in the serialization.

Action 2008-07-23.4: Leigh Klotz to send note to group about issue with HTTP Header ordering for submission/header

* IRC Minutes

http://www.w3.org/2008/07/23-forms-minutes.html

* Meeting Ends