SAX vs. DOM
Simpel API til XML (også kendt som SAX) er en seriel adgangs parser API for XML (det er en API, der henter data, og analyserer teksten fra det særlige dokument i dynamisk oprettede websider eller websider med interaktivt indhold). Det fungerer som et af de mere populære alternativer til dokumentobjektmodellen (også kendt som DOM).
DOM er en konvention, der er helt uafhængig af et specifikt sprog. Det er en konvention, der er kompatibel med flere platforme. Det bruges til at repræsentere og interagere med objekter i HTML-, XML- og XHTML-dokumenter. Inden i syntaks for det sprog, en DOM bruger, kan mange aspekter af DOM behandles og manipuleres.
En SAX-parser fungerer som det, der kaldes en stream-parser (hvilket betyder, at den henter og analyserer tekst, der streamer fra dens placering). Det indeholder en begivenhedsdrevet API (det vil sige en API, der er afhængig af begivenheder, der forekommer i et bestemt miljø). Brugeren har kontrol til at definere antallet af tilbagekaldsmetoder (det er metoder, der spores tilbage til kilden til de anmodede data). Disse metoder kaldes, når der opstår begivenheder under parsing. Der er fire hovedbegivenheder, der kan forekomme under parsning: XML-testknudepunkter, XML-elementknudepunkter, XML-behandlingsinstruktioner og XML-kommentarer. Når disse XML-funktioner findes, sættes begivenheder i spil. Begivenheder opstår også, når disse funktioner er nået deres slutning. Som sådan er SAX ensrettet (hvilket betyder at bevæge sig i en retning), og data, der tidligere blev analyseret, kan ikke læses igen uden at starte parsingoperationen.
DOM sættes bedst i spil til applikationer, hvor dokumentet gentagne gange skal åbnes, eller hvis dokumentet tilfældigvis er ude af dets rækkefølge. Hvis applikationen er i en streng rækkefølge og en-pas (det betyder, at det ikke er muligt at få adgang til uden at starte en parsingssekvens igen), kommer SAX i spil. De fleste webbrowsere bruger ikke DOM med det formål at gengive HTML-dokumenter. DOM er dog en nødvendighed for JavaScript-scripts, der ønsker at dynamisk analysere eller ændre noget, der vedrører en webside. I det væsentlige er DOM den måde, hvorpå JavaScript kan visualisere HTML-siden og browsertilstanden, som den er indeholdt i (dvs. udforske dens miljø).
Resumé:
1. SAX er en seriel adgangs parser API til dynamiske websider; DOM er en konvention uden sprog eller afhængighed af sprog.
2. En SAX-parser giver brugeren mulighed for at kontrollere antallet af tilbagekaldsmetoder; DOM fungerer uafhængigt for at give JavaScript-scripts adgang til, ændre eller analysere noget, der vedrører dynamiske websider, så JavaScript kan "fysisk" udforske dets miljø.