<?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>4719</bug_id>
          
          <creation_ts>2007-06-23 10:09:14 +0000</creation_ts>
          <short_desc>[FT] editorial: 3.7 Ignore Option</short_desc>
          <delta_ts>2008-03-16 21:28:31 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>Full Text 1.0</component>
          <version>Last Call drafts</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Dyck">jmdyck</reporter>
          <assigned_to name="Mary Holstege">holstege</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>15547</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2007-06-23 10:09:14 +0000</bug_when>
    <thetext>3.7 Ignore Option

[1]
position of section
    Given that an FTIgnoreOption can only occur as part of an
    FTContainsExpr, I think this section should be close to 2.2.

[2]
para 1
&quot;The ignore option specifies a set of nodes whose content are ignored&quot;
    s/content/contents/

[3]
&quot;(see FTContainsExp)&quot;
    s/Exp/Expr/

[4]
&quot;Let N1, N2, ..., Nk be the sequence of nodes of the search context.&quot;
    If the search context contains atomic values, this would seem to
    exclude them from the new search context.

[5]
para 2
&quot;Now, let I1, I2, ..., In be the sequence of items that UnionExpr
evaluates to. For each Ni (i=1..k) a copy is made...&quot;
    To get the quantification right, change to:
        For each Ni (i=1...k), let I1, I2, ..., In be the sequence of
        items that UnionExpr evaluates to. A copy of Ni is made...
    It might be even better if you pulled in the stuff about evaluating
    UnionExpr from the preceding para.

[6]
&quot;that is not Ni&quot;
    So &quot;without content .&quot; has no effect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16283</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2007-08-27 21:12:45 +0000</bug_when>
    <thetext>Further to [5]:
