import javax.xml.validation.SchemaFactory;
import org.xml.sax.SAXException;
public class ValidateXMLDTD {
public static void main(String[] args) {
try {
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.XML_DTD_NS_URI);
Schema schema = factory.newSchema(new File("dtd.dtd"));
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
parser.setProperty("http://apache.org/xml/properties/internal/dtd", true);
parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", schema);
parser.parse("document.xml", new DefaultHandler());
System.out.println("Document is valid");
} catch (SAXException | ParserConfigurationException | IOException e) {
e.printStackTrace();
}
}
}