From: Ben Pfaff Date: Sun, 16 Jul 2017 18:21:02 +0000 (-0700) Subject: spv-file-format: Improve description of structure member format. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=8feaf6bce3fccaebf3bcdb29628ff8b9608ccffe spv-file-format: Improve description of structure member format. --- diff --git a/doc/dev/spv-file-format.texi b/doc/dev/spv-file-format.texi index c325a5dd4d..38059ba889 100644 --- a/doc/dev/spv-file-format.texi +++ b/doc/dev/spv-file-format.texi @@ -80,13 +80,18 @@ their exact names do not matter to readers as long as they are unique. @node SPV Structure Member Format @section Structure Member Format +A structure member lays out the high-level structure for a group of +output items such as heading, tables, and charts. Structure members +do not include the details of tables and charts but instead refer to +them by their member names. + Structure members' XML files claim conformance with a collection of XML Schemas. These schemas are distributed, under a nonfree license, with SPSS binaries. Fortunately, the schemas are not necessary to -understand the structure members. To a degree, the schemas can even +understand the structure members. The schemas can even be deceptive because they document elements and attributes that are not in the corpus and do not document elements and attributes that are -commonly found there. +commonly found in the corpus. Structure members use a different XML namespace for each schema, but these namespaces are not entirely consistent. In some SPV files, for @@ -98,7 +103,26 @@ not resolvable to obtain the schemas themselves. One may ignore all of the above in interpreting a structure member. The actual XML has a simple and straightforward form that does not -require a reader to take schemas or namespaces into account. +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. + +@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 and +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 The elements found in structure members are documented below. For each element, we note the possible parent elements and the element's @@ -128,19 +152,45 @@ A choice between @var{a} and @var{b}. Zero or more @var{x}. @end 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 +The following example shows the contents of a typical structure member +for a @cmd{DESCRIPTIVES} procedure. A real structure member is not +indented. This example also omits most attributes, all XML namespace +information, and the CSS from the embedded HTML: -@iftex -The following diagram shows the hierarchy of elements within an SPV -structure member. Edges point from parent to child elements. -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 +@example + + + + + + + + + +
Descriptives]]> + +
+
+ + + + + 00000000001_lightNotesData.bin + +
+
+ + + + + 00000000002_lightTableData.bin + +
+
+
+
+@end example @menu * SPV Structure heading Element:: @@ -166,7 +216,9 @@ Contents: @code{pageSetup}? @code{label} (@code{container} @math{|} @code{headin The root of a structure member is a @code{heading}, which represents a section of output beginning with a title (the @code{label}) and ordinarily followed by content containers or further nested -(sub)-sections of output. +(sub)-sections of output. Unlike heading elements in HTML and other +common document formats, which precede the content that they head, +@code{heading} contains the elements that appear below the heading. The document root heading, only, may also contain a @code{pageSetup} element. @@ -250,7 +302,7 @@ often very generic, especially within a @code{container}, e.g.@: according to the output language, e.g.@: in Italian a frequency table procedure is labeled ``Frequenze''. -The corpus contains one example of an empty label, one that contains +The corpus contains a few examples of empty labels, ones that contain no text. This element has no attributes. @@ -315,7 +367,7 @@ Parent: @code{text} @* Contents: CDATA The CDATA contains an HTML document. In some cases, the document -starts with @code{} and ends with @code{} and ends with @code{}; in others the @code{html} element is implied. Generally the HTML includes a @code{head} element with a CSS stylesheet. The HTML body often begins with @code{
}. The actual content ranges from trivial to simple: @@ -440,7 +492,7 @@ This element has no attributes. @node SPV Structure @code{text} Element (Inside @code{pageParagraph}) @subsection The @code{text} Element (Inside @code{pageParagraph}) -Parent: @code{pageParagraph} +Parent: @code{pageParagraph} @* Contents: CDATA? This @code{text} element is nested inside a @code{pageParagraph}. There @@ -451,7 +503,7 @@ The element is either empty, or contains CDATA that holds almost-XHTML text: in the corpus, either an @code{html} or @code{p} element. It is @emph{almost}-XHTML because the @code{html} element designates the default namespace as -@code{http://xml.spss.com/spss/viewer/viewer-tree} instead of an XHTML +@indicateurl{http://xml.spss.com/spss/viewer/viewer-tree} instead of an XHTML namespace, and because the CDATA can contain substitution variables: @code{&[Page]} for the page number and @code{&[PageTitle]} for the page title. diff --git a/doc/dev/spv-structure.eps b/doc/dev/spv-structure.eps index af2e21e0c4..247d67a26b 100644 --- a/doc/dev/spv-structure.eps +++ b/doc/dev/spv-structure.eps @@ -2,7 +2,7 @@ %%Creator: graphviz version 2.38.0 (20140413.2041) %%Title: spv_structure %%Pages: 1 -%%BoundingBox: 36 36 517 487 +%%BoundingBox: 36 36 518 560 %%EndComments save %%BeginProlog @@ -179,440 +179,542 @@ def %%EndSetup setupLatin1 %%Page: 1 1 -%%PageBoundingBox: 36 36 517 487 +%%PageBoundingBox: 36 36 518 560 %%PageOrientation: Portrait 0 0 1 beginpage gsave -36 36 481 451 boxprim clip newpath +36 36 482 524 boxprim clip newpath 1 1 set_scale 0 rotate 40 40 translate % heading gsave 1 setlinewidth 0 0 0 nodecolor -253.65 425 38.19 18 ellipse_path stroke +254.05 498 38.19 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -232.15 421.3 moveto 43 (heading) alignedtext +232.55 494.3 moveto 43 (heading) alignedtext grestore % heading->heading gsave 1 setlinewidth 0 0 0 edgecolor -newpath 288.31 432.87 moveto -300.31 432.96 309.99 430.33 309.99 425 curveto -309.99 421.33 305.41 418.95 298.65 417.84 curveto +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.53 414.33 moveto -288.31 417.13 lineto -298.04 421.31 lineto +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.53 414.33 moveto -288.31 417.13 lineto -298.04 421.31 lineto +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 -309.99 421.3 moveto 7 (*) alignedtext +310.39 494.3 moveto 7 (*) alignedtext grestore % pageSetup gsave 1 setlinewidth 0 0 0 nodecolor -173.65 338 47.39 18 ellipse_path stroke +171.05 411 47.39 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -145.15 334.3 moveto 57 (pageSetup) alignedtext +142.55 407.3 moveto 57 (pageSetup) alignedtext grestore % heading->pageSetup gsave 1 setlinewidth 0 0 0 edgecolor -newpath 238.6 408.01 moveto -226.61 395.27 209.63 377.24 196.04 362.8 curveto +newpath 238.82 481.41 moveto +226.23 468.51 208.15 450 193.83 435.34 curveto stroke 0 0 0 edgecolor -newpath 198.3 360.09 moveto -188.9 355.21 lineto -193.2 364.89 lineto +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 198.3 360.09 moveto -188.9 355.21 lineto -193.2 364.89 lineto +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 -218.65 377.8 moveto 7 (?) alignedtext +217.05 450.8 moveto 7 (?) alignedtext grestore % label gsave 1 setlinewidth 0 0 0 nodecolor -269.65 251 27.9 18 ellipse_path stroke +270.05 324 27.9 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -256.15 247.3 moveto 27 (label) alignedtext +256.55 320.3 moveto 27 (label) alignedtext grestore % heading->label gsave 1 setlinewidth 0 0 0 edgecolor -newpath 255.24 406.88 moveto -258.02 377 263.77 315.11 267.11 279.27 curveto +newpath 255.64 479.88 moveto +258.42 450 264.17 388.11 267.51 352.27 curveto stroke 0 0 0 edgecolor -newpath 270.62 279.33 moveto -268.06 269.05 lineto -263.65 278.68 lineto +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 270.62 279.33 moveto -268.06 269.05 lineto -263.65 278.68 lineto +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 -325.65 338 43.59 18 ellipse_path stroke +326.05 411 43.59 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -300.15 334.3 moveto 51 (container) alignedtext +300.55 407.3 moveto 51 (container) alignedtext grestore % heading->container gsave 1 setlinewidth 0 0 0 edgecolor -newpath 267.19 408.01 moveto -277.88 395.39 292.97 377.57 305.15 363.2 curveto +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.13 365.1 moveto -311.92 355.21 lineto -302.78 360.57 lineto +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.13 365.1 moveto -311.92 355.21 lineto -302.78 360.57 lineto +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 -293.65 377.8 moveto 7 (*) alignedtext +294.05 450.8 moveto 7 (*) alignedtext grestore % pageHeader gsave 1 setlinewidth 0 0 0 nodecolor -52.65 251 52.79 18 ellipse_path stroke +171.05 324 52.79 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -20.15 247.3 moveto 65 (pageHeader) alignedtext +138.55 320.3 moveto 65 (pageHeader) alignedtext grestore % pageSetup->pageHeader gsave 1 setlinewidth 0 0 0 edgecolor -newpath 152.01 321.8 moveto -132.89 308.37 104.8 288.63 83.35 273.57 curveto +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 85.1 270.52 moveto -74.91 267.64 lineto -81.08 276.25 lineto +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 85.1 270.52 moveto -74.91 267.64 lineto -81.08 276.25 lineto +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 -173.65 251 50.09 18 ellipse_path stroke +50.05 324 50.09 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -143.15 247.3 moveto 61 (pageFooter) alignedtext +19.55 320.3 moveto 61 (pageFooter) alignedtext grestore % pageSetup->pageFooter gsave 1 setlinewidth 0 0 0 edgecolor -newpath 173.65 319.8 moveto -173.65 308.16 173.65 292.55 173.65 279.24 curveto +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 177.15 279.18 moveto -173.65 269.18 lineto -170.15 279.18 lineto +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 177.15 279.18 moveto -173.65 269.18 lineto -170.15 279.18 lineto +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 () 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.58 320.21 moveto -306.37 307.74 295.05 290.56 285.82 276.56 curveto +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.54 274.32 moveto -280.12 267.9 lineto -282.7 278.17 lineto +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.54 274.32 moveto -280.12 267.9 lineto -282.7 278.17 lineto +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 -397.65 251 27.9 18 ellipse_path stroke +398.05 324 27.9 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -384.15 247.3 moveto 27 (table) alignedtext +384.55 320.3 moveto 27 (table) alignedtext grestore % container->table gsave 1 setlinewidth 0 0 0 edgecolor -newpath 339.53 320.61 moveto -350.46 307.71 365.83 289.56 378.02 275.17 curveto +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 380.98 277.09 moveto -384.77 267.2 lineto -375.64 272.56 lineto +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 380.98 277.09 moveto -384.77 267.2 lineto -375.64 272.56 lineto +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 -365.65 290.8 moveto 7 (*) alignedtext +366.05 363.8 moveto 7 (?) alignedtext grestore % text gsave 1 setlinewidth 0 0 0 nodecolor -281.65 91 27 18 ellipse_path stroke +253.05 164 27 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -271.15 87.3 moveto 21 (text) alignedtext +242.55 160.3 moveto 21 (text) alignedtext grestore % container->text gsave 1 setlinewidth 0 0 0 edgecolor -newpath 322.55 319.77 moveto -315.01 277.78 295.63 169.86 286.52 119.12 curveto +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 289.95 118.43 moveto -284.74 109.21 lineto -283.06 119.67 lineto +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 289.95 118.43 moveto -284.74 109.21 lineto -283.06 119.67 lineto +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 -302.65 203.8 moveto 7 (*) alignedtext +326.05 276.8 moveto 7 (?) alignedtext grestore % tableStructure gsave 1 setlinewidth 0 0 0 nodecolor -413.65 164 59.59 18 ellipse_path stroke +414.05 237 59.59 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -375.65 160.3 moveto 76 (tableStructure) alignedtext +376.05 233.3 moveto 76 (tableStructure) alignedtext grestore % table->tableStructure gsave 1 setlinewidth 0 0 0 edgecolor -newpath 400.88 232.8 moveto -403.07 221.16 406.01 205.55 408.52 192.24 curveto +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 192.65 moveto -410.41 182.18 lineto -405.12 191.36 lineto +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 192.65 moveto -410.41 182.18 lineto -405.12 191.36 lineto +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 -281.65 18 27.1 18 ellipse_path stroke +304.05 91 27.1 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -268.65 14.3 moveto 26 (html) alignedtext +291.05 87.3 moveto 26 (html) alignedtext grestore % text->html gsave 1 setlinewidth 0 0 0 edgecolor -newpath 281.65 72.81 moveto -281.65 64.79 281.65 55.05 281.65 46.07 curveto +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 () 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 () 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 285.15 46.03 moveto -281.65 36.03 lineto -278.15 46.03 lineto +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 285.15 46.03 moveto -281.65 36.03 lineto -278.15 46.03 lineto +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 -413.65 91 40.89 18 ellipse_path stroke +414.05 164 40.89 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -390.15 87.3 moveto 47 (dataPath) alignedtext +390.55 160.3 moveto 47 (dataPath) alignedtext grestore % tableStructure->dataPath gsave 1 setlinewidth 0 0 0 edgecolor -newpath 413.65 145.81 moveto -413.65 137.79 413.65 128.05 413.65 119.07 curveto +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.15 119.03 moveto -413.65 109.03 lineto -410.15 119.03 lineto +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.15 119.03 moveto -413.65 109.03 lineto -410.15 119.03 lineto +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 () 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 -173.65 164 63.09 18 ellipse_path stroke +163.05 237 63.09 18 ellipse_path stroke 0 0 0 nodecolor 14 /Times-Roman set_font -133.15 160.3 moveto 81 (pageParagraph) alignedtext +122.55 233.3 moveto 81 (pageParagraph) alignedtext grestore % pageHeader->pageParagraph gsave 1 setlinewidth 0 0 0 edgecolor -newpath 74.56 234.61 moveto -93.59 221.24 121.37 201.72 142.68 186.75 curveto +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 144.9 189.47 moveto -151.08 180.85 lineto -140.88 183.74 lineto +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 144.9 189.47 moveto -151.08 180.85 lineto -140.88 183.74 lineto +newpath 169.08 264.8 moveto +164.66 255.18 lineto +162.11 265.46 lineto closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -120.65 203.8 moveto 7 (*) alignedtext grestore % pageFooter->pageParagraph gsave 1 setlinewidth 0 0 0 edgecolor -newpath 173.65 232.8 moveto -173.65 221.16 173.65 205.55 173.65 192.24 curveto +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 177.15 192.18 moveto -173.65 182.18 lineto -170.15 192.18 lineto +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 177.15 192.18 moveto -173.65 182.18 lineto -170.15 192.18 lineto +newpath 135.8 262.88 moveto +141.68 254.07 lineto +131.59 257.28 lineto closepath stroke -0 0 0 edgecolor -14 /Times-Roman set_font -173.65 203.8 moveto 7 (*) alignedtext grestore % pageParagraph->text gsave 1 setlinewidth 0 0 0 edgecolor -newpath 197.61 147.24 moveto -214.44 136.18 236.98 121.37 254.47 109.86 curveto +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 256.67 112.61 moveto -263.11 104.19 lineto -252.83 106.76 lineto +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 256.67 112.61 moveto -263.11 104.19 lineto -252.83 106.76 lineto +newpath 230.64 187.14 moveto +236.32 178.2 lineto +226.3 181.64 lineto closepath stroke grestore endpage diff --git a/doc/dev/spv-structure.gv b/doc/dev/spv-structure.gv index 7807ab48d2..ac37b698b7 100644 --- a/doc/dev/spv-structure.gv +++ b/doc/dev/spv-structure.gv @@ -5,21 +5,33 @@ digraph spv_structure { "heading" -> "heading" [label="*"]; "container" -> "label"; - "container" -> "table" [label="*"]; - "container" -> "text" [label="*"]; + "container" -> "table" [label="?"]; + "container" -> "text" [label="?"]; + + "label" -> ptext1 [label="?"]; + ptext1 [label="", shape=plaintext]; "text" -> "html"; + "text" -> cdata1; + cdata1 [label="", shape=plaintext]; + + "html" -> cdata2; + cdata2 [label="", shape=plaintext]; + "table" -> "tableStructure"; "tableStructure" -> "dataPath"; + "dataPath" -> ptext2; + ptext2 [label="", shape=plaintext]; + "pageSetup" -> "pageHeader"; "pageSetup" -> "pageFooter"; - "pageHeader" -> "pageParagraph" [label="*"]; + "pageHeader" -> "pageParagraph"; - "pageFooter" -> "pageParagraph" [label="*"]; + "pageFooter" -> "pageParagraph"; "pageParagraph" -> "text"; } diff --git a/doc/dev/spv-structure.pdf b/doc/dev/spv-structure.pdf index b54a268cb9..520d3bf511 100644 Binary files a/doc/dev/spv-structure.pdf and b/doc/dev/spv-structure.pdf differ