spv-file-format: Improve description of file format.
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 17 Jul 2017 22:12:39 +0000 (15:12 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Mon, 17 Jul 2017 22:13:38 +0000 (15:13 -0700)
doc/automake.mk
doc/dev/spv-file-format.texi
doc/dev/spv-structure.eps [deleted file]
doc/dev/spv-structure.gv [deleted file]
doc/dev/spv-structure.pdf [deleted file]

index 28866ca2e9196eb46143842cb7b1d3a95ba24483..c571a236d2fc240d8bd841a2ade937ae2791158d 100644 (file)
@@ -45,20 +45,6 @@ doc_pspp_dev_TEXINFOS = doc/version-dev.texi \
        doc/dev/encrypted-file-wrappers.texi \
        doc/dev/q2c.texi
 
-if HAVE_DOT
-$(PDFS): doc/dev/spv-structure.pdf
-$(srcdir)/doc/dev/spv-structure.pdf: doc/dev/spv-structure.gv
-       dot -Tpdf < $< > $@
-
-$(DVIS): doc/dev/spv-structure.eps
-$(srcdir)/doc/dev/spv-structure.eps: doc/dev/spv-structure.gv
-       dot -Teps < $< > $@
-endif
-EXTRA_DIST += \
-       doc/dev/spv-structure.gv \
-       doc/dev/spv-structure.pdf \
-       doc/dev/spv-structure.eps
-
 dist_man_MANS += doc/pspp.1 \
                  doc/psppire.1
 
index f9ab37374cea12fefd1a61c702f93d1ec5283b30..379f6988f7238675fbe959ef871e3949c8633fca 100644 (file)
@@ -106,23 +106,75 @@ The actual XML has a simple and straightforward form that does not
 require a reader to take schemas or namespaces into account.  A
 structure member's root is @code{heading} element, which contains
 @code{heading} or @code{container} elements (or a mix), forming a
-tree.  In turn, @code{container} holds a single @code{text} or
-@code{table} element.
+tree.  In turn, @code{container} holds a @code{label} and one more
+child, usually @code{text} or @code{table}.
 
-@ifnottex
-For a diagram illustrating the hierarchy of elements within an SPV
-structure member, please refer to a PDF version of the manual.
-@end ifnottex
-
-@iftex
 The following diagram shows the hierarchy within an SPV structure
-member more precisely.  Oval nodes are elements and <text> and <cdata>
-are plain text and CDATA within elements.  Edges point from parent to
-child.  Unlabeled edges indicate that the child appears exactly once;
-edges labeled with *, zero or more times; edges labeled with ?, zero
-or one times.
-@center @image{dev/spv-structure, 5in}
-@end iftex
+member more precisely.  Names represent elements and <text> and
+<cdata> represent plain text and CDATA, respectively.  Edges point
+from parent to child.  Unlabeled edges indicate that the child appears
+exactly once; edges labeled with *, zero or more times; edges labeled
+with ?, zero or one times.  Where possible, child elements are shown
+in the order they actually appear within a parent element.
+
+@example
+@group
+heading
+  +--?--> pageSetup
+  |         +--> pageHeader +--> pageParagraph --> text --> <cdata>
+  |         +--> pageFooter +--> pageParagraph --> text --> <cdata>
+  +-----> label --?--> <text>
+  +--*--> heading
+  +--*--> container
+             +-----> label --?--> <text>
+             +--?--> text ---> html --> <cdata>
+             +--?--> table
+             |         +--?-- tableProperties
+             |         |        +--> generalProperties
+             |         |        +--> footnoteProperties
+             |         |        +--> cellFormatProperties
+             |         |        |      +--> caption -------> style
+             |         |        |      +--> footnotes -----> style
+             |         |        |      +--> rowLabelse ----> style
+             |         |        |      +--> columnLabels --> style
+             |         |        |      +--> data ----------> style
+             |         |        |      +--> layers --------> style
+             |         |        |      +--> title ---------> style
+             |         |        |      +--> cornerLabels --> style
+             |         |        +--> borderProperties
+             |         |        |      +--> topInnerFrame
+             |         |        |      +--> rightInnerFrame
+             |         |        |      +--> horizontalDimensionBorderColumns
+             |         |        |      +--> horizontalDimensionBorderRows
+             |         |        |      +--> horizontalCategoryBorderColumns
+             |         |        |      +--> leftInnerFrame
+             |         |        |      +--> verticalDimensionBorderRows
+             |         |        |      +--> titleLayerSeparator
+             |         |        |      +--> verticalCategoryBorderRows
+             |         |        |      +--> topOuterFrame
+             |         |        |      +--> bottomInnerFrame
+             |         |        |      +--> leftOuterFrame
+             |         |        |      +--> dataAreaTop
+             |         |        |      +--> verticalDimensionBorderColumns
+             |         |        |      +--> dataAreaLeft
+             |         |        |      +--> horizontalCategoryBorderRows
+             |         |        |      +--> bottomOuterFrame
+             |         |        |      +--> rightOuterFrame
+             |         |        |      +--> verticalCategoryBorderColumns
+             |         |        +--> printingProperties
+             |         +----- tableStructure
+             |                  +--?--> path ------> <text>
+             |                  +-----> dataPath --> <text>
+             +--?--> graph
+             |         +--?--> dataPath --> <text>
+             |         +-----> path ------> <text>
+             +--?--> model
+                       +--?--> ViZml --> <text>
+                       +--?--> path ---> <text>
+                       +--?--> pmmlContainerPath ---> <text>
+                       +--?--> statsContainerPath --> <text>
+@end group
+@end example
 
 The elements found in structure members are documented below.  For
 each element, we note the possible parent elements and the element's
@@ -200,7 +252,9 @@ information, and the CSS from the embedded HTML:
 * SPV Structure html Element::
 * SPV Structure table Element::
 * SPV Structure tableStructure Element::
-* SPV Structure dataPath Element::
+* SPV Structure graph Element::
+* SPV Structure model Element::
+* SPV Structure dataPath and path Elements::
 * SPV Structure pageSetup Element::
 * SPV Structure pageHeader and pageFooter Elements::
 * SPV Structure pageParagraph Element::
@@ -311,7 +365,7 @@ This element has no attributes.
 @subsection The @code{container} Element
 
 Parent: @code{heading} @*
-Contents: @code{label} (@code{table} @math{|} @code{text})?
+Contents: @code{label} (@code{table} @math{|} @code{text} @math{|} @code{graph} @math{|} @code{model})
 
 A @code{container} serves to label a @code{table} or a @code{text}
 item.
@@ -421,16 +475,66 @@ Contents: @code{dataPath}
 
 This element has no attributes.
 
-@node SPV Structure dataPath Element
-@subsection The @code{dataPath} Element
+@node SPV Structure graph Element
+@subsection The @code{graph} Element
+
+Parent: @code{container} @*
+Contents: @code{dataPath}? @code{path}
+
+This element represents a graph.  The @code{dataPath} and @code{path}
+elements name the Zip members that give the details of the graph.
+Normally, both elements are present; there is only one counterexample
+in the corpus.
+
+@node SPV Structure model Element
+@subsection The @code{model} Element
+
+Parent: @code{container} @*
+Contents: (@code{ViZml}? @code{path}) @math{|} (@code{pmmlContainerPath} @code{statsContainerPath})
+
+This element represents a model.  The @code{dataPath} and @code{path}
+elements name the Zip members that give the details of the model.
+Normally, both elements are present; there is only one counterexample
+in the corpus.
 
-Parent: @code{tableStructure} @*
+The details are unexplored.  The @code{ViZml} element contains base-64
+encoded text, that decodes to a binary format with some embedded text
+strings, and @code{path} names an Zip member that contains XML.
+Alternatively, @code{pmmlContainerPath} and @code{statsContainerPath}
+name Zip members with @file{.scf} extension.
+
+@node SPV Structure dataPath and path Elements
+@subsection The @code{dataPath} and @code{path} Elements
+
+Parent: @code{tableStructure} or @code{graph} or @code{model} @*
 Contents: text
 
-Contains the name of the Zip member that holds the table details,
-e.g.@: @code{0000000001437_lightTableData.bin}.
+These element contain the name of the Zip members that hold details
+for a container.  For tables:
 
-This element has no attributes.
+@itemize @bullet
+@item
+When a ``light'' format is used, only @code{dataPath} is present, and
+it names a @file{.bin} member of the Zip file that has @code{light} in
+its name, e.g.@: @code{0000000001437_lightTableData.bin} (@pxref{SPV
+Light Detail Member Format}).
+
+@item
+When the legacy format is used, both are present.  In this case,
+@code{dataPath} names a Zip member with a legacy binary format that
+contains relevant data (@pxref{SPV Legacy Detail Member Binary
+Format}), and @code{path} names a Zip member that uses an XML format
+(@pxref{SPV Legacy Detail Member XML Format}).
+@end itemize
+
+Graphs normally follow the legacy approach described above.  The
+corpus contains one example of a graph with @code{path} but not
+@code{dataPath}.  The reason is unexplored.
+
+Models use @code{path} but not @code{dataPath}.  @xref{SPV Structure
+graph Element}, for more information.
+
+These elements have no attributes.
 
 @node SPV Structure pageSetup Element
 @subsection The @code{pageSetup} Element
diff --git a/doc/dev/spv-structure.eps b/doc/dev/spv-structure.eps
deleted file mode 100644 (file)
index 247d67a..0000000
+++ /dev/null
@@ -1,728 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: spv_structure
-%%Pages: 1
-%%BoundingBox: 36 36 518 560
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {   % i j npages
-       /npages exch def
-       /j exch def
-       /i exch def
-       /str 10 string def
-       npages 1 gt {
-               gsave
-                       coordfont setfont
-                       0 0 moveto
-                       (\() show i str cvs show (,) show j str cvs show (\)) show
-               grestore
-       } if
-} bind def
-
-/set_font {
-       findfont exch
-       scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {                 % width text
-       /text exch def
-       /width exch def
-       gsave
-               width 0 gt {
-                       [] 0 setdash
-                       text stringwidth pop width exch sub text length div 0 text ashow
-               } if
-       grestore
-} def
-
-/boxprim {                             % xcorner ycorner xsize ysize
-               4 2 roll
-               moveto
-               2 copy
-               exch 0 rlineto
-               0 exch rlineto
-               pop neg 0 rlineto
-               closepath
-} bind def
-
-/ellipse_path {
-       /ry exch def
-       /rx exch def
-       /y exch def
-       /x exch def
-       matrix currentmatrix
-       newpath
-       x y translate
-       rx ry scale
-       0 0 1 0 360 arc
-       setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-       [       % layer color sequence - darkest to lightest
-               [0 0 0]
-               [.2 .8 .8]
-               [.4 .8 .8]
-               [.6 .8 .8]
-               [.8 .8 .8]
-       ]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-       layercolorseq curlayer 1 sub layerlen mod get
-       aload pop sethsbcolor
-       /nodecolor {nopcolor} def
-       /edgecolor {nopcolor} def
-       /graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-       /myupper exch def
-       /mylower exch def
-       curlayer mylower lt
-       curlayer myupper gt
-       or
-       {invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 518 560
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 482 524 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% heading
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-254.05 498 38.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-232.55 494.3 moveto 43 (heading) alignedtext
-grestore
-% heading->heading
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 288.71 505.87 moveto
-300.71 505.96 310.39 503.33 310.39 498 curveto
-310.39 494.33 305.81 491.95 299.05 490.84 curveto
-stroke
-0 0 0 edgecolor
-newpath 298.93 487.33 moveto
-288.71 490.13 lineto
-298.44 494.31 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 298.93 487.33 moveto
-288.71 490.13 lineto
-298.44 494.31 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-310.39 494.3 moveto 7 (*) alignedtext
-grestore
-% pageSetup
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-171.05 411 47.39 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-142.55 407.3 moveto 57 (pageSetup) alignedtext
-grestore
-% heading->pageSetup
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 238.82 481.41 moveto
-226.23 468.51 208.15 450 193.83 435.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 196.23 432.78 moveto
-186.74 428.07 lineto
-191.22 437.67 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 196.23 432.78 moveto
-186.74 428.07 lineto
-191.22 437.67 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-217.05 450.8 moveto 7 (?) alignedtext
-grestore
-% label
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-270.05 324 27.9 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-256.55 320.3 moveto 27 (label) alignedtext
-grestore
-% heading->label
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 255.64 479.88 moveto
-258.42 450 264.17 388.11 267.51 352.27 curveto
-stroke
-0 0 0 edgecolor
-newpath 271.02 352.33 moveto
-268.46 342.05 lineto
-264.05 351.68 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 271.02 352.33 moveto
-268.46 342.05 lineto
-264.05 351.68 lineto
-closepath stroke
-grestore
-% container
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-326.05 411 43.59 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-300.55 407.3 moveto 51 (container) alignedtext
-grestore
-% heading->container
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 267.59 481.01 moveto
-278.28 468.39 293.37 450.57 305.55 436.2 curveto
-stroke
-0 0 0 edgecolor
-newpath 308.53 438.1 moveto
-312.32 428.21 lineto
-303.18 433.57 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 308.53 438.1 moveto
-312.32 428.21 lineto
-303.18 433.57 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-294.05 450.8 moveto 7 (*) alignedtext
-grestore
-% pageHeader
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-171.05 324 52.79 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-138.55 320.3 moveto 65 (pageHeader) alignedtext
-grestore
-% pageSetup->pageHeader
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 171.05 392.8 moveto
-171.05 381.16 171.05 365.55 171.05 352.24 curveto
-stroke
-0 0 0 edgecolor
-newpath 174.55 352.18 moveto
-171.05 342.18 lineto
-167.55 352.18 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 174.55 352.18 moveto
-171.05 342.18 lineto
-167.55 352.18 lineto
-closepath stroke
-grestore
-% pageFooter
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-50.05 324 50.09 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-19.55 320.3 moveto 61 (pageFooter) alignedtext
-grestore
-% pageSetup->pageFooter
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 149.41 394.8 moveto
-130.18 381.29 101.84 361.39 80.35 346.29 curveto
-stroke
-0 0 0 edgecolor
-newpath 82.09 343.24 moveto
-71.9 340.35 lineto
-78.07 348.96 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 82.09 343.24 moveto
-71.9 340.35 lineto
-78.07 348.96 lineto
-closepath stroke
-grestore
-% ptext1
-gsave
-0 0 0 nodecolor
-14 /Times-Roman set_font
-252.55 233.3 moveto 37 (<text>) alignedtext
-grestore
-% label->ptext1
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 270.25 305.8 moveto
-270.38 294.16 270.57 278.55 270.73 265.24 curveto
-stroke
-0 0 0 edgecolor
-newpath 274.23 265.22 moveto
-270.84 255.18 lineto
-267.23 265.13 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 274.23 265.22 moveto
-270.84 255.18 lineto
-267.23 265.13 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-270.05 276.8 moveto 7 (?) alignedtext
-grestore
-% container->label
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 314.98 393.21 moveto
-306.77 380.74 295.45 363.56 286.22 349.56 curveto
-stroke
-0 0 0 edgecolor
-newpath 288.94 347.32 moveto
-280.52 340.9 lineto
-283.1 351.17 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 288.94 347.32 moveto
-280.52 340.9 lineto
-283.1 351.17 lineto
-closepath stroke
-grestore
-% table
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-398.05 324 27.9 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-384.55 320.3 moveto 27 (table) alignedtext
-grestore
-% container->table
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 339.93 393.61 moveto
-350.86 380.71 366.23 362.56 378.42 348.17 curveto
-stroke
-0 0 0 edgecolor
-newpath 381.38 350.09 moveto
-385.17 340.2 lineto
-376.04 345.56 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 381.38 350.09 moveto
-385.17 340.2 lineto
-376.04 345.56 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-366.05 363.8 moveto 7 (?) alignedtext
-grestore
-% text
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-253.05 164 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-242.55 160.3 moveto 21 (text) alignedtext
-grestore
-% container->text
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 328.04 392.9 moveto
-331.31 358.22 334.93 277.88 307.05 219 curveto
-300.67 205.54 289.49 193.49 278.95 184.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 281.03 181.38 moveto
-271.1 177.67 lineto
-276.55 186.76 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 281.03 181.38 moveto
-271.1 177.67 lineto
-276.55 186.76 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-326.05 276.8 moveto 7 (?) alignedtext
-grestore
-% tableStructure
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-414.05 237 59.59 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-376.05 233.3 moveto 76 (tableStructure) alignedtext
-grestore
-% table->tableStructure
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 401.28 305.8 moveto
-403.47 294.16 406.41 278.55 408.92 265.24 curveto
-stroke
-0 0 0 edgecolor
-newpath 412.4 265.65 moveto
-410.81 255.18 lineto
-405.52 264.36 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 412.4 265.65 moveto
-410.81 255.18 lineto
-405.52 264.36 lineto
-closepath stroke
-grestore
-% html
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-304.05 91 27.1 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-291.05 87.3 moveto 26 (html) alignedtext
-grestore
-% text->html
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 264.36 147.24 moveto
-270.97 138.05 279.43 126.27 286.84 115.95 curveto
-stroke
-0 0 0 edgecolor
-newpath 289.77 117.88 moveto
-292.76 107.71 lineto
-284.08 113.79 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 289.77 117.88 moveto
-292.76 107.71 lineto
-284.08 113.79 lineto
-closepath stroke
-grestore
-% cdata1
-gsave
-0 0 0 nodecolor
-14 /Times-Roman set_font
-205.05 87.3 moveto 46 (<cdata>) alignedtext
-grestore
-% text->cdata1
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 247.12 146.17 moveto
-244.24 137.98 240.7 127.94 237.46 118.73 curveto
-stroke
-0 0 0 edgecolor
-newpath 240.72 117.47 moveto
-234.1 109.2 lineto
-234.12 119.79 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 240.72 117.47 moveto
-234.1 109.2 lineto
-234.12 119.79 lineto
-closepath stroke
-grestore
-% cdata2
-gsave
-0 0 0 nodecolor
-14 /Times-Roman set_font
-281.05 14.3 moveto 46 (<cdata>) alignedtext
-grestore
-% html->cdata2
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 304.05 72.81 moveto
-304.05 64.79 304.05 55.05 304.05 46.07 curveto
-stroke
-0 0 0 edgecolor
-newpath 307.55 46.03 moveto
-304.05 36.03 lineto
-300.55 46.03 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 307.55 46.03 moveto
-304.05 36.03 lineto
-300.55 46.03 lineto
-closepath stroke
-grestore
-% dataPath
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-414.05 164 40.89 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-390.55 160.3 moveto 47 (dataPath) alignedtext
-grestore
-% tableStructure->dataPath
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 414.05 218.81 moveto
-414.05 210.79 414.05 201.05 414.05 192.07 curveto
-stroke
-0 0 0 edgecolor
-newpath 417.55 192.03 moveto
-414.05 182.03 lineto
-410.55 192.03 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 417.55 192.03 moveto
-414.05 182.03 lineto
-410.55 192.03 lineto
-closepath stroke
-grestore
-% ptext2
-gsave
-0 0 0 nodecolor
-14 /Times-Roman set_font
-395.55 87.3 moveto 37 (<text>) alignedtext
-grestore
-% dataPath->ptext2
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 414.05 145.81 moveto
-414.05 137.79 414.05 128.05 414.05 119.07 curveto
-stroke
-0 0 0 edgecolor
-newpath 417.55 119.03 moveto
-414.05 109.03 lineto
-410.55 119.03 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 417.55 119.03 moveto
-414.05 109.03 lineto
-410.55 119.03 lineto
-closepath stroke
-grestore
-% pageParagraph
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-163.05 237 63.09 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-122.55 233.3 moveto 81 (pageParagraph) alignedtext
-grestore
-% pageHeader->pageParagraph
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 169.43 305.8 moveto
-168.33 294.16 166.86 278.55 165.61 265.24 curveto
-stroke
-0 0 0 edgecolor
-newpath 169.08 264.8 moveto
-164.66 255.18 lineto
-162.11 265.46 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 169.08 264.8 moveto
-164.66 255.18 lineto
-162.11 265.46 lineto
-closepath stroke
-grestore
-% pageFooter->pageParagraph
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 70.77 307.41 moveto
-88.39 294.16 113.89 274.98 133.62 260.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 135.8 262.88 moveto
-141.68 254.07 lineto
-131.59 257.28 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 135.8 262.88 moveto
-141.68 254.07 lineto
-131.59 257.28 lineto
-closepath stroke
-grestore
-% pageParagraph->text
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 183.47 219.89 moveto
-196.82 209.35 214.34 195.54 228.46 184.4 curveto
-stroke
-0 0 0 edgecolor
-newpath 230.64 187.14 moveto
-236.32 178.2 lineto
-226.3 181.64 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 230.64 187.14 moveto
-236.32 178.2 lineto
-226.3 181.64 lineto
-closepath stroke
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF
diff --git a/doc/dev/spv-structure.gv b/doc/dev/spv-structure.gv
deleted file mode 100644 (file)
index ac37b69..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-digraph spv_structure {
-   "heading" -> "pageSetup" [label="?"];
-   "heading" -> "label";
-   "heading" -> "container" [label="*"];
-   "heading" -> "heading" [label="*"];
-
-   "container" -> "label";
-   "container" -> "table" [label="?"];
-   "container" -> "text" [label="?"];
-
-   "label" -> ptext1 [label="?"];
-   ptext1 [label="<text>", shape=plaintext];
-
-   "text" -> "html";
-
-   "text" -> cdata1;
-   cdata1 [label="<cdata>", shape=plaintext];
-
-   "html" -> cdata2;
-   cdata2 [label="<cdata>", shape=plaintext];
-
-   "table" -> "tableStructure";
-
-   "tableStructure" -> "dataPath";
-
-   "dataPath" -> ptext2;
-   ptext2 [label="<text>", shape=plaintext];
-
-   "pageSetup" -> "pageHeader";
-   "pageSetup" -> "pageFooter";
-
-   "pageHeader" -> "pageParagraph";
-
-   "pageFooter" -> "pageParagraph";
-
-   "pageParagraph" -> "text";
-}
diff --git a/doc/dev/spv-structure.pdf b/doc/dev/spv-structure.pdf
deleted file mode 100644 (file)
index 520d3bf..0000000
Binary files a/doc/dev/spv-structure.pdf and /dev/null differ