Lists Home |
Date Index |
At 06:46 PM 9/27/2002 -0700, Joe English wrote:
>Jonathan Robie wrote:
> > Simon St.Laurent wrote:
> > > > Is it wrong for SQL or Java to have datatypes?
> > >
> > >Within their own contexts, no. Extending those types beyond SQL or Java
> > >processing creates a whole new set of problems that people who use SQL
> > >or Java seem to be remarkably bad at recognizing.
> > Such as?
>How about the design decision that numbers are represented
>as IEEE floats (complete with infinities, NaNs, and +/- 0)
>in XSLT and XPath? I can't think of a single good reason why
>XPath needs floating point arithmetic, let alone IEEE 754 floating
>point arithmetic, other than the fact that it's what Java supports.
>Note that most other languages, including C and C++, do *not*
>have adequate support for IEEE floating point to implement
>XPath according to spec, even if the underlying hardware has it.
>Division by zero yields "undefined behavior" in C89, not +/- infinity
>as required by XPath.
I think your argument is that there is no one complete specification of
floating point numbers across languages. That's true enough, but if we have
a float, it is still better for each language to use its own concept of
floating point numbers than for all of them to have to guess if an item is
a floating point number, an integer, or a character string. If you change
an integer into a floating point number, it becomes unusable for the
original source of the data. If you write general purpose tools, like
XPath, XSLT, or XQuery, they need to be able to process any XML document,
and for some documents proper handling of types matters.
As for XPath, I think that the *lack* of datatypes made XPath 1.0 do an
awful lot of guessing, and in an attempt to keep things simple, it said
that ALL numbers are floating point numbers. I don't think that the lack of
datatypes in the data XPath 1.0 used made things simpler or more
straightforward, it led to baroque rules for guessing types.
>Or how about the specification of 'format-number' in XSLT
Again, this was not caused by datatypes in XML, since it was published
before there WERE datatypes in XML.
>Or the collection of primitive data types in W3C XML Schemas?
How I long for a good honest integer. And I'm pretty sure Schema has lots
more types than I will ever use. Still, it's a usable set of types, type
extensibility was well designed, and it's being used by at least XML
Schema, RELAX-NG, RDF, XQuery, XPath 2.0, and SQL/XML.