Eric Patterson wrote:
> I've been reviewing Calculation Settings and finding that conformance is a bit ambiguous.
>
> Looking at sections 2.1.1 and 3.3, they indicate that conforming applications shall implement the calculation settings, and that applications may use non-default values for new documents.
>
> What is unclear is whether support of specific values are required for conformance.
> For example, table:null-date lists some commonly used values in a
note, but list no values as required for conformance.
> Are conforming applications any that read and write a single value
that conforms to the definition of table:null-date?
> Is application conformance reading all of the settings and only
loading files with the combinations of settings that
> are supported by the application?
Section 2.1.1 says that applications "shall" implement all the listed
calculation settings to conform to the "small" group. I'm not sure how
that's ambiguous - can you help me understand why it's ambiguous? I
interpret "implement" as "implement it for all the legal values of that
type", i.e., an application needs to be able to read all those values
and implement them.
After all, the whole point of standards is interoperability. If
application A using a setting, but application B can't understand the
setting, then it can't (in effect) process the file at all. In the
worse case, imagine that application A only permitted one setting (say,
case-sensitive=true) and another only permitted a different setting
(say, case-sensitive=false). Then, they effectively couldn't share
spreadsheets!! Most of the values are just true/false anyway, with the
exceptions that table:null-year is an integer representing a year, and
table:null-date is a date.
Anyone disagree with that interpretation? Anyone believe that the spec
should say something else? We _could_ require that only a subset of
these settings be supported, especially for "small", but in that case,
we need to specify that subset so that there's there's an interoperable
subset. I can imagine a smaller subset for "small", expanded by "medium".
--- David A. Wheeler