2009-08-26 13 views
0

Wie kann ich ein XML-Dokument gegen eine DTD-Datei validieren, die nur meine Anwendung kennt. Damit das zu validierende XML-Dokument nicht die DOCTYPE-Deklaration enthält, die die .dtd-Datei angibt. Ich brauche das in Java. Hier ist ein Beispiel: Die XML-Datei validiert werden:Java-XML-DTD-Validierung

<?xml version = "1.0" ?> 
<Employee> 
    <Emp_Id> E-001 </Emp_Id> 
    <Emp_Name> Vinod </Emp_Name> 
    <Emp_E-mail> [email protected] </Emp_E-mail> 
</Employee> 

Die .dtd Datei aus meiner Anwendung:

<!ELEMENT Employee (Emp_Id, Emp_Name, Emp_E-mail)> 
<!ELEMENT Emp_Id (#PCDATA)> 
<!ELEMENT Emp_Name (#PCDATA)> 
<!ELEMENT Emp_E-mail (#PCDATA)> 

Antwort

2

Lesen Sie die Java-Dokumentation - API for validation of XML documents

Zusammenfassung: Dieses Paket enthält eine API für die Validierung von XML-Dokumenten. Validierung ist der Vorgang der Überprüfung von , dass ein XML-Dokument eine Instanz von einem angegebenen XML-Schema ist. Ein XML-Schema definiert das Inhaltsmodell (auch eine Grammatik oder ein Vokabular genannt), das seine Instanzdokumente darstellen.

Beispiel:

Document xmlDocument = builder.parse(new FileInputStream("xmlDoc.xml")); 
DOMSource source = new DOMSource(xmlDocument); 
StreamResult result = new StreamResult(System.out); 
TransformerFactory tf = TransformerFactory.newInstance(); 
Transformer transformer = tf.newTransformer(); 
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, "xmlDoc.dtd"); 
transformer.transform(source, result);