Next: , Previous: , Up: SPSS Viewer File Format   [Contents][Index]

D.2 Light Detail Member Format

This section describes the format of “light” detail .bin members. These members have a binary format which we describe here in terms of a context-free grammar using the following conventions:

NonTerminal ⇒ …

Nonterminals have CamelCaps names, and ⇒ indicates a production. The right-hand side of a production is often broken across multiple lines. Break points are chosen for aesthetics only and have no semantic significance.

00, 01, …, ff.

Bytes with fixed values are written in hexadecimal:

i0, i1, …, i9, i10, i11, …

32-bit integers with fixed values are written in decimal, prefixed by ‘i’.


An arbitrary byte.


An arbitrary 32-bit integer.


An arbitrary 64-bit IEEE floating-point number.


A 32-bit integer followed by the specified number of bytes of character data. (The encoding is indicated by the Formats nonterminal.)


x is optional, e.g. 00? is an optional zero byte.


x is repeated n times, e.g. byte*10 for ten arbitrary bytes.


Gives x the specified name. Names are used in textual explanations. They are also used, also bracketed, to indicate counts, e.g. int[n] byte*[n] for a 32-bit integer followed by the specified number of arbitrary bytes.

a | b

Either a or b.


Parentheses are used for grouping to make precedence clear, especially in the presence of |, e.g. in 00 (01 | 02 | 03) 00.


A 32-bit integer that indicates the number of bytes in x, followed by x itself.


In a version 1 .bin member, x; in version 3, nothing. (The .bin header indicates the version.)


In a version 3 .bin member, x; in version 1, nothing.

All integer and floating-point values in this format use little-endian byte order.

A “light” detail member .bin consists of a number of sections concatenated together, terminated by a byte 01:

LightMember ⇒ Header Title Caption Footnotes Fonts Formats Dimensions Data 01

The following sections go into more detail.

Next: , Previous: , Up: SPSS Viewer File Format   [Contents][Index]