Кіріспе
Қолданбалық бағдарламалау интерфейсі
XML үшін ағып жатқан API (StAX) – Java бағдарламалау тілі қауымдастығынан шыққан XML құжаттарын оқу және жазуға арналған қолданбалық бағдарламалау интерфейсі (API). Дәстүрлі түрде, XML API-лер: DOM негізді – бүкіл құжат жадқа ағаш құрылымы түрінде оқылады, оған шақырушы қолданба кездейсоқ түрде қол жеткізе алады; оқиға негізді – қолданба бастапқы құжатта кездесетін элементтер бойынша оқиғаларды алуға тіркеледі. Екеуінің де артықшылықтары бар: DOM, мысалы, құжатқа кездейсоқ кіруге мүмкіндік береді, ал SAX сияқты оқиғаға негізделген алгоритм жадты аз қолданады және әдетте жылдамырақ жұмыс істейді. Бұл екі тәсілді бір-біріне қарама-қарсы деп қарастыруға болады. Ағаш негізді API шексіз, кездейсоқ қол жеткізуге және өзгертуге мүмкіндік береді, ал оқиға негізді API – бастапқы құжатты бір рет қарап шығу. StAX осы екі қарама-қарсылықтың арасындағы орталық нүкте ретінде жасалған. StAX тәсілінде бағдарламалық кіру нүктесі – құжат ішіндегі позицияны көрсететін курсор. Қолданба курсорды алға жылжытып, қажет болған жағдайда талдаушыдан ақпаратты «тартады». Бұл SAX сияқты оқиға негізді API-ден өзгеше, ол деректерді қолданбаға «жібереді», сондықтан қолданба құжаттағы орнын білу үшін оқиғалар арасында жағдайды сақтау керек болады.
Streaming API for XML (StAX) is an application programming interface (API) to read and write XML documents, originating from the Java programming language community. Traditionally, XML APIs are either:
DOM based the entire document is read into memory as a tree structure for random access by the calling application
event based the application registers to receive events as entities are encountered within the source document. Both have advantages: DOM, for example, allows for random access to the document, and event driven algorithm like SAX has a small memory footprint and is typically much faster. These two access metaphors can be thought of as polar opposites. A tree based API allows unlimited, random access and manipulation, while an event based API is a 'one shot' pass through the source document. StAX was designed as a median between these two opposites. In the StAX metaphor, the programmatic entry point is a cursor that represents a point within the document. The application moves the cursor forward 'pulling' the information from the parser as it needs. This is different from an event based API such as SAX which 'pushes' data to the application requiring the application to maintain state between events as necessary to keep track of location within the document.
Шығу тегі
StAX XML үшін үйлеспейтін бірнеше тарту API-ларынан бастау алады, ең бастысы – XMLPULL. Оның авторлары (Stefan Haustein және Aleksander Slominski) BEA Systems, Oracle, Sun және James Clark сияқты компаниялармен бірлесе жұмыс істеген.