DTD means: Document Type Definition, you use it to validate that your XML file has the elements that you define in your DTD. Is like a dictionary. Supose that you make a
java program that parses XML files, and you need the value of specific elements, but you don�t write the xml file, that�s the job of other people in your company, so giving them a DTD you ensure that the syntaxis of the xml they gave to you for parsing them with your java program doesn�t have mistakes. For more info
go here
where do i get free dom and sax parser
DOM SAX Here you will find articles and links for downloading parsers.