Simple API for XML (англ. Простой программный интерфейс для работы с XML, сокращенно SAX ) - спецификация прикладного программного интерфейса дляпоследовательного получения данных из структурированных XML документов. Этот интерфейс является распространенной альтернативой Document Object Model (DOM).
Анализатор, реализующий интерфейс SAX (англ. SAX Parser ) обрабатывает информацию из XML документа как единый поток данных. Этот поток данных доступен только в одном направлении, то есть, раньше обработаны данные невозможно повторно прочитать без повторного анализа.
Большинство программистов XML технологий считают, что обработка XML документов в соответствии парадигме SAX, в целом, быстрее, чем при использовании DOM. Это объясняется тем, что поток SAX требует гораздо меньшего объема памяти по сравнению с построением полного дерева DOM.
SAX анализаторы реализуют с использованием подхода передачи сообщений ( event-driven ), когда программисту необходимо описать обработчики событий ( en: Callback (computer science) ), которые вызываются анализаторами при обработке XML документа.
SAX был разработан усилиями сообщества список рассылки xml-dev, без формальных комитетов, но он был быстро признан компаниями, специализирующимися на средствах обработки XML документов. Первым главным разработчиком и инженером сопровождения был Давид Маггинсон.
Интерфейсы API SAX
-
XMLReader
-
XMLFilter
-
EntityResolver
-
ErrorHandler
-
ContentHandler
-
DTDHandler
-
Attributes
-
AttributeList
-
Locator
Другие технологии обработки XML документов
-
Document Object Model
-
XSL Transformations (XSLT)
-
Streaming Transformations for XML (STX)
-
System Integrated Automaton parser
XML анализаторы и API с поддержкой SAX
-
Xerces
-
MSXML
-
Crimson XML
-
JAXP : Java API for XML Processing