The structure of a chart plus its data. Charts do not have a
``light'' format.
-@item @var{prefix}_model.xml
-@itemx @var{prefix}_pmml.xml
-@itemx @var{prefix}_stats.xml
+@item @var{prefix}_model.scf
+@itemx @var{prefix}_pmml.scf
Not yet investigated. The corpus contains only one example of each.
+
+@itemx @var{prefix}_stats.xml
+Not yet investigated. The corpus contains few examples.
@end table
The @file{@var{prefix}} in the names of the detail members is
(i0 | i-1) (00 | 01) 00 (00 | 01)
int
byte[decimal] byte[grouping]
- int[x5] string*[x5] /* @r{custom currency} */
- int[x6] byte*[x6]
+ int[n-ccs] string*[n-ccs] /* @r{custom currency} */
+ styles2
+
+x2 := 00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 00 00 00 /* @r{18 bytes} */
+
+styles2 := i0 /* @r{version 1} */
+styles2 := count(count(x5) count(x6)) /* @r{version 3} */
+x5 := byte*33 int[n] int*n
+x6 := 01 00 (03 | 04) 00 00 00
+ string[command] string[subcommand]
+ string[language] string[charset] string[locale]
+ (00 | 01) 00 (00 | 01) (00 | 01)
+ int
+ byte[decimal] byte[grouping]
+ byte*8 01
+ (string[dataset] string[datafile] i0 int i0)?
+ int[n-ccs] string*[n-ccs]
+ 2e (00 | 01) (i2000000 i0)?
@end example
In every example in the corpus, @code{x1} is 240. The meaning of the
In every example in the corpus for version 1, @code{x3} is 16 and the
bytes that follow it are @code{00 00 00 01 00 00 00 01 00 00 00 00 01
-01 01 01}. In version 3, observed @code{x3} varies from 117 to 150 and
-the bytes that follow it vary somewhat and often include a readable
-text string, e.g. ``Default'' or ``Academic'', which appears to be the
-name of a ``TableLook''.
+01 01 01}. In version 3, observed @code{x3} varies from 117 to 150,
+and its bytes include a 1-byte count at offset 0x34. When the count
+is nonzero, a text string of that length at offset 0x35 is the name of
+a ``TableLook'', e.g. ``Default'' or ``Academic''.
Observed values of @code{x4} vary from 0 to 17. Out of 7060 examples
in the corpus, it is nonzero only 36 times.
@samp{,}, @samp{.}, @samp{'}, @samp{ }, and zero (presumably
indicating that digits should not be grouped).
-@code{x5} is observed as either 0 or 5. When it is 5, the following
-strings are CCA through CCE format strings. Most commonly these are
-all @code{-,,,} but other strings occur.
+@code{n-ccs} is observed as either 0 or 5. When it is 5, the
+following strings are CCA through CCE format strings. Most commonly
+these are all @code{-,,,} but other strings occur.
@example
font := byte[index] 31 string[typeface]
opt-value := 31 i0 (i0 | i1 string) opt-value-i0-v1 /* @r{version 1} */
| 31 i0 (i0 | i1 string) opt-value-i0-v3 /* @r{version 3} */
| 31 i1 int32[footnote-number] nested-string
- | 31 i2 (00 | 02) 00 (i1 | i2 | i3) nested-string
+ | 31 i2 (00 | 01 | 02) 00 (i1 | i2 | i3) nested-string
| 31 i3 00 00 01 00 i2 nested-string
| 58
opt-value-i0-v1 := 00 (i1 | i2) 00 00 int32 00 00
opt-value-i0-v3 := count(counted-string
- (58
- | 31 01? 00? 00? 00? 01
- string[fgcolor] string[bgcolor] string[typeface]
- byte)
+ (58 | 31 style)
(58
| 31 i0 i0 i0 i0 01 00 (01 | 02 | 08)
00 08 00 0a 00))
-nested-string := 00 00 count(counted-string 58 58)
+style := 01? 00? 00? 00? 01 string[fgcolor] string[bgcolor] string[font] byte
+nested-string := 00 00 count(counted-string (58 | 31 style) 58)
counted-string := count((i0 (58 | 31 string))?)
@end example