Bug #655
closedneed better model for numeric domains for attributes
0%
Description
We've found another problem with attributeDomain that needs to be fixed for the
EML 2 release. Currently, the numericDomain subtype does not indicate which
number type is intended, and so some legitimate numeric domains are not
expressible in EML. This is a fatal flaw in the model, especially if domain is
required and people can't describe their domains. For example, right now, one
can not express a domain that only incudes the positive real numbers.
To fix this, I propose that we change the content model of numericDomain to the
following:
numericDomain (numberType, (minimum|minimumExclusive)?, (maximum|maximumExclusive)?)
numberType (#PCDATA) and is a choice of the following enumeration:
natural, whole, integer, real
One might argue that the distinction between rational and irrational is needed
(but I think not), so we might consider adding "rational" and "irrational" to
the list (which together make real numbers). But I don't think irrational
numbers are relevant because they can't actually be written down except
symbolically (e.g., pi). See http://www.purplemath.com/modules/numtypes.htm for
a summary of these number types.
Under this new system, someone who wanted to express a positive integral number
that was less than or equal to 10 could say:
<numericDomain>
<numberType>whole</numberType>
<maximum>10</maximum>
<numericDomain>
Under this new system, someone who wanted to express a positive fractional
number that was less than 10 could say:
<numericDomain>
<numberType>real</numberType>
<minimumExclusive>0</minimumExclusive>
<maximumExclusive>10</maximumExclusive>
<numericDomain>
Thanks for the feedback.
Updated by Peter McCartney about 22 years ago
Does this belong in numeric domain or in measurement scale? seems like it
qualifies measuremnt scale rather than domain.
Updated by Matt Jones about 22 years ago
DONE. Both number type and the exclusive options are now part of the domain
expression. This allows precise numeric domain statements. We decided that it
did not belong in measurementScale as it is an aspect of the domain. Because
domain is part of measurementScale, you can only use these numeric domain
constructs on interval and ratio scale attributes.