Re: Progress on Functions Module(s)

Hi Erik,

OK, yes that is good wording, and I'll put it in.  In fact, I think it may 
even float up to the top of the module since a number of the functions 
have the same property that they are there to help when you are doing some 
kind of conditional logic, but do not themselves evaluate a condition 
directly.  For example, boolean-from-string() and count-non-empty() both 
have examples that show how they help feed a decision being made (by 
choose() in the case of those two examples).  A little more effort might 
even produce another example in which current() appears in an expression 
that starts with choose(), but the current example seemed enough.

Cheers,
John M. Boyer, Ph.D.
Senior Technical Staff Member
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
Blog RSS feed: 
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw





From:
Erik Bruchez <ebruchez@orbeon.com>
To:
"public-forms (new)" <public-forms@w3.org>
Date:
08/12/2008 10:16 AM
Subject:
Re: Progress on Functions Module(s)




John,

It is correct that current() is intended to be used within predicates 
and I see your idea here. I can certainly live with it. But I think we 
should put a brief rationale note there then, something like "The 
current() function does not evaluate a condition, but it is introduced 
for use within XPath predicates (which change the evaluation context), 
as the examples provided below illustrate."

-Erik

On Aug 12, 2008, at 9:08 AM, John Boyer wrote:

>
> Hi Erik,
>
> I think it cannot be bundled with context() because context() is 
> provided by the binding attributes module.
> It is at least conceivable that people want to use these function 
> modules without using binding attributes.
>
> Perhaps one way to have current() appear in a more "Generic, 
> Miscellaneous, Really Useful Functions" bucket is to rename the 
> "Conditional functions" to "Utility functions" or some such.
>
> I put current() in conditionals because it is always getting used to 
> help implement conditional behavior in an XPath, e.g. you always 
> need it so you can implement a predicate of some kind, e.g. to help 
> make a selection across a table based on a key value someplace else 
> other than in the table.  I also put it there because I can't 
> imagine a more important bundle of functions for doing XForms.  You 
> may not use count-non-empty() all that much, but choose(), 
> current(), current() and yes even if() show up all the time in forms.
>
> So, if we are to avoid creating a module just for current(), the 
> conditionals seemed the best place based on what the function is 
> used to do.
>
> Cheers,
> John M. Boyer, Ph.D.
> Senior Technical Staff Member
> 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
> Blog RSS feed: 
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw
>
>
>
>
> From:
> Erik Bruchez <ebruchez@orbeon.com>
> To:
> "public-forms (new)" <public-forms@w3.org>
> Date:
> 08/11/2008 05:50 PM
> Subject:
> Re: Progress on Functions Module(s)
>
>
>
>
>
> John & all,
>
> I think that the current() function needs to find a better home. It is
> really a core function for XForms, at the same level as the context()
> function.
>
> Note that in XSLT 2.0, current() is under "16.6 Miscellaneous
> Additional Functions" ;-)
>
> Can we put current() and context() together, since they both have to
> do with the XPath evaluation context?
>
> -Erik
>
> On Aug 11, 2008, at 5:05 PM, John Boyer wrote:
>
> >
> > With some exceptions, I've reorganized the functions module based on
> > the emails from Leigh and Erik:
> >
> > 
http://www.w3.org/MarkUp/Forms/specs/XForms1.2/modules/instance/xpathFunctions/index-all.html

> >
> > Assuming the division is satisfactory, I will proceed to make
> > separate specs.
> >
> > Here are the points of interest:
> >
> > 1) The is-card-number() function was placed under "Data Integrity"
> > as that seemed to be enough of a generic name to fit the function,
> > whereas the name "E-commerce functions" was so broad that I felt
> > like putting *all* our functions into that section.
> >
> > Another perhaps better place to put it is in the conditional
> > functions.  Is that a better place?  Any other ideas?
> >
> >
> > 2) The math functions seemed a better place to put random() than
> > data integrity, even though random could be used with some of the
> > data integrity functions.
> >
> > How might we handle the ability to show some of these use cases via
> > examples?
> >
> >
> > 3) The "Nodeset Functions" category seemed to be a catch-all for
> > functions we didn't know what else to do with.  However, both
> > current() and count-non-empty() can be used in "conditional"
> > scenarios, so I put them there.
> >
> > The count-non-empty() *could* also be used in math operations, but I
> > didn't want to end up with sum-non-empty, max-non-empty, min-non-
> > empty and avg-non-empty. This function is not really needed, except
> > possibly as authoring convenience or optimization, but it already
> > exists, so I just put it in a place where we didn't get roped into
> > adding half a dozen more functions.
> >
> >
> > 4) Neither count-non-empty() nor boolean-from-string() had examples,
> > so I added them.  I notice that avg, min, and max also don't have
> > examples.  This appears to be left-over omissions from 1.0.
> >
> > Do we need them?
> > Can someone send the invocations and expected results from the test
> > suite?
> > Should I copy the examples to the 1.1 spec?
> >
> >
> > 5) I added several more examples to seconds-from-dateTime() to
> > address recent misunderstandings expressed on the list.
> >
> > Does everyone agree with them?
> > Can we add these to the test suite?
> >
> > Thanks,
> > John M. Boyer, Ph.D.
> > Senior Technical Staff Member
> > 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
> > Blog RSS feed: 
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw
> >
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> http://www.orbeon.com/
>
>
>
>

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/

Received on Tuesday, 12 August 2008 17:39:46 UTC