This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Should SML allow attribute based reference schemes? SML currently uses xsi:nil="true" as an indication for "this reference has no value". In XML Schema, xsi:nil only controls whether an element has any child content, and does *not* control whether the element carries attributes or not. As a consequence, if a reference schema uses attributes, e.g. <my:myRefElement sml:ref="true" my:reference="location" xsi:nil="true"/> then the xsi:nil based approach to determine whether a reference is nil is not reliable. We need to decide whether we want to support attribute based schemes. If we do, we can't rely on xsi:nil for nil references. whether we should require reference pointers be children.
Refer to the following related bug: 4884 update the definition of a null reference to include the unimplemented-schemes case If we update the definition of a null ref as described in the bug, we no longer need to rely on xsi:nil value to define null ref. Consequently, the issue mentioned in this bug goes away.
I think that the bug description is a bit confusing since it mixes the issues of supporting attribute-based reference schemes and identification of null references. The introduction of sml:nilref solves the latter issue, but the issue of attribute-based schemes still remains.
Consensus 2007-09-13 telecon: 4884 handles null ref portion of this bugzilla. Consensus 2007-09-13 telecon: attribute based ref schemes are allowed in SML. If we find anything in the spec that doesn't work well with attribute-based reference schemes, it is grounds for raising an issue.
added text: A reference scheme MAY use elements, attributes or both to capture the information necessary to identify a resource.
The change mentioned in comment #4 answer the immediate question about schemes that use attributes, but the new text is assuming that schemes will always uses some elements or attribute, which as far as I know has not been adopted as a requirement for defining a scheme. One example we discussed before is a scheme that always resolves to the root element of the current document, where it doesn't depend on either elements or attributes. And a scheme may want to define its behavior in terms of a processing instruction, which would seem to be a perfectly valid scheme. Suggest to use something similar to: "A reference scheme normally uses, but is not required to use, child elements, attributes or both to capture ..."
changed the text as suggested by Sandy: A reference scheme normally uses, but is not required to use, child elements, attributes or both to capture the information necessary to identify a resource.