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 muokkaa

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 muokkaa

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.

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.