XML mittels DTD in Saxon unter Java auf Gültigkeit prüfen

Velow

Mitglied
Hallo,

Ich habe:
eine XML datei -- info.xml
eine DTD datei -- test.dtd
und die SAXON 8 API für Java.

Damit hab ich jetzt auch schon alles hinbekommen. Xml einpasen, XQuery ausführen etc.

Nun möchte ich meine info.xml anhand einer festerstellten test.dtd auf Gültigkeit (true / false) prüfen und bekomme das einfach nicht hin. Kann mir da jemand helfen ?

Irgendwie befürchte ich, dass SAXON nur schema kann und nicht dtd.


Mfg Velow
 
ich hab endlich was gefunden, bin mir aber nicht sicher ob das richtig funktioniert.
validiert mein Programm korrekt ?


Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.StringReader;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;


public class test {
 
    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
    		
    	BufferedReader test =
			new BufferedReader(new FileReader("test.xml"));
			String full = "";
			String input = "";
				while((input = test.readLine()) != null) {
					full += input+'\n';
				}
			test.close();
    	
    	String XML = full;
    	
    
    	BufferedReader test2 =
			new BufferedReader(new FileReader("test.dtd"));
			String full2 = "";
			String input2 = "";
				while((input2 = test2.readLine()) != null) {
					full2 += input2+'\n';
				}
			test2.close();
    	
        
        String DTD = full2;

        
        	try {
        	SAXBuilder builder = new SAXBuilder(true);
        	Document doc = builder.build(new StringReader(DTD + XML));
        	System.out.println("OK");
        	} catch (JDOMException e) {
        	System.out.println(e.getMessage());
        	} catch (IOException e) {
        	System.out.println(e.getMessage());
        	}
        	
        
 
    }
}


bin bei der Zeile unsicher
Code:
Document doc = builder.build(new StringReader(DTD + XML));
 
Zurück