Bug #544
closedissues about storageType and attributeDomain
0%
Description
The beta9 version of the attribute module has an element called
"storageType". As I understand it, the preferred use of this attribute is to
contain the XMLSchema datatype of the attribute (e.g. 'string'). The attribute
module also has a subtree named 'attributeDomain' with the three branches
'enumeratedDomain', 'textDomain', and 'numericDomain'.
It seems to me that the "storageType" and "attributeDomain" elements are
logically related, but that relation is not indicated in the attribute module.
As an example, consider a storageType of 'string'. With XMLSchema datatypes, the
concept of a datatype is limited using "facets". Thus a string can be further
restricted using (for example) 'enumeration', 'maxLength, or 'pattern'
constraining facets. Similarly, 'totalDigits' or other facets can be used to
contrain a "decimal" datatype.
In the 'attribute' module of eml, however, such contraints are put into the
'attributeDomain' subtree. The 'enumeratedDomain' subelement does have the
ability to enter code values and the associated definition (a code/definition
facet is NOT available in XMLSchema datatypes), but the 'enumeratedDomain'
subelement does NOT have a simple enumeration where one just lists allowed
values for an attribute.
In summary, I would suggest that the enumeratedDomain element should have a
simple 'enumeration' child with the ability to just list allowed values (and not
require definitions), and/or we should combine the 'storageType' and
'attributeDomain' elements into something like the structure used with XMLSchema
datatypes and contraining 'facets'/