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
 
        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
 
 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
 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
 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
 
 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 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::
 * 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} @*
 @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.
 
 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.
 
 
 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
 
 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
 
 @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