Parsers are essentially tools created for a specific purpose. For example, a DOM parser implements the DOM API and creates DOM in memory whereas SAX parser implements SAX API. Popular Example would be "Xerces" by Apache
Validating tools are necessary to enforce certain rules. E.g. Validating tools would check XML documents for well formedness and certain other basic criteria. These tools can also validate documents against schemas and DTDs.
The biggest differences are DTDs allow the use of Entities, Schemas allow the use Namespaces. Schemas also allow you to create more defined data types to validate against. DTDs only allow the use of default data types, for validation. Schemas can inherit from other schemas. Schemas are also well-formed XML so you can parse them with SAX or DOM.
* Since SCHEMA is based on XML it does not require a seprate parser for reading it ..For DTD's on the other hand you need a seprate DTD parer to read the DTD's ..(I gues thats what Jay meant by saying taht u can parse schemas with SAX or DOM )
Yes, of course, and I accept that blame. In fact, i covet that blame. As does this tiny ad:
Two software engineers solve most of the world's problems in one K&R sized book