A Streaming API for XML (StAX) XML-dokumentumokat író és olvasó alkalmazásprogramozási felület, mely a Java-közösségtől ered.

Hagyományosan az XML API-k vagy fa- (az egész dokumentum a memóriába kerül faszerkezetként az alkalmazás általi hozzáférésre), vagy eseményalapúak (az alkalmazás a dokumentumban elért entitások miatti eseményeket regisztrálja).

Mindkettőnek megvannak az előnyei: a DOM például lehetővé teszi a dokumentum gyors hozzáférését, az eseményalapú algoritmusoknak, mint a SAX memóriaigénye alacsony és gyorsabbak.

E hozzáférési változatok ellentétesnek tekinthetők. Egy faalapú API végtelen hozzáférést és változtatást tesz lehetővé, míg egy eseményalapú csupán áthalad a dokumentumon.

A StAX a két ellentét közti középútként lett megtervezve. Itt a program bemeneti helye egy dokumentumbeli helyet meghatározó kurzor. Az alkalmazás előrehelyezi a kurzort – az értelmezőből „húzva” a szükséges információt, szemben az eseményalapú API-kkal, például a SAX-szal, mely azt „tolja” az alkalmazásnak, ami az események közti állapot kezelését igényli a dokumentumbeli hely követéséhez.

Eredet A StAX számos egymással nem kompatibilis XML API-ból ered, például az XMLPULL-ból, melynek fejlesztői (Stefan Haustein és Aleksander Slominski) többek közt a BEA Systemszel, az Oracle-lel, a Sunnal és James Clarkkal is együttműködtek.

Példák A JSR-173 specifikáció végleges, 1.0 verziójából:

Jegyzetek

Fordítás

Források Introduction to StAX XML.com, Harold, Elliotte Rusty Java Streaming API for XML (Stax) - Tutorial XMLPull Patterns Article on XML Pull (and StAX) design patterns by Aleksander Slominski. StAX Parser - Cursor & Iterator APIs Article on Cursor & Iterator APIs by HowToDoInJava.

Kapcsolódó szócikkek Versenyző és egymást kiegészítő módok XML Javában való feldolgozására (a kiadás laza időrendi sorrendjében): Document Object Model, az első szabványos, platformfüggetlen faalapú XML-feldolgozó modell, megfelelő Java-famodellek például a JDOM, a Dom4j és a XOM. Simple API for XML, XML-toló API Java XML Binding API, más (jellemzően adatfolyam-) értelmezőn működő API, Java-objektumokba és azokból köti össze az adatokat. Streaming XML XQuery API for Java

Kategória:Java XML API-k