Internal DTD

PHOTO EMBED

Sun Nov 03 2024 19:24:51 GMT+0000 (Coordinated Universal Time)

Saved by @signup1

//internal_dtd.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE customers [
    <!ELEMENT customers (customer+)>
    <!ELEMENT customer (name, email, phone)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT email (#PCDATA)>
    <!ELEMENT phone (#PCDATA)>
]>
<customers>
    <customer>
        <name>Satyam Nayak</name>
        <email>Satyam@nayak.com</email>
        <phone>122-112-1234</phone>
    </customer>
    <customer>
        <name>Sonu N</name>
        <email>Sonu@N.com</email>
        <phone>112-554-9969</phone>
    </customer>
</customers>
// ValidateInternalDTD.java
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

import java.io.File;
import java.io.IOException;

public class ValidateInternalDTD {
    public static void main(String[] args) {
        try {
            File xmlFile = new File("internal_dtd_example.xml");
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            dbFactory.setValidating(true); // Enable validation
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            dBuilder.setErrorHandler(new SimpleErrorHandler());
            Document doc = dBuilder.parse(xmlFile);
            doc.getDocumentElement().normalize();
            System.out.println("XML is valid with Internal DTD.");
        } catch (ParserConfigurationException | SAXException | IOException e) {
            System.out.println("XML is invalid: " + e.getMessage());
        }
    }
}
content_copyCOPY