1.1 --- a/libxml2dom/macrolib/macrolib.py Tue Aug 26 00:34:42 2008 +0200
1.2 +++ b/libxml2dom/macrolib/macrolib.py Thu Aug 28 23:35:07 2008 +0200
1.3 @@ -537,9 +537,9 @@
1.4 def __str__(self):
1.5 exctype, excdata = self.args[0:2]
1.6 if exctype == self.PARSE_ERR:
1.7 - return "Parse error: %r" % self
1.8 + return "Parse error: %s" % excdata
1.9 elif exctype == self.SERIALIZE_ERR:
1.10 - return "Serialize error: %r" % self
1.11 + return "Serialize error: %s" % excdata
1.12 else:
1.13 return repr(self)
1.14
1.15 @@ -606,8 +606,17 @@
1.16
1.17 # NOTE: May not be the correct exception.
1.18
1.19 + error = libxml2mod.xmlGetLastError()
1.20 + if error is not None:
1.21 + filename = libxml2mod.xmlErrorGetFile(error)
1.22 + line = libxml2mod.xmlErrorGetLine(error)
1.23 + error_message = libxml2mod.xmlErrorGetMessage(error).strip()
1.24 + message = "Filename %r, line %d: %s" % (filename, line, error_message)
1.25 + else:
1.26 + message = "Document did not validate"
1.27 +
1.28 raise LSException(LSException.PARSE_ERR,
1.29 - DOMError(DOMError.SEVERITY_FATAL_ERROR, "Document did not validate"))
1.30 + DOMError(DOMError.SEVERITY_FATAL_ERROR, message))
1.31
1.32 elif unfinished or Parser_well_formed(context):
1.33 return doc