X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=spv-file-format.texi;h=1aef76c64750d0bef77720dadf166235531993dc;hb=7802d3315464f29b075f69253162405e4d52fd27;hp=f9d698706e50acf0ba48e577f2f1647a2737a118;hpb=38a126b38f4963ba033120754e7a4f026e9fa01e;p=pspp diff --git a/spv-file-format.texi b/spv-file-format.texi index f9d698706e..1aef76c647 100644 --- a/spv-file-format.texi +++ b/spv-file-format.texi @@ -55,10 +55,12 @@ Same format used for tables, with a different name. 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 @@ -400,8 +402,24 @@ styles := 00 font*8 (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 @@ -413,10 +431,10 @@ follow it are @code{00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 00 00 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. @@ -433,9 +451,9 @@ are @samp{.} and @samp{,}. @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] @@ -616,19 +634,17 @@ substitution := i0 value 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