JAXB - ValidationEventHandler liefert keine Node oder Object

Gambler79

Grünschnabel
Hallo alle zusammen,

ich habe ein Problem bei der Validierung einer XML Datei mit JAXB2.0.

Ich habe eine XML-Datei in der leere Tags enthalten sein können. Ich validiere diese Datei gegen ein Schema und fange die ausgelösten Events über eine eigene ValidationEventHandler Klasse ab.

Das dorthin übergebene Event-Objekt hat die Methoden getMessage() --> diese enthält die Fehlernachricht und getLocator() in der sich die Refferenz auf das auslösende Obect befindet.

Wenn ich bei ausgelöstem Event auf event.getLocator() zugreife, ist dieser aber NULL ... ist das noch ein BUG in JAXB 2.0 ?

Die Klasse für das unmarshalling sieht so aus:
Code:
            JAXBContext context = JAXBContext.newInstance(TestXML.class);
            Unmarshaller um = context.createUnmarshaller();
            
            SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
                
            Schema schema = sf.newSchema(new File("TestSchema.xsd"));
            
            
            um.setSchema(schema);
            
            um.setEventHandler(new MyValidationEventHandler());
         
            
            TestXML testXML = (TestXML) um.unmarshal(new File("XMLTestDoc.xml"));

Der EventHanlder so:

Code:
public class MyValidationEventHandler implements ValidationEventHandler{

    private boolean retValue = true;
    
    public boolean handleEvent(ValidationEvent event) {
    
        
        
        event.getLocator();
        
                

   
        return retValue;
    }

}

also das sind jetzt nur auszüge aus den Klassen ...

Vielen Dank für Eure Hilfe

Grüße

Rene
 
Zurück