'id' vs 'name' vs ' type'
In current SDT model, '@id:ID', '@id:Name' and '@name:Text' are all used as sort of identifiers for 'Device', 'ModuleClass', 'Module', 'Property', 'Action', 'DataPoint', 'Event' etc.
In my understanding, all of them are supposed to be unique (in its given context, e.g. two ModuleClasses in the same Domain shouldn't use the same 'name'). And many of them are more like a 'type' definition (in JSON schema).
Shouldn't we align the terms into just one (id, name, or type)?
I understand the datatypes of those attributes are defined differently (xs:ID, xs:Name for @id, while undefined for '@name'?), but is that necessary? Even though the types are different, the terms could be aligned I guess.
I guess these XSD types have specific meanings. See
This should be used, well, for names, or references to ID's.
xs:ID http://www.datypic.com/sc/xsd/t-xsd_ID.html (ID is a sub-type of Name with more limitations)
This is used to uniquely identify an element. A validating parser has the chance to check whether an element only exists once in a document.
I cannot find the definition for name:Text. I guess you mean the
<text>element in rng? This defaults to xsd:anySimpleType.
My opinion is to keep the current uses.
- xs:Name http://www.datypic.com/sc/xsd/t-xsd_Name.html