How do I set my own error reporter?
-----Original Message-----
From: Andy Clark [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, December 03, 2003 11:42 PM
To: [EMAIL PROTECTED]
Subject: Re: Error codes from the parser
Michael Glavassevich wrote:
> The short answer is no, [...]
The long answer is yes. :)
There is an internal component in Xerces called
the XMLErrorReporter that is used to generate a
human-readable error message from an internal id.
This is the default behavior. However, you can
provide your own error reporter that simply
generates an error message from the id that is
passed in.
The various Xerces components call a method on
the error reporter when an error occurs. Here's a
list of things that are passed:
* severity {warning, error, fatal error}
* domain (string)
* key (string)
* replacement parameters (array of objects)
The idea is that each error has a specific key
within a domain. Both of these values are given
as strings. In general, we try to use URLs to the
specs that define the error (e.g. the URL to the
XML spec) and the key is an anchor within that
document. However, these documents really don't
have anchors at all of the places where we'd like,
so the keys are just unique ids for our use.
Anyway, you can implement an error handler that
does not localize an error message but rather
generates an error message that is just the
error identifier. For full debuggability, I would
suggest the following:
StringBuffer msg = new StringBuffer();
msg.append(domain);
msg.append('#');
msg.append(key);
for (int i = 0; i < params.length; i++) {
msg.append('\t');
msg.append(String.valueOf(params[i]));
}
I'm doing this from memory so forgive me if I
get some of the details wrong. Check the docs and
the source code for specifics.
Hope this helps (and works)!
--
Andy Clark * [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
*******************************************************************************************************
This footnote confirms that this email message has been scanned by PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
*******************************************************************************************************
