- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Wed, 12 Dec 2007 16:31:42 -0800
- To: "Forms WG (new)" <public-forms@w3.org>
I think I see better where you are coming from: you do not want this
for presentation purposes, but for formatting data in an instance
only. Is that right?
If so, then I agree that format-number() may indeed not be a good match.
The XPath 2.0 round-half-to-even() function seems a better match,
since it can take an optional precision argument. However, it takes a
numeric argument, whereas you propose a string. With XPath 1.0, this
is hard to avoid, as a number type is a floating-point number, not a
decimal.
My opinion on adding functions remains the same: I would rather fast-
track to XPath 2.0.
-Erik
On Dec 12, 2007, at 3:52 PM, John Boyer wrote:
>
> Well, there were two reasons why the XSLT format-number() function
> was not proposed:
>
> 1) It is an "output" or "presentational" function, so it is massive
> overkill compared to what XForms needs, which is a "data" function.
> It is also, frankly, a mismatch.
>
> The format-number() function can be a lot of work if you are trying
> to implement XForms in something other than Java, e.g. Javascript.
> The format-number() function is connected localization services that
> decide things like what should the grouping separator or decimal
> separator be and, I think, what digits to use to represent the number.
>
> None of that is needed. We need a much smaller and more direct
> things. We just need to be able to easily modify the lexical string
> in the XML that gets presented to back-end processors of XForms
> submission data.
>
> In particular, we need something that produces a result guaranteed
> to still be compliant with xsd:decimal, and format-number() doesn't
> do that. We only need to be able to restrict the number of places
> past the decimal point to a specific number, with rounding and zero
> padding.
>
> 2) Proposing format-number() immediately opens the door to all
> manner of presentational characters in our data, including results
> from format-date() and format-time(). Again, we don't want all this
> heavy end-user presentational formatting in our data, in part
> because it binds XForms data processing to a localization engine.
>
> I have a lot of experience, unfortunately, with the grief that can
> come from this. For example, it does not take people long to want
> to calculate further results over the formatted "data", so you then
> need parsers for every possible format output so you can get back
> data that can be used in calculations.
>
> Generally, we have to be a bit careful here because XPath/XSLT are
> not a perfect match for XForms because XSLT is about output and
> XForms is about data processing.
>
> 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
>
>
>
>
> Erik Bruchez <ebruchez@orbeon.com>
> Sent by: public-forms-request@w3.org
> 12/12/2007 02:21 PM
>
> To
> "Forms WG (new)" <public-forms@w3.org>
> cc
> Subject
> Re: A decimal-string() function proposed for XForms 1.2
>
>
>
>
>
>
> My bad, yes format-number() was in XSLT 1.0 already.
>
> format-date(), format-time(), and format-dateTime() are new in XSLT
> 2.0.
>
> -Erik
>
> On Dec 12, 2007, at 2:14 PM, Ulrich Nicolas Lissé wrote:
>
> > All,
> >
> > I was just writing a response along similar lines like Erik's
> > one ... So
> > just a short cut.
> >
> > I don't see much value in adding more functions in general and in
> > adding
> > a decimal-string() in particular. There is no decimal-string() in
> > XPath
> > 2.0 (Nick ?). Instead, format-number() is there and is more
> > powerful. It
> > is actually an XSLT 1.0 function and if we really want this, we
> could
> > "borrow" it like we did with current().
> >
> > However, we have the extension function mechanism and it should
> > therefore be easy to include any function for specific business
> > reasons.
> >
> > Regards,
> > Uli.
> >
> > Erik Bruchez wrote:
> >>
> >> My reaction to this will be the same as always: more custom
> >> functions ==
> >> bad ;-)
> >>
> >> But if we *have* to have such a function now, there is no doubt
> in my
> >> mind that we must then integrate the XSLT 2.0 format-number()
> >> function.
> >> While we are at it, integrate format-date() as well. The XSLT 2.0
> >> group
> >> already did the work for us so there is no need to reinvent
> anything.
> >> Orbeon Forms already provides these two XSLT 2.0 functions it its
> >> XPath
> >> function library, because, well, there is just no way not to have
> >> them.
> >> On this point, I definitely agree with you: it is a very important
> >> feature to have. But we don't have to invent it ourselves.
> >>
> >> A side note: I understand the argument about "waiting" for such and
> >> such
> >> features. There are lots of features that are currently not in
> XForms
> >> 1.1 and without which Orbeon simply can't live, including XPath
> 2.0,
> >> dialogs, HTML text areas, and so on. I am sure every implementor
> can
> >> come up with a series of such features, and unfortunately it may
> >> not be
> >> possible to rush them all in at the same time as our resources are
> >> limited.
> >>
> >> But implementors don't have to wait: they can implement
> extensions to
> >> XForms as they see fit. This is very positive as it provides the
> >> Working
> >> Group with real implementation experience, which is then
> leveraged to
> >> define a standard.
> >>
> >> -Erik
> >>
> >> On Dec 12, 2007, at 11:31 AM, John Boyer wrote:
> >>
> >>>
> >>> Hello all,
> >>>
> >>> One of the small features I proposed for 1.2 is a decimal-string()
> >>> function that can convert an XPath 1.0 number to a lexical string
> >>> representation that is desired by financial industry application
> >>> developers. Nick comments that we'll get this in XForms 2.0
> when we
> >>> have XPath 2.0. For my own part, I wouldn't want to wait that
> long
> >>> for XForms to 'officially' support financial applications.
> >>>
> >>> I think it is not hard to have a function that receives a number
> and
> >>> an indication of how many places past the decimal point it
> should be
> >>> rounded to obtain a string output. The only extra bell/whistle
> >>> would
> >>> be to indicate whether or not zero padding is desired, which is
> >>> often
> >>> done with a negative sign or some such.
> >>>
> >>> The lion's share of usage will be of the form
> >>> decimal-string('12.300000002', -2) to get a guarantee of two
> decimal
> >>> places, with zero padding if needed. The output in this example
> >>> would
> >>> be the string '12.30'.
> >>>
> >>> Right now, the numeric results of calculations come out to
> >>> irritating
> >>> values when converted to lexical representation for storage in
> XML,
> >>> and it becomes necessary to write code on the server side to fix
> >>> this
> >>> stuff up before it goes into a database. I do have actual
> customers
> >>> now for whom I am currently having to add an extension function
> >>> because the XML data we send chokes their database, and they don't
> >>> want to add code, esp. since it is contrary to our "killer app"
> >>> messaging.
> >>>
> >>> Now that there is some discussion on it, it seems worth breaking
> out
> >>> into a thread of its own to see if
> >>>
> >>> A) there are any other objections
> >>> B) to see if I've managed to convince Nick yet :-)
> >>>
> >>> 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
> >>>
> >>
> >> --
> >> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> >> http://www.orbeon.com/
> >>
> >>
> >
> > --
> > Ulrich Nicolas Lissé
>
> --
> 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 Thursday, 13 December 2007 00:32:09 UTC