datatyping is not needed

I would like to propose that DASL does not need any datatyping.  Near as I
can tell there are two possible functions for datatyping

1) Enables better UI.  If the query grammar schema indicated the datatype
of each property, then a smart UI could use this to constrain the user's
data entry, e.g. ensure that only valid dates were entered into a date
field for comparison with a date, etc.

2) Query processing. Some underlying search systems are strongly typed.
For example, properties in DMA are strongly typed.  Even to get the value
of property, you must know the datatype.

Now I'll show why neither one is a good reason for datatyping in DASL

1 - I don't deny that datatyping is useful to a UI, but I claim that it
isn't sufficient for a really good UI.  A good UI will want a great deal of
additional information as well, and this information can't be provided via
DASL datatyping.  For example:

1) Range constraints on numbers (enter an integer < 100)
2) Value constaints (e.g. A Canadian postal code has alternating letters
and digits.  You *could* express this with e.g. COBOL Picture datatype, but
that's not an XML Data dataype.
3) Value constaints between properties.  Suppose you're entering a date
range.  The first date should be before the second one.  Such constraints
are likely to be implemented in some constraint or scripting language
(EcmaScript, JavaScript, ActiveTcl).
4) Property documentation (e.g. typical value, default value,
human-readable documentation)

DASL can't solve all of this, so it needn't bother solving any.  These
smart UIs are going to get most of this information from some other source,
so they may as well get the datatype there, too.

2- In the case of for query processing, the underlying server already knows
the datatypes, it does not need to be told.  For example, DMA provides the
PropertyDescription property that tells the datatype.  So if you want to
compare e.g.
 <lt>
   <prop><age/></prop>
   <literal>7</literal>
 </lt>

the server has all the info it needs to convert the string "7" to an
integer.  It knows that the target datatype is "integer" and it has the
string data.

We add no value by expressing the literal with an explicit datatype.

Finally, such datatyping would have to be optional anyway.  There are
servers that don't care about datatype.

We don't need datatype, so let's toss it.

Received on Monday, 6 July 1998 23:34:29 UTC