Re: Review of DR 16-0008 — SML: sortState

Francis Cave francis at franciscave.com
Thu Jun 22 05:17:06 CEST 2017


Hi all

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:

"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).

[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]"



Kind regards,

Francis



On 20/06/2017 08:21, Francis Cave wrote:
>
> 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/20170622/5cd398f5/attachment.html>


More information about the sc34wg4 mailing list