<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>5424</bug_id>
          
          <creation_ts>2008-01-25 21:30:54 +0000</creation_ts>
          <short_desc>4. SML References awkward wording</short_desc>
          <delta_ts>2008-02-20 15:17:27 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>SML</product>
          <component>Core</component>
          <version>LC</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>LC</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Arwe">johnarwe</reporter>
          <assigned_to name="Kumar Pandit">kumarp</assigned_to>
          
          
          <qa_contact name="SML Working Group discussion list">public-sml</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>18580</commentid>
    <comment_count>0</comment_count>
    <who name="John Arwe">johnarwe</who>
    <bug_when>2008-01-25 21:30:54 +0000</bug_when>
    <thetext>(1) Multiple ANDs in one sentence, replace first n-1 with comma
4.1.1 SML Reference, item 1
4.1.2 SML Null Reference, item 2
(scrub for others)

(2) Need more precision on the requirement being levied.  In several places text states &quot;...if and only if:&quot; followed by a list of conditions, but fails to say how many of those conditions must be satisfied (any? all?).  In most cases we probably intended all, but we should review the changes to be sure.  Those noted:
4.1.2 SML Null Reference 
4.1.3 Unresolved SML Reference

(3) 4.1.3 Unresolved SML Reference, item 2 is &quot;interesting&quot; in the sense that this definition, unlike most others we have, is context-specific.  Different consumers, based on the set of SML ref schemes they understand and used in the model they process, will consider different SML refs to be unresolved.  This seems worthy of pointing out in a non-normative Note following item 2.

(4) 4.2 Reference Semantics has the following text, could use word-smithing in the final clause.
&quot;A model validator MUST attempt to resolve an SML reference using all reference schemes of which the reference is recognized as an instance. &quot;
Perhaps: A model validator MUST attempt to resolve an SML reference R using all SML reference schemes S1...Sn that the model validator recognizes in R [see section 4.3 item 1].

(5) 4.2.2 Consistent References fails to restrict its MUST to each SML ref elmt
from: An SML model MUST be declared invalid when 
      a recognized scheme ...
to  : An SML model MUST be declared invalid when, within a single SML reference,
      a recognized scheme ...
(this was discussed 1/22)

(6) 4.2.5 SML Null References (existing text, then 6a/6b changes)
An SML null reference is an explicit declaration of intent by the document author that the reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it. If a reference element is recognized as null, then processors MUST NOT attempt to resolve it. The question of whether a null reference is resolved or not is undefined; it is an ill-formed question.

(6a)
from: exist, and a processing directive (not a hint) to processors not 
      to attempt to recognize
to  : exist, and                                        processors MUST NOT
      to attempt to recognize
Note to editors: depending upon the order in which bugs are committed, 6a might need to be re-worded from this imperative style to a declarative one per 5406.

(6b)
from: then processors MUST NOT attempt to resolve it.
to  : then processors MUST NOT attempt to resolve it and MUST NOT attempt to 
      recognize any SML reference schemes within it.

(7) 4.2.6 deref() XPath Extension Function, item 2e, re-word
from: If none of the above is true (that is, all attempted schemes resolve to the same one and only one target element, call it T), then one target is returned (namely, T).
to:   If none of the above is true, then one target is returned.
      Note (non-normative): This occurs when all attempted SML reference 
      schemes resolve to one and only one target element, and this target 
      element is the same for all attempted SML reference schemes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18668</commentid>
    <comment_count>1</comment_count>
    <who name="Valentina Popescu">popescu</who>
    <bug_when>2008-01-31 20:47:52 +0000</bug_when>
    <thetext>reviewed in 01/31 meeting; resolution to mark editorial 

requires needsReview on completion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18689</commentid>
    <comment_count>2</comment_count>
    <who name="Kumar Pandit">kumarp</who>
    <bug_when>2008-02-02 03:29:15 +0000</bug_when>
    <thetext>(1)
4.1.1 SML Reference
An element information item in an SML model instance document MUST be treated as an SML reference if and only if it has an attribute information item for which all of the following is true: 
1.	Its [local name] is ref 
2.	Its [namespace name] is http://www.w3.org/@@@@/@@/sml 
3.	Its [normalized value], after whitespace normalization using collapse following schema rules, is either &quot;true&quot; or &quot;1&quot;.
...
4.1.2 Null SML Reference
An element information item in an SML model instance document is a null SML reference if and only if all of the following is true: 
1.	It is an SML reference.
2.	It has an attribute information item for which all of the following is true
a.	Its [local name] is nilref 
b.	Its [namespace name] is http://www.w3.org/@@@@/@@/sml 
c.	Its [normalized value] after whitespace normalization using collapse following schema rules, is either &quot;true&quot; or &quot;1&quot;.
(2), (3)
Done

(4)
Not done.

An earlier discussion with Sandy indicated that he prefers a ref to be recognized as an instance of a scheme. The new suggested wording does not capture that idea. I am neutral to the current and the new wording.

(5)
Done.

(6a)/(6b)
Note done.

The suggested text for 6a is wrong. The intent behind the desired change is unclear to me. It will help if the final desired text is suggested in full.

(7)
Not done.

The suggested text tries to define something using negation. It would be better to define what we want (and not what we dont want).

Proposed text: 
If all attempted reference schemes resolve to the same one and only one target element, call it T, then one target element (namely, T) is added to O, if it does not already exist in O.

Note that the proposed text includes additional text due to another bug fix (5400).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19031</commentid>
    <comment_count>3</comment_count>
    <who name="John Arwe">johnarwe</who>
    <bug_when>2008-02-14 01:57:54 +0000</bug_when>
    <thetext>1-5 ok

6a: the intent is to change it from text that &quot;strongly suggests&quot; what we want to happen to RFC2119-compliant text that (to me) has the same meaning just more clearly stated in a way a reader is less likely to miss.  What alternate interpretation leads you to declare the new text &quot;wrong&quot;?  Maybe I&apos;m missing some way of mis-reading what I intend...that is why we review it, so no harm no foul.

6b: this simply intended to combine two sequential if-then sentences that share a common antecedent (if condition).

6a/6b: current editor&apos;s copy has this first paragraph in 4.2.5
An null SML reference is an explicit declaration of intent by the document author that the SML reference itself does not exist, and a processing directive (not a hint) to processors not to attempt to recognize any reference schemes in it. If an SML reference is recognized as null, then processors MUST NOT attempt to resolve it.

6a/6b: replacement text, incorporating both changes above
An null SML reference is an explicit declaration of intent by the document author that the SML reference itself does not exist.  If an SML reference is recognized as null, processors MUST NOT attempt to recognize any reference schemes in it and MUST NOT attempt to resolve it.

(note: the first sentence is the subject of another in-flight bug, I restricted my changes to those described in this bug only) ... hope that helps

7: +1 for proposal in comment #2.  MUCH cleaner/clearer than my incremental chg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19060</commentid>
    <comment_count>4</comment_count>
    <who name="Virginia Smith">virginia.smith</who>
    <bug_when>2008-02-14 20:07:38 +0000</bug_when>
    <thetext>Fix per comment #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19095</commentid>
    <comment_count>5</comment_count>
    <who name="Kumar Pandit">kumarp</who>
    <bug_when>2008-02-16 09:18:54 +0000</bug_when>
    <thetext>Fixed per comment #3.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19144</commentid>
    <comment_count>6</comment_count>
    <who name="John Arwe">johnarwe</who>
    <bug_when>2008-02-20 15:17:27 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Fix per comment #3.

To be clear, this was a decision made on the 2/14 telecon.

</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>