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
[muokkaa | muokkaa wikitekstiä]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 | muokkaa wikitekstiä]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.