SAX

General
 About SAX
 Copyright Status
 Events vs. Trees
 FAQ
 Links

Java API
 Quickstart
 Features and Properties
 Filters
 Namespaces
 JavaDoc

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

SourceForge Services
 Bugs/RFEs
 Project Page


SourceForge Logo

Genesis

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 xml.org 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.

Contributors

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