<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<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>
</body>
</html>