Start describing legacy detail members.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 11 Jan 2016 06:30:17 +0000 (22:30 -0800)
committerBen Pfaff <blp@cs.stanford.edu>
Mon, 11 Jan 2016 06:30:17 +0000 (22:30 -0800)
spv-file-format.texi

index c1d5d0712393cc301562180c60ac43dfbc6ff6a7..223b2ef90fef85544c5fca6093913d78a4fac271 100644 (file)
@@ -174,7 +174,7 @@ describes what it labels, often by naming the statistical procedure
 that was executed, e.g.@: ``Frequencies'' or ``T-Test''.  Labels are
 often very generic, especially within a @code{container}, e.g.@:
 ``Title'' or ``Warnings'' or ``Notes''.  Label text is localized
-according to the output language, e.g. in Italian a frequency table
+according to the output language, e.g.@: in Italian a frequency table
 procedure is labeled ``Frequenze''.
 
 The corpus contains one example of an empty label, one that contains
@@ -817,3 +817,45 @@ English-language version of the localized format string in the
 The @code{style}, if present, changes the style for this individual
 @code{value}.
 @end itemize
+
+@node SPV Legacy Detail Member Binary Format
+@subsection SPV Legacy Detail Member Binary Format
+
+A legacy detail member's binary file has a much simpler format than
+the light member binary format.
+
+@example
+legacy-member := 00 byte[version] int16[n-sources] int32[file-size]
+                 metadata*[n-sources] data*[n-sources]
+@end example
+
+@code{version} is a version number that affects the interpretation of
+some of the other data in the member.  Versions 0xaf and 0xb0 are
+known.  We will refer to ``version 0xaf'' and ``version 0xb0'' members
+later on.
+
+A legacy member consists of @code{n-sources} data sources, each of
+which has @code{metadata} and @code{data}.
+
+@code{file-size} is the size of the file, in bytes.
+
+@example
+metadata := int32[per-series] int32[n-series] int32[offset] source-name
+source-name := byte*[32]        /* @r{version 0xaf} */
+source-name := byte*[64] int32  /* @r{version 0xb0} */
+@end example
+
+A data source consists of @code{n-series} series of data, with
+@code{per-series} data items per series.  Depending on the version,
+@code{source-name} is a 32- or 64-byte string padded on the right with
+zero bytes.  The names that appear in the corpus are very generic,
+usually @code{tableData} or @code{source0}.  The @code{offset} is the
+offset, in bytes, from the beginning of the file to the start of this
+data source's @code{data}.
+
+The meaning of the number in version 0xb0 @code{source-name} is
+unknown.
+
+@example
+
+@end example