docs: def parse_xml_node(self, node):
          '''Parse an xml.dom Node object representing an execution context into
          this object.
  
          '''
          self.id = node.getAttributeNS(RTS_NS, 'id')
          self.kind = node.getAttributeNS(RTS_NS, 'kind')
          if node.hasAttributeNS(RTS_NS, 'rate'):
              self.rate = float(node.getAttributeNS(RTS_NS, 'rate'))
          else:
              self.rate = 0.0
          self._participants = []
          for c in node.getElementsByTagNameNS(RTS_NS, 'Participants'):
              self._participants.append(TargetComponent().parse_xml_node(c))
          for c in get_direct_child_elements_xml(node, prefix=RTS_EXT_NS,
                                                 local_name='Properties'):
              name, value = parse_properties_xml(c)
              self._properties[name] = value
          return self