-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+
+affix := [id? definesReference position suffix value]
+relabel := [from to]
+
+graph :=
+ [id cellStyle style]
+ location+ coordinates faceting facetLayout interval
+
+location := [id? method part (min | target | value)?]
+
+coordinates := [id]
+faceting := [id] cross layer*
+interval := [id style] labeling footnotes?
+labeling := [id? style? variable] (format | formatting | footnotes)*
+formatting := [id? variable] formatMapping*
+formatMapping := [id? from] format
+footnotes := [id? superscript variable] footnoteMapping+
+footnoteMapping := [id? from to definesReference]
+
+cross := [id?] nest nest
+nest := [id?] variableReference+
+variableReference := [ref]
+
+facetLayout := [id?] tableLayout facetLevel+ setCellProperties*
+tableLayout := [(id style)? fitCells? verticalTitlesInCorner]
+facetLevel := [id gap level] axis
+
+axis := [id? style] label? majorTicks
+label :=
+ [id? style (purpose | textFrameStyle | purpose textFrameStyle)]
+ descriptionGroup | text+
+majorTicks := [id labelAngle length style tickFrameStyle] gridline?
+gridline := [id style zOrder]
+
+descriptionGroup := [id? separator target] description+ text
+description := [id? name]
+text := [id? (usesReference | definesReference position)?] <text>
+paragraph := [id? hangingIndent]
+
+setCellProperties :=
+ [id? applyToConverse]
+ setMetaData setStyle* setFormat+ union?
+setMetaData := [id? key target value]
+setStyle := [id? style target]
+setFormat :=
+ [id? target reset?]
+ dateTimeFormat | format | numberFormat | stringFormat+
+
+labelFrame := [id style] location+ label paragraph?
+container := [id style] extension? location+ labelFrame+