Simple API for XML (англ. Простий програмний інтерфейс для роботи з XML, скорочено SAX) — специфікація прикладного програмного інтерфейсу для послідовного отримання даних із структурованих XML документів. Цей інтерфейс є поширеною альтернативою Document Object Model (DOM).
Аналізатор, який реалізує інтерфейс SAX (англ. SAX Parser) обробляє інформацію із XML документа як єдиний потік даних. Цей потік даних доступний лише в одному напрямі, тобто, раніш оброблені дані неможливо повторно прочитати без повторного аналізу.
Більшість програмістів XML технологій вважають, що обробка XML документів відповідно парадигмі SAX, в цілому, швидша, аніж при використанні DOM. Це пояснюється тим, що потік SAX потребує набагато меншого обсягу пам'яті у порівнянні із побудовою повного дерева DOM.
SAX аналізатори реалізують з використанням підходу [en], коли програмісту необхідно описати обробники подій, які викликаються аналізаторами під час обробки XML документа.
SAX було розроблено зусиллями спільноти списку розсилки xml-dev, без формальних комітетів, але він був швидко визнаний компаніями, які спеціалізуються на засобах обробки XML документів. Першим головним розробником та інженером супроводу був .
Приклад роботи
Розглянемо принципи роботи використовуючи наступний документ як приклад:
<?xml version="1.0" encoding="UTF-8"?> <greeting> <type age="20">Привіт</type> <?mark SAMPLE ?> </greeting>
SAX аналізатор, обробляючи цей документ, генеруватиме події та надсилатиме їх на відомі йому обробники подій в такій послідовності:
- startDocument()
- startElement(«greeting»)
- ignorableWhitespace(новий рядок та « »)
- startElement(«type», з атрибутом «age»)
- character(«Привіт»)
- endElement(«type»)
- ignorableWhitespace(новий рядок та « »)
- processingInstruction(«mark», «SAMPLE»)
- ignorableWhitespace(новий рядок)
- endElement(«greeting»)
- endDocument()
Інтерфейси API SAX
- XMLReader
- XMLFilter
- EntityResolver
- ErrorHandler
- ContentHandler
- DTDHandler
- Attributes
- AttributeList
- Locator
Див. також
Інші технології обробки XML документів
XML аналізатори та API які підтримують SAX
- : Java API for XML Processing
Джерела інформації
- David Brownell: SAX2, O'Reilly,
- W. Scott Means, Michael A. Bodie: The Book of SAX, No Starch Press,
Посилання
- Top Ten SAX2 Tips [ 14 травня 2007 у Wayback Machine.]
- Інтерфейси SAX для…
- Python [ 20 грудня 2016 у Wayback Machine.]
- Java [ 6 лютого 2007 у Wayback Machine.]
Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Simple API for XML angl Prostij programnij interfejs dlya roboti z XML skorocheno SAX specifikaciya prikladnogo programnogo interfejsu dlya poslidovnogo otrimannya danih iz strukturovanih XML dokumentiv Cej interfejs ye poshirenoyu alternativoyu Document Object Model DOM Analizator yakij realizuye interfejs SAX angl SAX Parser obroblyaye informaciyu iz XML dokumenta yak yedinij potik danih Cej potik danih dostupnij lishe v odnomu napryami tobto ranish obrobleni dani nemozhlivo povtorno prochitati bez povtornogo analizu Bilshist programistiv XML tehnologij vvazhayut sho obrobka XML dokumentiv vidpovidno paradigmi SAX v cilomu shvidsha anizh pri vikoristanni DOM Ce poyasnyuyetsya tim sho potik SAX potrebuye nabagato menshogo obsyagu pam yati u porivnyanni iz pobudovoyu povnogo dereva DOM SAX analizatori realizuyut z vikoristannyam pidhodu en koli programistu neobhidno opisati obrobniki podij yaki viklikayutsya analizatorami pid chas obrobki XML dokumenta SAX bulo rozrobleno zusillyami spilnoti spisku rozsilki xml dev bez formalnih komitetiv ale vin buv shvidko viznanij kompaniyami yaki specializuyutsya na zasobah obrobki XML dokumentiv Pershim golovnim rozrobnikom ta inzhenerom suprovodu buv Priklad robotiRozglyanemo principi roboti vikoristovuyuchi nastupnij dokument yak priklad lt xml version 1 0 encoding UTF 8 gt lt greeting gt lt type age 20 gt Privit lt type gt lt mark SAMPLE gt lt greeting gt SAX analizator obroblyayuchi cej dokument generuvatime podiyi ta nadsilatime yih na vidomi jomu obrobniki podij v takij poslidovnosti startDocument startElement greeting ignorableWhitespace novij ryadok ta startElement type z atributom age character Privit endElement type ignorableWhitespace novij ryadok ta processingInstruction mark SAMPLE ignorableWhitespace novij ryadok endElement greeting endDocument Interfejsi API SAXXMLReader XMLFilter EntityResolver ErrorHandler ContentHandler DTDHandler Attributes AttributeList LocatorDiv takozhInshi tehnologiyi obrobki XML dokumentiv Document Object Model XSL Transformations XSLT Streaming Transformations for XML STX XML analizatori ta API yaki pidtrimuyut SAX Java API for XML ProcessingDzherela informaciyiDavid Brownell SAX2 O Reilly ISBN 0 596 00237 8 W Scott Means Michael A Bodie The Book of SAX No Starch Press ISBN 1 886411 77 8PosilannyaTop Ten SAX2 Tips 14 travnya 2007 u Wayback Machine Interfejsi SAX dlya Python 20 grudnya 2016 u Wayback Machine Java 6 lyutogo 2007 u Wayback Machine Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi