-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: CSD03
-
Fix Version/s: None
-
Component/s: Spec
-
Labels:None
-
Proposal:
When working on wd-10 in response to TOSCA-18 and adding more details to the spec for covering requirements and capabilities it occurred to me that the spec could be improved by changing the identifier scheme for type definitions (NodeTypes etc.) by making name and targetNamespace the only identifying properties and using id only in the "template system" (i.e. for NodeTemplates etc.).
I realize that we had a long discussion on the use of id in context of TOSCA-21 and came to the conclusion to keep the current scheme. However, in TOSCA-21 we looked at both Templates and Types in the same discussion. While for Templates the conclusion is still perfect, a slight change for Types could bring some improvement.
Some reasoning: In XML schema, objects are commonly identified by (local) name and targetNamespace which together form the QName of a type. Other spec use a similar approach. So if we do the same and use (local) name and targetNamespace to identify types, we would be fully in line here.
Another point: the use of id (of type xs:ID) and references to it by means xs:IDREF is very useful when elements in an XML document are linked. This is the case in the template space, where we want to be able, for example, to have a RelationshipTemplate point to its source and target.
However, we never reference a type by id but always use QName (since we want to be able to import common type definitions from separate files). So here we really do not make use of ID and IDREF.