Start working on detail XML.
[pspp] / detail-xml
diff --git a/detail-xml b/detail-xml
new file mode 100644 (file)
index 0000000..742b5f9
--- /dev/null
@@ -0,0 +1,74 @@
+visualization :=
+    extension?
+    userSource
+    (sourceVariable | derivedVariable)+
+    graph
+    labelFrame+
+    container?
+    style+
+    layerController?
+
+extension :=
+
+userSource :=
+
+ sourceVariable := extension* (format | stringFormat)?
+derivedVariable := extension* (format | stringFormat valueMapEntry*)?
+
+format := (affix+ | relabel)?
+dateTimeFormat :=
+numberFormat := affix?
+stringFormat := (affix | relabel+)?
+affix :=
+relabel :=
+
+valueMapEntry :=
+
+graph := location+ coordinates faceting facetLayout interval
+
+location :=
+
+coordinates :=
+faceting := cross layer*
+interval := labeling footnotes?
+labeling := (format | formatting | footnotes)*
+formatting := formatMapping*
+formatMapping := format
+footnotes := footnoteMapping+
+footnoteMapping :=
+
+cross := nest+
+nest := variableReference+
+variableReference :=
+
+facetLayout := tableLayout facetLevel+ setCellProperties*
+tableLayout :=
+facetLevel := axis
+
+axis := label? majorTicks
+label := descriptionGroup | text+
+majorTicks := gridline?
+gridline :=
+
+descriptionGroup := description+ text
+description :=
+text := <text>
+paragraph :=
+
+setCellProperties := setMetadata setStyle* setFormat+ union?
+setMetadata :=
+setStyle :=
+setFormat := dateTimeFormat | format | numberFormat | stringFormat+
+
+labelFrame := location+ label paragraph?
+container := extension? location+ labelFrame+
+
+style :=
+
+layer :=
+layerController :=
+
+union := intersect+
+intersect := intersectWhere | where+
+intersectWhere :=
+where :=