Simple API For XML (SAX)
Definition - What does Simple API For XML (SAX) mean?
The Simple API for XML (SAX) is a programming interface that acts as an event-based sequential access parser application programming interface (API) for XML documents. It provides an abstract interface in which the XML information set (infoset) is processed in a linear sequence of method calls.
SAX is a de facto standard that was released on May 11, 1998. The project was started by parser authors Tim Bray and David Megginson, and the initial draft was developed by Megginson.
Techopedia explains Simple API For XML (SAX)
SAX provides a streaming interface in which applications get the infoset from XML documents in a linear and continuous stream. Previously accessed data cannot be reread, because SAX is unidirectional and does not allow for backtracking. SAX conducts a search of large documents to fetch small pieces of information. It also provides a mechanism to abort the process once the information is located. SAX is a simpler and faster interface than the document object model (DOM).
The benefits of using SAX are as follows:
- SAX consumes less memory, as it collects the information from the document as a single stream. Therefore, the entire document does not need to be loaded into memory at once, allowing SAX to parse a file of any size.
- SAX has the advantage of fetching a small subset of information from a large document and is able to ignore unnecessary data.
- SAX makes it possible to get the required piece of information from a document as rapidly as possible.
Although there are many benefits to adopting SAX technology, it has its own set of drawbacks:
- It does not support random access to the document. (It can be difficult to use SAX on documents that contain many internal cross-references.)
- It does not provide lexical information. It is read-only.
SAX was initially developed as a joint effort by the members of the XML-DEV mailing list. The SAX project was recently shifted to the SourceForge project infrastructure. This was done to continue the further development and maintenance of SAX.