Emmm... Both DOM and SAX are sets of interfaces, defined by W3C. Parsers implements these interfaces and may differ in small details, but essentially two DOM parsers, for example, have to provide the same functionality, otherwise why call them �DOM parsers�?
There are, however, DOM level1 and DOM level2 (the same about SAX) compliance. Level2 is different from Level1 in that parsers have to support namespaces, as far as I know.
If you have to choose the parser,
you should first decide if you want to use DOM or SAX parser, considering two factors:
1) how big your XML documents are (DOM representation in memory can be 5-10 times more than the source document!)
2) what kind of processing you need to apply.
Then you choose any Level2 (because there seems to be no reason to use older) parser. Then you write your program and see what happen: if some exotic feature is not supported by your parser, you can always use another