- From: John Boyer <boyerj@ca.ibm.com>
- Date: Wed, 18 Apr 2007 11:44:08 -0700
- To: Ivan Latysh <IvanLatysh@yahoo.ca>
- Cc: www-forms@w3.org, www-forms-request@w3.org
- Message-ID: <OF3D92EF09.34C83D52-ON882572C1.00652CC2-882572C1.0066ED16@ca.ibm.com>
Hi Ivan, Erik already addressed the distinction between root node and document node, so I won't dwell on that. But your feedback is good, so I don't want you bolting from participation because you believe I may have disagreed with your want of technology interoperability. I do agree that we want as much interoperability as possible. But standardization is a human process, not a machine process, so it includes compromises and areas left undefined to allow major use cases to take priority over regular and minor use cases. For example, it was more important to have repeat, insert and delete operate over homogeneous collections than it was to have them operate over arbitrary nodesets, and leaping from one to the other is not without difficulty. If we had decided to make that leap in XForms 1.0, it would have shipped years later than it did, which would have been a disaster. A couple of years ago, Sebastian provided a great saying that is quite applicable here: "Perfection is the devil of excellence." Of course, over time the bar of excellence has to rise, and indeed XForms 1.1 makes the leap to arbitrary nodesets for insert/delete, and last call feedback has already requested the same for repeat. The "rationale" of yours that I disagreed with was not technology interoperability, but the statement that the definition of homogeneous collection contradicts itself and/or is somehow in violation of other W3C specs. The contradiction has been resolved now based on the parent issue, and the XPath spec does not specify how its results will get used, so the additional constraints of homogeneous collections can indeed be legally added as post-processing steps after the XPath evaluation occurs. And, for excellence-versus-perfection reasons, it was necessary at the time. If you would like to hear about the group's decision on whether to allow repeat to operate over arbitrary nodesets and not just homogeneous collections, then please send a last call comment to www-forms-editor@w3.org saying something along the lines of "Insert and delete actions now operate over arbitrary nodesets. For language consistency, repeat should do the same. The limitation to homogeneous collections was made to simplify insert and delete, not repeats". While you're in the neighborhood, could you also send a last call comment about that evaluation context issue please? Thanks, John M. Boyer, Ph.D. STSM: Lotus Forms Architect and Researcher Chair, W3C Forms Working Group Workplace, Portal and Collaboration Software IBM Victoria Software Lab E-Mail: boyerj@ca.ibm.com Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer Ivan Latysh <IvanLatysh@yahoo.ca> Sent by: www-forms-request@w3.org 04/17/2007 05:41 PM Please respond to Ivan Latysh <IvanLatysh@yahoo.ca> To John Boyer/CanWest/IBM@IBMCA cc www-forms@w3.org, www-forms-request@w3.org Subject Re[4]: <repeat/> Element Hello John, Tuesday, April 17, 2007, 5:51:00 PM, you wrote: >1) Please read the XPath data model again. The document element (color in your example below) has a parent. >It's just not an element. "Every node other than the root node has exactly one parent" ... > 2) Synthetic rules are unavoidable. Arbitrary generalization means nothing ever ships. For example, one reason we I do not propose "Arbitrary generalization" I propose technology interoperability. In other words I propose to make the toaster to work with 110V grid instead making it to work with 139V just because it happen to toast a piece of bread in perfect bronze in exactly 3 minutes. > 3) The incompatibility between team A and B is supported by the spec. The spec says behavior over non-homogeneous > collections is "undefined". This means that team A and B can differ in this regard. Please correct me if I am wrong, but it is defeat the point of having the spec. The purpose of the spec is to make sure that the same Form will work for team A and team B. I do perfectly understand that it is not humanly possible to foresee all possible use-cases and some part of the spec stay "undefined" until the time to define them. So I belive that it is the time to define this particular part of the spec. > 4) Yes you were clear in your proposal, and there is a reasonably good chance it will happen rather sooner than > later. I only disagreed with your rationale for the proposal, not the proposal itself. I am surprised that you would disagree with "technology interoperability and compatibility" reason ... > But, out of curiosity, have you considered fully the implications of your proposal? I mean, once you open repeat to > arbitrary nodesets, then surely you will want to insert and delete elements that affect the nodeset over which that > repeat operates. So, what happens if you insert between two nodes that have different parents? Does the new node > become a following sibling of the first node or a preceding sibling of the second? Yes I did. We are dealing with dynamic XML data model, in case it has been changed - fire an event. But the issue will arise when <repeat/> element change it's own node-set, in this case the decision should be made when to fire an event and how to deal with infinite cycles. > I think we know how to solve the above problem now, but it a good example of a host of problems that we have had to > consider. I believe it is the generalization of insert and delete to arbitrary nodesets that is allowing us to go > back to repeat and make it operate over arbitrary nodesets too. I would love to know about the solution. -- Best regards, Ivan mailto:IvanLatysh@yahoo.ca
Received on Wednesday, 18 April 2007 18:44:15 UTC