<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi all<br>
      <br>
      Following discussion in this morning's WG 4 session, here is a
      slight re-write of my proposed text to replace the first paragraph
      of §18.3.1.92:<br>
      <br>
      "This collection preserves information used to perform a sort
      operation on a specific range of data. The applicable range of
      data shall be interpreted according to the context provided by the
      parent element: a worksheet (§18.3.1), a filter applied to a
      worksheet (§18.3.1.2), a table within a worksheet (§18.5), or a
      query table (§18.12).<br>
      <br>
      [Note: A consuming implementation may choose to use the preserved
      information to configure its internal state for the next time a
      sort operation is performed, unless modified by the user. end
      note]"<br>
      <br>
      <br>
      <br>
      Kind regards,<br>
      <br>
      Francis<br>
      <br>
      <br>
      <br>
      On 20/06/2017 08:21, Francis Cave wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c8b9c102-bed3-1bb1-6ba5-ed79ad5cdd74@franciscave.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <p>Hi all</p>
      <p>Following the WG 4 face-to-face session on 2017-06-20 I have
        reviewed DR 16-0008 and the current specification of
        sml:sortState in prose and in the SML schemas (Strict and
        Transitional).</p>
      <p>Charlie Clark's original DR mentions two issues:</p>
      <p>- The prose in §18.3.1.92 only mentions the use of
        sml:sortState in one context: within AutoFilter Settings (see
        §18.3.1.2 autoFilter and §18.3.2 AutoFilter Settings). But the
        schema specifies sml:sortState as a child element of
        sml:Worksheet. There is no prose mentioning the use of
        sml:sortState in this latter context.</p>
      <p>- The function of the element sml:sortState is unclear. It is
        not clear what purpose is served by storing sml:sortState in a
        document. It is not clear as to what, if anything, a conformant
        consuming implementation is supposed to do with this
        information.</p>
      <p>Following a series of exchanges, MS experts provided detailed
        feedback indicating that sml:sortState can be used in four
        contexts: <br>
      </p>
      <p>- sml:autoFilter<br>
        - sml:worksheet<br>
        - sml:table<br>
        - sml:queryTableRefresh</p>
      <p>In each case the element except the last, the element
        sml:sortState defines the last sort operation performed in the
        given context. In the case of sml:queryTableRefresh, the element
        sml:sortState defines the sort operation that will be performed
        when cell table data is refreshed.</p>
      I have checked the Strict and Transitional schemas, and in both
      cases sml:sortState is mentioned as a child element within a
      complex type CT_Macrosheet. This complex type is not used in the
      schemas and is not mentioned in prose. I propose that, as an
      adjunct to resolving this DR, these complex types should be
      removed from the schemas (XSD and RNG). <br>
      <p>The remaining occurrences of sml:sortState in the schemas
        correspond to the four contexts described by MS experts, i.e. as
        a child element of four complex types: CT_AutoFilter,
        CT_Worksheet, CT_Table and CT_QueryTableRefresh.<br>
      </p>
      <p>To resolve the two issues raised by Charlie Clark in the DR, I
        propose the following new text for §18.3.1.92, to replace the
        first paragraph:</p>
      <p>"This collection preserves information used to perform a sort
        operation on a specific range of data. The range of data may be
        specified with respect to a worksheet (§18.3.1), a filter
        applied to a worksheet (§18.3.1.2), a table within a worksheet
        (§18.5), or a query table (§18.12).</p>
      <p>[<i>Note</i>: A consuming implementation may choose to use the
        preserved information to configure its internal state for the
        next time a sort operation is performed, unless modified by the
        user. <i>end note</i>]"</p>
      <p>It would also be helpful to forward the most recent response of
        MS experts to Charlie Clark.<br>
      </p>
      <p>Kind regards,</p>
      <p>Francis<br>
      </p>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>