SAX = a lexer that parse an XML document into tokens and generate events on the token recieved. As you can imagine, there will be continuous streams of events. Thus, some call SAX stream or SAX event driven etc. The SAX engine provided by JDK sucks. No hooks for custom entities unless the XML document explicitly contains the DTD spec. DOM = a generated tree of objects (think of DOM tree for html elements in web browser, only this is for all XML documents). Crimson/Xerc