code: def x_parse_error(err, content, source):
      
      lineno, column = err.position
      if "<doc>" in content:
          #Adjust the position since we are taking the <doc> part out of the tags
          #since we may have put that in ourselves.
          column -= 5
      start = lineno - (1 if lineno == 1 else 2)
      lines = []
      tcontent = content.replace("<doc>", "").replace("</doc>", "").split('\n')
      for context in IT.islice(tcontent, start, lineno):
          lines.append(context.strip())
      last = wrap_line(lines.pop(), column)
      lines.extend(last)
      
      caret = '{:=>{}}'.format('^', len(last[-1]))
      if source is not None:
          err.msg = '\nIn: {}\n{}\n{}\n{}'.format(source, err, '\n'.join(lines), caret)
      else:
          err.msg = '{}\n{}\n{}'.format(err, '\n'.join(lines), caret)
  
      raise err
docs: Explains the specified ParseError instance to show the user where the error
      happened in their XML.