This page lists all the known XML elements and attributes for the MIT SketchML Format. The top level element is sketch. If you have changes or updates for this list please contact us (sketchml at csail.mit.edu). An .xsd file for the format is available.

Element
  tag required? type description
sketch
Sub-Elements sketcher zero or more   the person/people who drew the sketch
  study zero or one   the study that the sketch was created for
  domain zero or one   the domain that the sketch is a part of, corresponds to the language file to load (ldl file)
  point zero or more   points in the sketch
  shape zero or more   higher level shapes (e.g., Strokes, EraseStrokes)
  edit zero or more   editing commands (e.g., Erase, Move, Undo)
  speech zero or more   speech actions (e.g., Phrase, Word, Silence)
  mediaInfo zero or more   reference to an external media file (e.g., the wav file containing the sound for the speech events)
Attributes: id required   UUID for sketch
  units zero or one   defaults to "pixel". a string of either "pixel" or "himetric" to indicate the units for all the point. "himetric" is the standard format in c#
sketcher
Sub-Elements id required   the id of the sketcher
  dpi zero or one   the resolution for the sketch
  nickname zero or one   an abbreviation for the id of the sketcher
dpi
Attributes x required decimal dpi for x axis
  y required decimal dpi for y axis
point
Attributes x required decimal x coordinate
  y required decimal y coordinate
  pressure

zero or one

decimal pressure for the point (0-255 on Tablet PC)
  time required positive integer time point was created in milliseconds since 1/1/1970 UTC
  id required UUID UUID for point
  name required? string name of the point
  * also allows any other attributes, but if you do add attributes, please modify the sketch.xsd file and let us know (sketchml at csail.mit.edu)
shape
Sub-Elements arg zero or more   the components of the shape (e.g., Points that are in the Stroke)
  alias zero or more   the aliases of the shape (names for the components that are used in the language)
Attributes id required UUID shape UUID
  name required? string name of the shape
  time required positive integer time shape was created in milliseconds since 1/1/1970 UTC
  type required string The type of the shape (e.g., "Stroke")
  author zero or one UUID UUID of the author of the stroke
 

color

zero or one decimal RGBA representation of the color
  height zero or one decimal used for the height of a stroke
  width zero or one decimal used for the width of a stroke
  area zero or one decimal  
  laysInk zero or one boolean If true render the stroke, if false, don't.
  orientation zero or one decimal The angle in degrees that the shape was drawn in relative to its description in the language file
  penTip zero or one "Rectangle" or "Ball" The pen tip type.
  raster zero or one "MaskPen" or "CopyPen" How to render the ink.
  substrokeOf zero or one UUID UUID for the parent stroke
  p1 zero or one string  
  p2 zero or one string  
  x zero or one decimal  
  y zero or one decimal  
  text zero or one string  
  leftx zero or one decimal  
  topy zero or one decimal  
  control1 zero or one string  
  control2 zero or one string  
  start zero or one string  
  end zero or one string  
  source zero or one string  
  * also allows any other attributes, but if you do add attributes, please modify the sketch.xsd file and let us know (sketchml at csail.mit.edu)
arg
Attributes type required string type of the argument (e.g., "Point")
Value   required UUID UUID of the argument
alias
Attributes type required string type of the alias (e.g., "Point")
  name required string the alias of the alias (e.g., "head")
Value   required UUID UUID of the alias
edit
Sub-Elements trigger required   the object that caused the edit to occur (e.g., EraseStroke, CrossDelete)
  arg one or more   the object(s) that are being edited
Attributes id required UUID edit UUID
  time required positive integer time edit happened in milliseconds since 1/1/1970 UTC
  type required string The type of the edit (e.g., "Erase")
trigger
Attribute type required string type of the trigger (e.g., "EraseStroke")
Value   required UUID UUID of the trigger
speech
Sub-Elements arg zero or more   the components of the speech (e.g., Words that are in a Phrase)
Attributes author zero or one UUID UUID of the author of the speech
  id required UUID speech UUID
  startTime required positive integer start time of speech in milliseconds since 1/1/1970 UTC
  endTime required positive integer end time of speech in milliseconds since 1/1/1970 UTC
  type required string The type of the speech (e.g., "word", "phrase", "silence")
  source zero or one UUID UUID of the source for the speech (reference to a mediaInfo)
  score zero or one long The acoustic score of the word
  word zero or one string The word itself
  wordForm zero or one positive integer The form of the word
  * also allows any other attributes, but if you do add attributes, please modify the sketch.xsd file and let us know (sketchml at csail.mit.edu)
mediaInfo
Sub-Elements id required   the id of the sketcher
  filename required   the file name of the mediaInfo
Attributes startTime required positive integer start time of mediaInfo in milliseconds since 1/1/1970 UTC
  type required string The type of the mediaInfo (e.g., "audio")
study
Value   required string study name
domain
Value   required string shape domain which should correspond to the language file (??)
id
Value   required UUID UUID for the sketcher
filename
Value   required string path to the file
nickname
Value   required string nickname for a sketcher