Review of DR 16-0008 — SML: sortState
Francis Cave
francis at franciscave.com
Tue Jun 20 09:21:32 CEST 2017
Hi all
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).
Charlie Clark's original DR mentions two issues:
- 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.
- 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.
Following a series of exchanges, MS experts provided detailed feedback
indicating that sml:sortState can be used in four contexts:
- sml:autoFilter
- sml:worksheet
- sml:table
- sml:queryTableRefresh
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.
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).
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.
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:
"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).
[/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/]"
It would also be helpful to forward the most recent response of MS
experts to Charlie Clark.
Kind regards,
Francis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.vse.cz/pipermail/sc34wg4/attachments/20170620/9641fdde/attachment.html>
More information about the sc34wg4
mailing list