     if node.getAttribute and node.attributes
       bindings = []
       for attribute in node.attributes
-        name = attribute.nodeName.match(bindingRegexp)?[1]
-        continue if not name
-        bindings.push if (names = name.split('-')).length > 1
-          [names[0], names[1..names.length].join('-'), attribute.value]
+        continue unless attribute.nodeName?.substr(0, 4) is "data"
+        name = attribute.nodeName.substr(5)
+
+        attrIndex = name.indexOf('-')
+        bindings.push if attrIndex isnt -1
+          [name.substr(0, attrIndex), name.substr(attrIndex + 1), attribute.value]
         else
           [name, undefined, attribute.value]
 

    @startTime = new Date
    @prevent 'parsed'
    @prevent 'rendered'
    @parseNodes @node

  resume: =>
    @startTime = new Date
    @parseNodes @resumeNode

  finish: ->
    @startTime = null


  for k in ['parsed', 'rendered', 'stopped']
    @::event(k).oneShot = true

  bindingSortOrder = ["view", "renderif", "foreach", "formfor", "context", "bind", "source", "target"]

