class LibXML::XML::Error

def ==(other)

def ==(other)
  eql?(other)
end

def code_to_s

def code_to_s
  ERROR_CODE_MAP[self.code].to_s
end

def domain_to_s

def domain_to_s
  DOMAIN_CODE_MAP[self.domain].to_s
end

def eql?(other)

def eql?(other)
  self.code == other.code and
  self.domain == other.domain and
  self.message == other.message and
  self.level == other.level and
  self.file == other.file and
  self.line == other.line and
  self.str1 == other.str1 and
  self.str2 == other.str2 and
  self.str3 == other.str3 and
  self.int1 == other.int1 and
  self.int2 == other.int2 and
  self.ctxt == other.ctxt and
  self.node == other.node
rescue
  false
end

def level_to_s

def level_to_s
  case self.level
    when NONE
      ''
    when WARNING
      'Warning:'
    when ERROR
      'Error:'
    when FATAL
      'Fatal error:'
  end
end

def to_s

def to_s
  msg = super
  msg = msg ? msg.strip: ''
  if self.line
    sprintf("%s %s at %s:%d.", self.level_to_s, msg,
                               self.file, self.line)
  else
    sprintf("%s %s.", self.level_to_s, msg)
  end
end