W3C Forms teleconference July 27, 2011

* Present

Dan McCreary, Dan McCreary Associates
Leigh Klotz, Xerox (minutes)
Philip Fennell, MarkLogic
Steven Pemberton, CWI (chair)
Erik Bruchez, Orbeon
Alain Couthuries, AgenceXML

* Agenda

http://lists.w3.org/Archives/Public/public-forms/2011Jul/0017.html

* Is an XForm an application for, or a representation of an instance data?

http://lists.w3.org/Archives/Public/www-forms/2011Jul/0003

Philip Fennell: I always thought the form and the data were separate things. They are using the same URI with content type negotiation.
Steven Pemberton: You could almost see the XForm as a sort of stylesheet with a bit more semantics that CSS. Resources are meant to be editable in HTTP. Using XForms for that is a slightly different way of doing the same thing.
Philip Fennell: The guy gave another example of retrieving a JPEG image or an HTML page that references the same image; the HTML page is, in effect, another representation of the same thing. It's not too far removed from that, is it?
Steven Pemberton: It's true. Another similar philosophical issue I've had, is when you request a resource and there's a CSS file, you get a presentation of the resource. You could also imagine a variation on URLs where you retrieve a CSS file and as a parameter you give an HTML page that you want to be displayed and you get a presentation that looks exactly the same. What's the position on resources there; is the CSS file the resource? It's related to your philosophical problem.
Philip Fennell: When you regard the XForm as a stylesheet, yes, you're using it to represent the instance data.
Leigh Klotz: You can do that with HTML4 GET to get a form and POST to update, and there are different representations. XForm is just a tool and you can use it or misuse it.
Philip Fennell: Then how when you want an HTML representation of the resource, how do you differentiate between returning the XForms representation and the data?
Leigh Klotz: With XSLTForms it's more complicated because the returned page is an XSLT, and the mediatype must be application/xml.

* Editorial Meeting Agenda

Steven Pemberton: It's not clear that Kurt's going to be there. We've got XBL2, Nick's Xpath 2.0, AVT's from Erik, and the spec itself (the bulk of the meeting).
Steven Pemberton: Is there anything else we want to put on the agenda? XML Events 2. We have that as a product and need to discuss it.
Philip Fennell: Transform?
Steven Pemberton: The transform function? OK.

Steven Pemberton: Erik, me, John (remotely). Dan?
Dan McCreary: I'll be there the week before with the NoSQL conference.
Leigh Klotz: Ubiquity XForms http://lists.w3.org/Archives/Public/public-forms/2011Jul/0018.html We should recommend what to do about this persistent question. I'd like to have John here to discuss it.

* Extension Element

http://lists.w3.org/Archives/Public/public-forms/2011Jun/0031.html http://lists.w3.org/Archives/Public/public-forms/2011Jun/0032.html http://lists.w3.org/Archives/Public/public-forms/2011Jun/0033.html

Steven Pemberton: This came out of editing.
Leigh Klotz: I told Claudius to use it. I don't know why we have it. Micah proposed it, but I don't know why we can't just allow foreign elements. It may be because of W3C Schema.
Dan McCreary: You can always use #any.
Steven Pemberton: I'm happy to keep it if someone is using it.
Leigh Klotz: Or you could just say anywhere extension is allowed then foreign elements allowed.
Dan McCreary: A simple rule makes the schema validation easier.
Steven Pemberton: That works for me.
Leigh Klotz: We could just allow them where we allow it.
Dan McCreary: That makes sense.

Resolution 2011-07-27.1: We allow a sequence of foreign elements anywhere we currently allow xforms:extension.

Dan McCreary: We use it for configuring TEI in exsltforms. He has a couple of versions. Any RTE he has a way to embed within XForms.
Leigh Klotz: I got Claudius to get the event sequencing right and so on; originally he had a Save button. I suggested he used extension but he can just use his namespace.

* Validator

Leigh Klotz: We need to write the document around the schema or schemas and use modularization, but I don't know how to do modularization.
Steven Pemberton: There's M12N and there's the validator. Maybe that's two issues.
Leigh Klotz: For the W3C validator they wanted a URL for the spec.
Steven Pemberton: We had an action item to contact Shane.
Leigh Klotz: Can we cajole him into taking our schema and producing a document?
Steven Pemberton: I'll contact Shane.

* label/@for, @appearance

http://lists.w3.org/Archives/Public/public-forms/2011Feb/0015.html http://www.w3.org/MarkUp/Forms/wiki/Label_For_Attribute

