Since it is a streaming model, the memory requirements are not very demanding.
However, you don't have the navigation flexibility and the read/write capabilities that would be available from a DOM-based model. One of the biggest differences, however, is that while SAX is a push type of model (that is, it pushes data out to the application, and the developer has to be ready to accept it), the has a pull model, where data is pulled in to the application requesting it.
The other feature is the validation of an xml file with a schema. Therefore, one has to learn two diverse syntaxes; one for XML and the other for DTDs. The major flaw with the DTD world surfaces during the creation of new data types.
You can then react to the error in any way you see fit. First we will add an XDR (XM- Data Reduced) schema namespace to our namespace.
This collection holds pre-loaded XSD and XDR schemas.
There are two prominent features of the XML Schema world.
One of the features is the creation of an xsd file, which provides a succinct description of a Data Set.
This allows for very fast validation, especially if you need to validate several documents, since the schema will not have to be reloaded on each validation.