The spec should probably say what happens if an Ij is a non-node, i.e. if the
value of the UnionExpr contains one or more atomic values. (Presumably, the
choices are: raise an error, skip it, or work with it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18506</commentid>
    <comment_count>2</comment_count>
    <who name="Mary Holstege">holstege</who>
    <bug_when>2008-01-24 15:59:38 +0000</bug_when>
    <thetext>Fixed, as part of fixes to 4728 or as editorial changes as suggested.
Point [1] was considered at F2F 2008-01-24 and we declined to do so, on the grounds that FTIgnoreOption is not a core feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19100</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2008-02-16 10:49:39 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; Fixed, as part of fixes to 4728 or as editorial changes as suggested.

The phrases
    each item Ni (i=1..k)
and
    If Ni is not a node,
indicate that it doesn&apos;t have to be a node, so in the phrase
    let N1, N2, ..., Nk be the sequence of nodes that UnionExpr evaluates to
&quot;nodes&quot; should presumably be changed to &quot;items&quot;.

Note that you could say something like
    let N1, N2, ..., Nk be the nodes in the sequence of items
    that UnionExpr evaluates to
and then subsequently know that Ni is a node.


&quot;omits each item Ni (i=1..k) that is not Ij&quot;
    The &quot;that is not Ij&quot; part doesn&apos;t agree with fts:reconstruct.
    I think fts:reconstruct&apos;s interpretation is less surprising.

&quot;If Ni is not a node, it is ignored, as &quot;is&quot; does not apply to non-nodes.&quot;
    The second part is kind of a non-sequitur. I&apos;m guessing you&apos;re talking
    about XQuery&apos;s &quot;is&quot; operator, but there isn&apos;t a use of it nearby. And 
    even if there were, it wouldn&apos;t really explain much. I suggest just 
    ending the sentence at &quot;is ignored&quot;.


&gt; Point [1] was considered at F2F 2008-01-24 and we declined to do so, on the
&gt; grounds that FTIgnoreOption is not a core feature.

Hm. Well, looking at 5.2.13 and 5.2.14, it seems that FTIgnoreOption and Scoring are about equivalent in their core-ness, but that doesn&apos;t prevent 2.3 Score Variables from being close to section 2.2.

Look at it this way: syntactically, FTIgnoreOption is not part of FTSelection, it&apos;s part of FTContainsExpr. So [3.7 Ignore Option] doesn&apos;t belong in [3 Full-Text Selections], it belongs in [2.2 Full-Text Contains Expression].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19221</commentid>
    <comment_count>4</comment_count>
    <who name="Mary Holstege">holstege</who>
    <bug_when>2008-02-28 19:50:59 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; The phrases
&gt;     each item Ni (i=1..k)
&gt; and
&gt;     If Ni is not a node,
&gt; indicate that it doesn&apos;t have to be a node, so in the phrase
&gt;     let N1, N2, ..., Nk be the sequence of nodes that UnionExpr evaluates to
&gt; &quot;nodes&quot; should presumably be changed to &quot;items&quot;.

Yeah. An alternative is to just insist that everything here be nodes. Not a
node =&gt; type error.  In fact, this is the semantics that fts:reconstruct has
due to its function signature. Which makes the offending sentence about what
to do about non-nodes moot: it should just be deleted.
 
&gt; &quot;omits each item Ni (i=1..k) that is not Ij&quot;
&gt;     The &quot;that is not Ij&quot; part doesn&apos;t agree with fts:reconstruct.
&gt;     I think fts:reconstruct&apos;s interpretation is less surprising.

It took me a bit to see what the difference was, given that fts:reconstruct
uses the &quot;is&quot; operator as well.  The &quot;is&quot; in &quot;is not&quot; above refers to the
&quot;is&quot; operator.  The difference is in the case where a descendent node of
Ij &quot;is&quot; some Ni, yes?  Can you think of a simple way to say this? 

&gt; &quot;If Ni is not a node, it is ignored, as &quot;is&quot; does not apply to non-nodes.&quot;
&gt;     The second part is kind of a non-sequitur. I&apos;m guessing you&apos;re talking
&gt;     about XQuery&apos;s &quot;is&quot; operator, but there isn&apos;t a use of it nearby. And 
&gt;     even if there were, it wouldn&apos;t really explain much. I suggest just 
&gt;     ending the sentence at &quot;is ignored&quot;.

Moot, given observation above.
 
&gt; &gt; Point [1] was considered at F2F 2008-01-24 and we declined to do so, on the
&gt; &gt; grounds that FTIgnoreOption is not a core feature.
&gt; 
&gt; Hm. Well, looking at 5.2.13 and 5.2.14, it seems that FTIgnoreOption and
&gt; Scoring are about equivalent in their core-ness, but that doesn&apos;t prevent 2.3
&gt; Score Variables from being close to section 2.2.
&gt; 

Well &quot;core&quot; was a poor choice of words. The thing is that it isn&apos;t the first
thing you think of when you think about full-text querying.  Matching and scoring are much more central.

&gt; Look at it this way: syntactically, FTIgnoreOption is not part of FTSelection,
&gt; it&apos;s part of FTContainsExpr. So [3.7 Ignore Option] doesn&apos;t belong in [3
&gt; Full-Text Selections], it belongs in [2.2 Full-Text Contains Expression].

Technically true, but giving such prominence to it doesn&apos;t seem like a win, overall, at least not to me.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19491</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2008-03-16 21:22:41 +0000</bug_when>
    <thetext>At meeting 166, the FTTF made a couple of decisions.

1) Re comment #1:
If the Ignore expression yields non-nodes, raise a type error.

2) Re comment #3:
&gt; &quot;omits each item Ni (i=1..k) that is not Ij&quot;
&gt;    The &quot;that is not Ij&quot; part doesn&apos;t agree with fts:reconstruct.
&gt;    I think fts:reconstruct&apos;s interpretation is less surprising.

Drop &quot;that is not Ij&quot;. (So if some search context item Ij is an ignored node Ni, it will be ignored.)

I have committed these two changes to the document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19492</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2008-03-16 21:27:22 +0000</bug_when>
    <thetext>re [1]: At meeting 167, the FTTF decided not to change the position of section 3.7 Ignore Option.

Therefore, I&apos;m marking this bug resolved-fixed, and closing it.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>