[Bug 4884] update the definition of a null reference to include the unimplemented-schemes case

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4884


popescu@ca.ibm.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Keywords|editorial                   |needsReview




------- Comment #4 from popescu@ca.ibm.com  2007-09-05 21:18 -------
Sandy, Kumar, please review the changes ( they are already checked in CVS )
See description of changes below and attached html file containing the
described changes

Changes:
1. create a new nilref attribute :
  <!-- CONTEXT: To be used in any <xs:element> -->
  <xs:attribute name="nilref" type="xs:boolean">
    <xs:annotation>
      <xs:documentation>
        Specifies that the reference element denotes a “null” reference. 
        To be used only on elements for which sml:ref="true".
      </xs:documentation>
    </xs:annotation>
  </xs:attribute>  

2. Modified the SML documentation as follows:

- Null reference definition :
3.1.1.2 Null Reference

A reference element with sml:nilref="true" specified. A null reference is an
explicit declaration of intent by the producer that the reference itself does
not exist, and a processing directive (NOT a hint) to consumers not to search
the reference for reference scheme information items. Any scheme-related
content, including attributes, recognized by the consumer is ignored for
reference-related purposes. 

- Added a new section under the Attributes section
7.1.3 sml:nilref

This global attribute is used to identify null reference elements. This
attribute is only allowed on elements that have sml:ref="true" specified.

<xs:attribute name="nilref" type="xs:boolean"/>

 Any element that has sml:nilref="true" will be treated as a null reference
element. Consumers MUST not attempt to resolve reference element which are
recognized as null. Any scheme-related content, including attributes,
recognized by the consumer is ignored for reference-related purposes.


- updated targetRequired section to flag an error when nilref is specified:

7.1.5 sml:targetRequired

Used to specify that instances of a reference element must target elements in
the model, i.e., an instance of the reference element can not be null or
contain an unresolved reference which does not target any element in the model.
>>>>Therefore it is an error if targetRequired="true" is specified on an
element declaration and the corresponding reference element R has
sml:nilref="true" specified.<<<<

Received on Wednesday, 5 September 2007 21:18:18 UTC