Legacy Issue Number: 15409
Source: agnos.ai UK Ltd ( Pete Rivett)
Production rule 2c in section 6.4 is as follows:
2c:XMIReferenceElement::= "<" xmiName (2g:TypeAttrib)? 2l:LinkAttribs "/>"
However this does not make sense: the TypeAttrib is redundant with the xmi:type on the object referenced (making it fragile to change) and the spec says nothing about what happens if they are inconsistent or one may be the superclass of the other. In fact the text describing rule 2c says nothing about the use of 2g or the TypeAttrib:
“2c. Use this production rule to serialize a reference to an object using an XML element. If you use identity
attributes, the values of the identity attributes must match the values of the identity attributes for the object
that is referenced.”
Finally, none of the examples of use of href or idref in the document use the TypeAttrib e.g. example in 4.10.3 or 22.214.171.124.
Proposed resolution: remove the use of 2g from rule 2c
Reported: XMI 2.1.1 — Fri, 6 Aug 2010 04:00 GMT
Disposition: Resolved — XMI 2.4
Further to the issue, the XSD generated for References (rule 4e) (corrected by resolution to 11002) does not allow for xmi:type to be specified
Note that if people want to ‘cache’ the type for whatever reason, that it can be done, as for any other property such as ‘name’, as per the following bullet of 4.10.1:
“When acting as a proxy, XML attributes may be defined, but not contents. The XML attributes act as a cache that gives an indication if the link should be followed.”
Updated: Fri, 6 Mar 2015 20:59 GMT