- From: John Boyer <boyerj@ca.ibm.com>
- Date: Wed, 1 Aug 2007 10:54:32 -0700
- To: Forms WG (new) <public-forms@w3.org>
- Message-ID: <OF5DC76C1A.D53D1561-ON8825732A.0061DBA7-8825732A.0062612D@ca.ibm.com>
Hi all, On the telecon today, we hada good airing of the technical issues regarding whether or not to remove text from the description of the choose() function which says that it rationalizes the return type based on the types of the second and third arguments. To review, here were the two possible outcomes (i.e. proposed resoltuions): 1) Keep the type conversion content in choose(), which is good because then it the function is statically typed at compile time. A) This is consistent with XPath 1.0, upon which XForms 1.1 is based, B) The static typing allows a run-time optimization C) The static typing simplifies design experience 2) Remove the type conversion content in choose(), which is good because the function can dynamically decide the return type based on the value of the first parameter and the types of the second and third parameters. A) This is consistent with XPath 2.0, which is forward looking B) A run-time optimization can still be achieved when the author coerces the types to be the same C) The dynamic typing increases authoring flexibility when the return value of choose is passed as a parameter to a function that accepts object as a parameter. For part A, proposed resolution #1 above is more appropriate for XForms 1.1 because being inconsistent with the technology on which you are based trumps being inconsistent with a technology upon which a future version of the language (which will even be in another namespace, will be based). The inconsistencies between XForms 1.x/XPath 1.0 development and XForms 2.x/XPath 2.0 development will be much more far reaching than a minor difference in how the choose() function operates in the major revision of the language. For part B, it's not clear that the optimization makes a huge difference in most forms, so it does not seem to matter much whether one gets it automatically (#1) or when the author coerces the types (#2). For part C, the simplified design experience is more important than the increased authoring flexibility in this case because the authoring flexibility does not apply to very many real cases within the XPath 1.0 and XForms 1.x function set. The only functions we have that take objects as parameters are choose() and id(), so it seems like very special cases indeed that could benefit from the authoring flexibility. Given all of the above, the next step really is to ask Erik if he can "live with" the decision to retain the type rationalization text in the choose function specification. A communication of not being able to live with it should of course take the form of presenting some kind of sample form that that does not seem highly contrived or "very special" use case as this is what would cause some of those with the expressed opinions to change their minds... Let's get this discussed on the mailing list please as a Erik's LC comment on this issue should be coming up for discussion soon. 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
Received on Wednesday, 1 August 2007 17:55:05 UTC