docs: def get_xml_type(val):
      """Returns the data type for the xml type attribute"""
      if type(val).__name__ in ('str', 'unicode'):
          return 'str'
      if type(val).__name__ in ('int', 'long'):
          return 'int'
      if type(val).__name__ == 'float':
          return 'float'
      if type(val).__name__ == 'bool':
          return 'bool'
      if isinstance(val, numbers.Number):
          return 'number'
      if type(val).__name__ == 'NoneType':
          return 'null'
      if isinstance(val, dict):
          return 'dict'
      if isinstance(val, collections.Iterable):
          return 'list'
      return type(val).__name__