X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=spv-file-format.texi;h=5ced97ce610131e2d93d40d20675836b2efd48c5;hb=368df5e381894c9fa6bb2b51596a1a58b0d869a8;hp=e7c3f888900bcdae677436f01d42cc70e64d248a;hpb=9692b579384a142daf732706ad2f4401481a3077;p=pspp diff --git a/spv-file-format.texi b/spv-file-format.texi index e7c3f88890..5ced97ce61 100644 --- a/spv-file-format.texi +++ b/spv-file-format.texi @@ -517,6 +517,28 @@ for the first dimension, 1 for the second, and so on. The latter is the case 98% of the time in the corpus. @example -category := value i1 - (00 | 01 (00 | 01 | 02) | 02) 00 00 00 +category := value[name] + (00 | 01)[merge] 00 (00 | 01)[unindexed] (i0 | i2) + int[index] int[n-subcategories] category*[n-subcategories] @end example + +@code{category} can represent a terminal category. In that case, +@code{name} is the name of the category, @code{merge} is 00, +@code{unindexed} is 00, @code{index} is a nonnegative integer less +than @code{n-categories} in the @code{dimension} in which the +@code{category} is nested (directly or indirectly), and +@code{n-subcategories} is 0. + +Alternatively, @code{category} can represent a group of nested +categories. In that case, @code{name} is the name of the group, +@code{unindexed} is 01, and @code{index} is -1. Ordinarily a group +has some nested content, so that @code{n-subcategories} is positive, +but a few instances of groups with @code{n-subcategories} 0 has been +observed. If @code{merge} is 00, the most common value, then the +group is really a distinct group that should be represented as such in +the visual representation and user interface. If @code{merge} is 01, +however, the categories in this group should be shown and treated as +if they were direct children of the group's parent group (or if it has +no parent group, then direct children of the dimension), and this +group's name is irrelevant and should not be displayed. (Merged +groups can be nested!)