Describe union element and its children, and some missed details earlier.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 25 Jul 2016 05:22:41 +0000 (22:22 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Mon, 25 Jul 2016 05:22:41 +0000 (22:22 -0700)
Next: axis.

spv-file-format.texi

index a530ec9add14d0682ea14d87b7e6ff4602e9dd63..82afa6de7239ee5e90efc9689aed340bf8d1f013 100644 (file)
@@ -1810,12 +1810,18 @@ Parent: @code{facetLayout} @*
 Contents: @code{setMetaData} @code{setStyle}* @code{setFormat}@math{+} @code{union}?
 
 This element sets style properties of cells designated by the
-@code{target} attribute of its child elements.
+@code{target} attribute of its child elements, as further restricted
+by the optional @code{union} element if present.  The @code{target}
+values often used, e.g.@: @code{graph} or @code{labeling}, actually
+affect every cell, so the @code{union} element is a useful
+restriction.
 
 @defvr {Optional} applyToConverse
 If present, always @code{true}.  This appears to invert the meaning of
 the @code{target} of sub-elements: the selected cells are the ones
-@emph{not} designated by @code{target}.
+@emph{not} designated by @code{target}.  This is confusing, given the
+additional restrictions of @code{union}, but in the corpus
+@code{applyToConverse} is never present along with @code{union}.
 @end defvr
 
 @subsubheading The @code{setMetaData} Element
@@ -1883,6 +1889,21 @@ In version 2.7 and later, @code{setFormat} instead always contains a
 XXX reinvestigate the above claim about versions: it appears to be
 incorrect.
 
+The @code{setFormat} element itself has the following attributes.
+
+@defvr {Required} target
+The @code{id} of an element whose style is to be set.  In the corpus,
+this is always the @code{id} of an @code{majorTicks} or
+@code{labeling} element.
+@end defvr
+
+@defvr {Optional} reset
+If this is @code{true}, this format overrides the target's previous
+format.  If it is @code{false}, the adds to the previous format.  In
+the corpus this is always @code{true}.  The default behavior is
+unknown.
+@end defvr
+
 @menu
 * SPV Detail format Element::
 * SPV Detail numberFormat Element::
@@ -2301,3 +2322,58 @@ The string to display in place of the value of @code{from}.  In the
 corpus this is a wide variety of value labels; the system-missing
 value is mapped to @samp{.}.
 @end defvr
+
+@node SPV Detail union Element
+@subsubsection The @code{union} Element
+
+Parent: @code{setCellProperties} @*
+Contents: @code{intersect}@math{+}
+
+This element represents a set of cells, computed as the union of the
+sets represented by each of its children.
+
+@subsubheading The @code{intersect} Element
+
+Parent: @code{union} @*
+Contents: @code{where}@math{+} @math{|} @code{intersectWhere}?
+
+This element represents a set of cells, computed as the intersection
+of the sets represented by each of its children.
+
+Of the two possible children, in the corpus @code{where} is far more
+common, appearing thousands of times, whereas @code{intersectWhere}
+only appears 4 times.
+
+Most @code{intersect} elements have two or more children.
+
+@subsubheading The @code{where} Element
+
+Parent: @code{intersect} @*
+Contents: empty
+
+This element represents the set of cells in which the value of a
+specified variable falls within a specified set.
+
+@defvr {Attribute} variable
+The @code{id} of a variable, e.g.@: @code{dimension0categories} or
+@code{dimension0group0map}.
+@end defvr
+
+@defvr {Attribute} include
+A value, or multiple values separated by semicolons,
+e.g.@: @code{0} or @code{13;14;15;16}.
+@end defvr
+
+@subsubheading The @code{intersectWhere}
+
+Parent: @code{intersect} @*
+Contents: empty
+
+The meaning of this element is unknown.
+
+@defvr {Attribute} variable
+@defvrx {Attribute} variable2
+The meaning of these attributes is unknown.  In the four examples in
+the corpus they always take the values @code{dimension2categories} and
+@code{dimension0categories}, respectively.
+@end defvr