Hi Colin,
It does not matter if you install a ProblemListener or not. If you don't,
a default instance is installed which sends output to stderr.
We may keep the ProblemListener mechanism, but change it slightly. The
issue is that the way it works now is too intrusive. It's designed to
report the error _before_ Xalan deals with it, which means it must be
propagated throughout the system. That's a huge pain, and, as you can see,
there are places where it's not happening. If we keep it, it will probably
be for reporting errors after exceptions have been thrown and caught at the
top-most level.
Dave
Colin Paul Adams
<[EMAIL PROTECTED] To:
[email protected]
mon.co.uk> cc: (bcc: David N
Bertoni/Cambridge/IBM)
Subject: Re: Capturing output
(Was: function-available not working)
03/05/2003 11:07
PM
>>>>> "David" == David N Bertoni/Cambridge/IBM <[EMAIL PROTECTED]>
writes:
David> Hi Colin,
David> OK, I just realized what's happening -- this is coming from
David> an exception and is not going through the ProblemListener
David> mechanism. This was reported a while back, but it turned
David> out there was no easy solution to problem. This is a
David> general problem and is why the whole ProblemListener
David> mechanism needs to be removed or revised.
I repeat, I had not installed a ProblemListener, so it does not
explain (to me, unless there is some kind of ProblemListener installed
by default) why I did not see the error.
David> So, you probably need to check the error return from
David> XalanTransformer and look at that in the cases where you
David> don't get anything from the ProblemListener mechanism. If
David> it's non-zero, you can get the last error from
David> XalanTransformer::getLastError().
This works, but I would prefer to be able to implement
ProblemListener, or some such mechanism.
--
Colin Paul Adams
Preston Lancashire