Re: SAX Version Conflicts (was Re: SAX 1.0beta)

David Brownell (David.Brownell@Eng.Sun.COM)
Mon, 27 Apr 1998 10:45:31 -0700


Versioning of APIs is in general a problem that few platforms claim
to have solved. I think SAX is basically OK, since the January version
wasn't to be the "1.0" release. The classic strategy is:

- APIs in development can have incompatible changes.
(SAX to date has been in development.)
- Once they are "final", all changes must be compatible.
(From now on ... )

For Java, see chapter 13 of the Java Language Specification:

http://java.sun.com/docs/books/jls/html/13.doc.html

That doesn't address the JDK 1.2 package versioning work, but it does
give some background that may be useful for non-Java systems.

It also doesn't address the compatibility with respect to serialized
objects; a parser API should have no need to worry about that stuff
though! I like the idea of never using serialization; instead, it's
safer to use Externalization, since developers must explicitly think
about such data interfaces. (Hmm, data interfaces ... "XML"? ;-)

- Dave