SAX: 1998-04-18 pre-release (I/O)

David Megginson ak117 at
Sun Apr 19 21:22:51 BST 1998

David Brownell writes:

 > This makes it an easy call -- "throws IOException".  APIs should
 > never declare "throws Exception" except maybe in the earliest stage
 > of coming up with the exception model.  And in this case,
 > "IOException" is how any code doing I/O will already throw
 > exceptions; no need to for more.

If I did so, I would need to define the semantics of an IOException
within SAX and then require other languages to implement it exactly
the same way as Java (so that, say, a Python or C++ implementation
could throw an IOException that a Java implementation could catch).
It is not acceptable that a SAX implementation on one platform would
have to know the programming language of a SAX implementation on

 > By the way, the names "ByteStream" and "CharacterStream" imply
 > they're good for writing too.  Far preferable to say "InputStream"
 > and "Reader".  I/O in languages other than Java should obey those
 > languages' rules, as (and when) the SAX models are translated to
 > them.

This is a good point, but I don't like the lack of symmetry and
transparency in "InputStream" and "Reader".  We could use something
like "ByteReader" and "CharacterReader", or "ByteInputStream" and
"CharacterInputStream" -- there are still a couple of days for

All the best,


David Megginson                 ak117 at
Microstar Software Ltd.         dmeggins at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list