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.