Leigh Klotz: I don't know about @appearance. I'm planning to ask Alain to implement this. label/@for id points to control. It would be tied to the repeat item if in a repeat. If it refers to an item not relevant, it wouldn't show.
Dan McCreary: I would like this for table layout.
Leigh Klotz: Even CSS layout.
Erik Bruchez: I think it's a good idea to start from an idea and implement it and then come back with feedback.
Steven Pemberton: I would suggest we add this to the meeting agenda.
Dan McCreary: I'll ping Kurt.
Leigh Klotz: Just start it and invite kurt to contribute.
Dan McCreary: Is there a link?
Leigh Klotz: 2010-02-24, 2011-01-26, 2011-03-02, 2011-03-16, 2011-04-20
Steven Pemberton: Search for label in the minutes.
Leigh Klotz: And @for.

ACTION-1811 Dan McCreary to update label/@for proposal on XForms 2.0 Wiki.

* TEI and Tree Controls

Dan McCreary: The mediatype is ok for textarea. I haven't done much on trees.
Leigh Klotz: I have a use case for TEI: phone meeting notes, for question and response.

* @iterate

http://lists.w3.org/Archives/Public/public-forms/2010May/att-0025/2010-05-26.html#topic6

Leigh Klotz: What's the status?
Steven Pemberton: Who owns it?
Leigh Klotz: We had decided not to do it for some reason but I brought it back.
Erik Bruchez: It was what happens when you delete the context node during the iteration, and the reality is we have this problem in other cases as well. I don't know what the next step is?
Steven Pemberton: John seemed to have problems initially, but said we had to define, and he agreed with the use cases, but we said more work. It looks like we didn't push forward.
Erik Bruchez: I think we agreed to do it.
Erik Bruchez: This was documented in EXForms.
Leigh Klotz: http://www.exforms.org/conditionals.html
Erik Bruchez: http://wiki.orbeon.com/forms/doc/developer-guide/xforms-other-extensions#TOC-Iteration-of-XForms-actions-over-se
Erik Bruchez: There's more detail needed. Also we can iterate over sequences. I'm not sure we have an agreement or if the spec says something about when the context node is removed.
Steven Pemberton: Can you explain the difference with while? I see...
Erik Bruchez: @iterate=sequence. In our implementation, the sequence is evaluated once. So subsequent mutations to the iteration don't matter. It's as simple as that. There are situations where a @while doesn't cut it. Obviously, iteration is a useful concept in programming.
Steven Pemberton: It's a bit like our repeat attribute.
Erik Bruchez: It's similar, but it's within an action. So typically there are children actions, but you can put it on a single action. Typically the scenario is a series, such as books, and doing something to each of them. I think there were discussions about context and delete, as we say for delete. The way I look at it, it's an imperative construct to perform actions, as in JavaScript or Java. I think the simpler the better.
Steven Pemberton: So how does it differ from repeat-nodeset?
Leigh Klotz: It's action, not presentation.
Erik Bruchez: Repeat doesn't allow you do to actions. We have (had) a nodeset to point to a series of things; we have bind, repeat, nodeset. The processing model behind this is different: evaluate the @iterate expressions, for each iteration repeat the contained action block with the current context. It's like a for loop. I think xquery with update can have something similar.
Steven Pemberton: So it doesn't expand the content, which is what repeat-nodeset does.
Leigh Klotz: It's a third for @if and @while, which we don't have on presentation elements.
Erik Bruchez: We implement action elements in a straightforward way. action is really conceptually an interpreter for actions, an imperative language. This is one of the useful cases which is hard to do with while, unless you have a separate index.
Steven Pemberton: Clearly iterate is far easier to use in every case than while.
Steven Pemberton: Do we have a wiki page for this?
Leigh Klotz: It's fairly spare. I put it in the XForms 12 category. http://www.w3.org/MarkUp/Forms/wiki/Create_a_construct_for_actions_that_iterates_over_a_nodeset

ACTION-1812 Erik Bruchez to finish writeup for @iterate

* Schematron validation (via transform)

http://lists.w3.org/Archives/Public/www-forms/2011May/0001.html http://lists.w3.org/Archives/Public/www-forms/2011May/0002.html

Philip Fennell: I've done some work on this. I need to try it in other transform engines.
Erik Bruchez: Is there a notion of validity of an element in Schematron? Can it be an alternative to XML Schema for assigning validity to nodes?
Philip Fennell: Yes. You can validate schema as well as structure.
Erik Bruchez: Is there structural validation as well?
Philip Fennell: Return true if an element is present, or if a value is true. The assertions are whatever XPath expression you can conceivable write.
Leigh Klotz: It doesn't assign types, though, right?
Philip Fennell: Not that I'm aware of. I suppose there's a way to get types in XPath 2.
Leigh Klotz: RelaxNG has types, and the W3C schema types are there, but I haven't seen a way to get the types out of it.
Philip Fennell: I'd like to generate schematron schemas via XForms. The latter is beyond our capability at the moment.
Leigh Klotz: So this is a status report? Should we discuss it at the editorial workshop?
Philip Fennell: I'll try to call in.

* IRC Minutes

http://www.w3.org/2011/07/27-forms-minutes.html

* Meeting Ends