W3C home > Mailing lists > Public > public-xml-id@w3.org > May 2005

Re: Must vs. fatal error

From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 12 May 2005 08:13:18 -0400
To: Elliotte Harold <elharo@metalab.unc.edu>
Cc: Richard Tobin <richard@inf.ed.ac.uk>, public-xml-id@w3.org
Message-ID: <20050512121318.GM14726@redhat.com>

On Thu, May 12, 2005 at 06:45:41AM -0400, Elliotte Harold wrote:
> 
> Richard Tobin wrote:
> 
> >It does seem worth allowing for processors that can't return any
> >non-fatal errors when they are otherwise successful.  We are
> >considering removing the phrase "to the application invoking it" from
> >the quoted sentence, so that it would acceptable merely to print a
> >warning to the user.  We are not however happy with the idea of these
> >errors being silently ignored - that would not help interoperability.
> >
> >Does that help you?
> 
> Not really, no. A library such as XOM should not talk to the user in any 
> way. Specifically, it should not print anything on System.out or 
> System.err. (This is a longstanding complaint I have about Xerces. XOM 
> goes to some lengths to hide the warning Xerces prints.) XOM talks only 
> to the client application, and it's up to the client application to 
> decide what to show or not show the end-user. Indeed, in many cases 
> there may not be any end user or even a console where messages printed 
> on System.out and System.err can be seen.

   XML Core group hat off, implementor hat on.

I agree 200%  about the point of system libraries not echooing directly to the
console. However such system library must then have ways to report errors
to the application. If the only way is by reporting failure, so be it, but
it is a limitation of your APIs not of the applications or of the processing
being implemented by said library. Most Unix system calls have only 
success/failures mode of operations mostly because they must be synchronous,
that's why errno is added as a report mechanism. The lack of a report mechanism
in a library does not seems to me a sufficient reason to allow to silently
ignore non-fatal errors. The analogy would be an implementation of libc
not able to report EINTR and thus forbidding the POSIX spec from allowing
syscalls to be interrupted. That sounds wrong to me,

Daniel

-- 
Daniel Veillard      | Red Hat Desktop team http://redhat.com/
veillard@redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
Received on Thursday, 12 May 2005 12:13:26 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:53:50 UTC