Document labels and axes.
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 26 Jul 2016 06:05:24 +0000 (23:05 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 26 Jul 2016 06:05:24 +0000 (23:05 -0700)
Makefile
spv-detail.gv
spv-file-format.texi

index 348323a9a631f3b6650162bedf5a22aa79f0604a..25f48159a5c26fafed1ffc27ea206935be007bd5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,9 +5,11 @@ parse-xml.o: CFLAGS := $(shell pkg-config --cflags libxml-2.0) $(base_cflags)
 parse-xml: LDFLAGS := $(shell pkg-config --libs libxml-2.0) $(LDFLAGS)
 dump2.o: CFLAGS := $(base_cflags) -Wno-unused
 
-all: dump dump2 parse-xml spv-file-format.text
+all: dump dump2 parse-xml spv-file-format.text spv-detail.pdf
 dump: dump.o u8-mbtouc.o
 dump2: dump2.o u8-mbtouc.o
 parse-xml: parse-xml.o
 spv-file-format.text: spv-file-format.texi
        makeinfo --force --plaintext -o $@ $<
+spv-detail.pdf: spv-detail.gv
+       dot -T pdf -o$@ $<
index 5704c6a49d4f69f52ac2647519ea733532b7f45d..936ccd25b973e50d977e8fac2ccc082a95750338 100644 (file)
@@ -57,9 +57,10 @@ digraph spv_detail {
     "facetLayout" -> "setCellProperties" [label="*"];
     "facetLevel" -> "axis";
 
+    "axis" -> "label" [label="?"];
     "axis" -> "majorTicks";
 
-    "label" -> "descriptionGroup" [label="*"];
+    "label" -> "descriptionGroup" [label="?"];
     "label" -> "text" [label="*"];
 
     "majorTicks" -> "gridline" [label="?"];
@@ -89,4 +90,8 @@ digraph spv_detail {
 
     "intersect" -> "intersectWhere" [label="?"];
     "intersect" -> "where" [label="*"];
+
+    "text" -> "<text>";
+
+    "<text>" [label="text", shape=plaintext];
 }
index 82afa6de7239ee5e90efc9689aed340bf8d1f013..3d0ffd725c7d067b7e9b980d4182e3f68d5e2001 100644 (file)
@@ -1804,6 +1804,115 @@ and in a member with four @code{variableReference} elements, a
 Always observed as @code{0pt}.
 @end defvr
 
+@subsubheading The @code{axis} Element
+
+Parent: @code{facetLevel} @*
+Contents: @code{label}? @code{majorTicks}
+
+@defvr {Attribute} style
+The @code{id} of a @code{style} element.
+@end defvr
+
+@subsubheading The @code{label} Element
+
+Parent: @code{axis} or @code{labelFrame} @*
+Contents: @code{text}@math{+} @math{|} @code{descriptionGroup}
+
+This element represents a label on some aspect of the table.  For example,
+the table's title is a @code{label}.
+
+The contents of the label can be one or more @code{text} elements or a
+@code{descriptionGroup}.
+
+@defvr {Attribute} style
+@defvrx {Optional} textFrameStyle
+Each of these is the @code{id} of a @code{style} element.
+@code{style} is the style of the label text, @code{textFrameStyle} the
+style for the frame around the label.
+@end defvr
+
+@defvr {Optional} purpose
+The kind of entity being labeled, one of @code{title},
+@code{subTitle}, @code{layer}, or @code{footnote}.
+@end defvr
+
+@subsubheading The @code{descriptionGroup} Element
+
+Parent: @code{label} @*
+Contents: (@code{description} @math{|} @code{text})@math{+}
+
+A @code{descriptionGroup} concatenates one or more elements to form a
+label.  Each element can be a @code{text} element, which contains
+literal text, or a @code{description} element that substitutes a value
+or a variable name.
+
+@defvr {Attribute} target
+The @code{id} of an element being described.  In the corpus, this is
+always @code{faceting}.
+@end defvr
+
+@defvr {Attribute} separator
+A string to separate the description of multiple groups, if the
+@code{target} has more than one.  In the corpus, this is always a
+new-line.
+@end defvr
+
+Typical contents for a @code{descriptionGroup} are a value by itself:
+@example
+<description name="value"/>
+@end example
+@noindent or a variable and its value, separated by a colon:
+@example
+<description name="variable"/><text>:</text><description name="value"/>
+@end example
+
+@subsubheading The @code{description} Element
+
+Parent: @code{descriptionGroup} @*
+Contents: empty
+
+A @code{description} is like a macro that expands to some property of
+the target of its parent @code{descriptionGroup}.
+
+@defvr {Attribute} name
+The name of the property.  Only @code{variable} and @code{value}
+appear in the corpus.
+@end defvr
+
+@subsubheading The @code{majorTicks} Element
+
+Parent: @code{axis} @*
+Contents: @code{gridline}?
+
+@defvr {Attribute} labelAngle
+@defvrx {Attribute} length
+Both always defined to @code{0}.
+@end defvr
+
+@defvr {Attribute} style
+@defvrx {Attribute} tickFrameStyle
+Each of these is the @code{id} of a @code{style} element.
+@code{style} is the style of the tick labels, @code{tickFrameStyle}
+the style for the frames around the labels.
+@end defvr
+
+@subsubheading The @code{gridline} Element
+
+Parent: @code{majorTicks} @*
+Contents: empty
+
+Represents ``gridlines,'' which for a table represents the lines
+between the rows or columns of a table (XXX?).
+
+@defvr {Attribute} style
+The style for the gridline.
+@end defvr
+
+@defvr {Attribute} zOrder
+Observed as a number between 28 and 31.  Does not seem to be
+important.
+@end defvr
+
 @subsubheading The @code{setCellProperties} Element
 
 Parent: @code{facetLayout} @*
@@ -1911,6 +2020,7 @@ unknown.
 * SPV Detail dateTimeFormat Element::
 * SPV Detail affix Element::
 * SPV Detail relabel Element::
+* SPV Detail union Element::
 @end menu
 
 @node SPV Detail format Element