include "wml.rnc"
include "shared-relationshipReference.rnc"
include "dml-wordprocessingDrawing.rnc"
include "dml-main.rnc"
include "dml-diagram.rnc"
include "shared-commonSimpleTypes.rnc"
include "dml-lockedCanvas.rnc"
include "any.rnc"
include "dml-chart.rnc"
include "dml-chartDrawing.rnc"
include "dml-picture.rnc"
include "vml-presentationDrawing.rnc"
include "xml.rnc"
include "shared-customXmlSchemaProperties.rnc"
include "vml-officeDrawing.rnc"
include "vml-main.rnc"
include "vml-spreadsheetDrawing.rnc"
include "vml-wordprocessingDrawing.rnc"
include "shared-math.rnc"
start = element xml {(vml-main | vml-officeDrawing | vml-spreadsheetDrawing | vml-presentationDrawing)* }

vml-main =
 v_shape
 | v_shapetype
 | v_group
 | v_background
 | v_fill
 | v_formulas
 | v_handles
 | v_imagedata
 | v_path
 | v_textbox
 | v_shadow
 | v_stroke
 | v_textpath
 | v_arc
 | v_curve
 | v_image
 | v_line
 | v_oval
 | v_polyline
 | v_rect
 | v_roundrect

vml-officeDrawing = 
  o_shapedefaults
  | o_shapelayout
  | o_signatureline
  | o_ink
  | o_diagram
  | o_equationxml
  | o_skew
  | o_extrusion
  | o_callout
  | o_lock
  | o_OLEObject
  | o_complex
  | o_left
  | o_top
  | o_right
  | o_bottom
  | o_column
  | o_clippath
  | o_fill

vml-wordprocessingDrawing =
  w10_bordertop
  | w10_borderleft
  | w10_borderright
  | w10_borderbottom
  | w10_wrap
  | w10_anchorlock

vml-spreadsheetDrawing = x_ClientData

vml-presentationDrawing = pvml_iscomment | pvml_textdata

