SAX stands for Simple API for XML. SAX is a callback implementation. As it iterates over each fundamental unit of XML, is that as it reads each unit of XML, it creates an event that the host program can use. This allows the application to ignore the bits it doesn't care about, and just keep or use what is needed. SAX is often used in certain high-performance applications or areas where the size of the XML might exceed the memory available to the running program.
The design inspiration and subsequent coodination was done by Dave Megginson, who continues to maintain the SAX Project website. The SAX standard currently is at version 2.0.
SAX is used everywhere in <%= ConfigurationManager.AppSettings["SS"] %>. It is used for building certain representations of XML structure for the XSLT and XQuery Mappers, and also used extensively within the deployment adapters.
There have been many implementations of SAX parsers. The Apache project has sponsored some, including Crimson and its successor, Xerces (available in both C++ and Java.) The author of Saxon, Dr. Michael Kay, himself wrote Ælfred — another SAX parser. Oracle has one, there is one called Piccolo, a SAX wrapper is available for James Clark's xp processor.
SAX is defined in three packages:
Some tools like SAX better, others like DOM. Some like still other models. Which is best? Well, it depends. One of the advantages in using a tool such as <%= ConfigurationManager.AppSettings["SS"] %> is that we've worked hard to determine the best model for different use cases, and the code we use interally or we generate for you uses the most appropriate model. Take a look for yourself by downloading the XML Tool of Tools for a free evaluation copy.
Only Stylus Studio leverages the Simple API for XML in our tools and processing components - Download a free trial today!