- From: <phillvl@uk.ibm.com>
- Date: Mon, 28 Jun 1999 09:31:53 +0100
- To: www-xml-schema-comments@w3.org
(reading version: http://www.w3.org/TR/xmlschema-2/ on 16th June) - I have dealt with defining proerties of numbers within a programming anguage. It involves some suprising (to me, at least) complexities. Two points occur to me when reading this- constrints on reals and problems with mixing DateTimestamp/Duration. I can give you reference to people who dealt with these issues in (excruciating) detail, if you so wish. <CONSTRAINTS ON REALS> >Real has the following constraining facets: > maxInclusive > maxExclusive > minInclusive > minExclusive Real numbers mapped into the computer domain (implemented on real hardware) have four boundaries, as there is a set of values that are indistinguishable from zero. This means that there is the concept of the smallest non-zero magnitude for positive and negative numbers. I visualise this as three posible domains biggest negative <-------> smallest negative zero biggest positive <-------> smallest positive Theses considerations become important when doing comparisons - equality becomes a slippery concept. It may be useful to specifically declare he smallest positive and negative magnitudes. We had fun with these when the customers used reals for finacial amounts (which is against the law in Switzerland). </CONSTRAINTS ON REALS> <MIXING DATETIMESTAMPS AND DURATIONS> Durations, and the elements forming durations (years, months, days, hours minutes, seconds) are all ZERO-based (ie the lowest value of each field is zero). DateTimestamps, and their elements are not ZERO based (sort of ONE-based). The prject I was on used the same textual representation for durations and datetimestamp and assumed some degree of equivalence. This led to confusion and kludges. Add to this that the size of a year varies with the year (what is the duration representation for 'a leap year'?), and the size of one month varies with the month AND the year, and you have an implementation nightmare. I reckon folks ought to do temporal mathematics on units no greater than the day. Conversion to days from years and vice versa should be provided. Arithmetic on dateTimestamps should be avoided </MIXING DATETIMESTAMPS AND DURATIONS> This is probably old-hat to anyone with a computer science education (which I lack, so I dont know the proper terms - sorry). As I said, they are minor points. I like what you are doing. I could wind up using it soon...... Dr. Phill van Leersum ________________________ ___________________ MQSeries Development phillvl@ibm.uk.com mp206 Hursley Park, Tel +44-1962-815167 Winchester, Hampshire SO21 2JN. In your heart you know its flat.......
Received on Monday, 28 June 1999 04:31:42 UTC