About SAX
 Copyright Status
 Events vs. Trees

Java API
 Features and Properties

SAX Evolution
 SAX 1.0 Overview
 SAX 2.0 Changes
 SAX 2.0 Extensions
 Other Languages

SourceForge Services
 Project Page

SourceForge Logo


John Tigue, of DataChannel, was the first to attempt to develop an XML API collaboratively on the XML-DEV mailing list with his earlier XAPI-J.

The process of developing SAX itself started on Saturday 13 December 1997, mainly as a result the persistence of Peter Murray-Rust. Peter is the author of the free Java-based XML browser JUMBO, and after going through the headaches of supporting three different XML parsers with their own proprietary APIs, he insisted that parser writers should all support a common Java event-based API, which he code-named YAXPAPI (for Yet Another XML Parser API).

Peter initiated a discussion with Tim Bray (the author of the Lark XML parser and one of the editors of the XML specification) and David Megginson (the author of Microstar's Ælfred XML parser) about coming up with a single, standard event-based API for XML parsers. The design discussion took place publicly on the XML-DEV mailing list, and many people contributed ideas, comments, and criticisms (see below). At the end, Jon Bosak, the founder of XML, kindly allowed SAX to use his domain for the Java package name org.xml.sax.

David co-ordinated the discussion and wrote the proposal for the interface, together with its Java implementation. The first draft interface -- together with front-end drivers for the four major Java XML parsers -- was released on Monday 12 January 1998, one month less a day after the beginning of the discussion. This could be a record for an industry initiative (especially considering that SAX was finished under a declared state of emergency, during the worst ice storms in Canadian history, when much of Eastern Ontario and Quebec were without power).

The first draft of SAX received much attention, and over several months, users identified shortcomings and suggested improvements. Over a long period of discussions and pre-releases, the XML-DEV community developed SAX 1.0, which was released on Monday 11 May 1998, less than five months after SAX was first proposed.


Thank you to the following people for contributing to the initial discussion about the design of SAX. The current proposal contains many of their ideas and suggestions, though it does not match exactly what any one person wanted.

  • Murray Altheim
  • Jacek R. Ambroziak
  • Michael Amster
  • James Anderson
  • Tyler Baker
  • Antony Blakey
  • Jon Bosak
  • Tim Bray
  • David Brownell
  • Joerg Brunsmann
  • Didier Carlier
  • Dave Carlson
  • James Clark
  • Dan Connolly
  • Robin Cover
  • Ray Cromwell
  • Ron Daniel Jr.
  • Derek Denny-Brown
  • Benoit de Dinechin
  • Andy Doyle
  • Nick Drew
  • David G. Durand
  • Matthew J. Evans
  • Peter Flynn
  • Brian Frank
  • Mark L. Fussell
  • Lars Marius Garshol
  • Matthew Gertner
  • Andrew Greene
  • Robert Grimm
  • Geir Ove Gronmo
  • Paul Haahr
  • Philippe Le Hegaret
  • Chris Hubick
  • Jani Jaakkola
  • Peter Jordan
  • Howard Katz
  • Michael Kay
  • Candide Kemmler
  • TAMURA Kent
  • W. Eliot Kimber
  • Dmitri Kondratiev
  • Glenn R. Kronschn
  • David Lewis
  • John D. Lewis
  • Siping Liu
  • Chris Lovett
  • Chris Maden
  • Andrew N Marshall
  • Cynthia L. Mason
  • Tim Mattix
  • Brian McGinnis
  • Sean McGrath
  • Gavin McKenzie
  • David Megginson
  • Norbert Mikula
  • Jeremie Miller
  • Alex Milowski
  • Juergen Modre
  • Trevor Morris
  • Peter Murray-Rust
  • Trong Nguyen
  • Gavin Nicol
  • Chris Olds
  • David Ornstein
  • Jacco van Ossenbruggen
  • Don Park
  • Paul Pazandak
  • Eduardo Pelegri-Llopart
  • W. E. Perry
  • Constantine Plotnikov
  • Paul Prescod
  • Wilf Reedijk
  • Lisa Rein
  • Jonathan Robie
  • Robin Sharp
  • Scott Shields
  • Janusz Sienkiewicz
  • Simeon Simeonov
  • Chris Smith
  • Toby Speight
  • Simon St.Laurent
  • Michael J. Suzio
  • John Tigue
  • John Wilson