docs: def parse_xml_node(self, node):
          '''Parse an xml.dom Node object representing a data connector into this
          object.
  
          '''
          self.connector_id = node.getAttributeNS(RTS_NS, 'connectorId')
          self.name = node.getAttributeNS(RTS_NS, 'name')
          self.data_type = node.getAttributeNS(RTS_NS, 'dataType')
          self.interface_type = node.getAttributeNS(RTS_NS, 'interfaceType')
          self.data_flow_type = node.getAttributeNS(RTS_NS, 'dataflowType')
          if node.hasAttributeNS(RTS_NS, 'subscriptionType'):
              self.subscription_type = node.getAttributeNS(RTS_NS,
                                                           'subscriptionType')
          else:
              self.subscription_type = ''
          if node.hasAttributeNS(RTS_NS, 'pushInterval'):
              self.push_interval = float(node.getAttributeNS(RTS_NS,
                                                             'pushInterval'))
          else:
              self.push_interval = 0.0
          self.comment = node.getAttributeNS(RTS_EXT_NS, 'comment')
          if node.hasAttributeNS(RTS_EXT_NS, 'visible'):
              visible = node.getAttributeNS(RTS_EXT_NS, 'visible')
              if visible == 'true' or visible == '1':
                  self.visible = True
              else:
                  self.visible = False
  
          if node.getElementsByTagNameNS(RTS_NS, 'sourceDataPort').length != 1:
              raise InvalidDataPortConnectorNodeError
          self.source_data_port = TargetPort().parse_xml_node(\
                  node.getElementsByTagNameNS(RTS_NS, 'sourceDataPort')[0])
          if node.getElementsByTagNameNS(RTS_NS, 'targetDataPort').length != 1:
              raise InvalidDataPortConnectorNodeError
          self.target_data_port = TargetPort().parse_xml_node(\
                  node.getElementsByTagNameNS(RTS_NS, 'targetDataPort')[0])
          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