SAX

SAX (lyhenne sanoista Simple API for XML eli "yksinkertainen rajapinta XML:lle") on ohjelmistotekniikassa käytetty sarjamuotoinen XML-muotoisen tiedon käsittelyrajapinta. SAX tarjoaa mekanismin tiedon lukemiseen XML-dokumentista ja se on suosittu vaihtoehto DOM-objektimallille.

XML:n käsittely SAX:lla

XML-jäsennin eli käsittelijä joka toteuttaa SAX-rajapinnan toimii tietovirran (stream) käsittelijänä tapahtumapohjaisen rajapinnan avulla. Käyttäjä määrittelee tietyt takaisinkutsumetodit (callback), joita kutsutaan kun tietyt tapahtumat (eventit) tapahtuvat tiedon käsittelyn aikana. SAX-tapahtumiin kuuluvat:

 XML-tekstisolmut
 XML-elementtisolmut
 XML-prosessointiohjeet
 XML-kommentit

Tapahtuma syntyy joka kerta kun jokin näistä entiteeteistä kohdataan XML-datasta, samoin myös kun kohdataan entiteetin loppu. XML-attribuutit tarjotaan osana tietoa joka välitetään elementtitapahtumille.

SAX-käsittely on yksisuuntainen. Aikaisemmin luettua dataa ei voida lukea uudelleen käynnistämättä käsittelyä uudelleen alusta. Toisin kuin DOM, SAX mahdollistaa muistia suurempien dokumenttien käsittelyn. Sillä ei voi kuitenkaan validoida dokumenttia.

Määritelmät
Toisin kuin DOM:ssa, SAX:lle ei ole muodollista määritelmää eli spesifikaatiota. Java-toteutus on suuntaa antava ja muun kieliset toteutukset tavallisesti jäljittelevät Java-toteutusta.

XML