Setup XSD schema for JAXB marshaller and unmarshaller:
SchemaFactory schemaFactory = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI);
InputStream schemaStream = openMySchemaFileStream();
Schema schema = schemaFactory.newSchema(new StreamSource(schemaStream));
marshaller.setSchema(schema);
unmarshaller.setSchema(schema);
Validate XML string by unmarshalling it:
Reader reader = new StringReader(xml);
StreamSource source = new StreamSource(reader);
unmarshaller.unmarshal(source, YourJAXBClass.class);
Validate JAXB object by marshalling to SAX' DefaultHandler, that does nothing:
marshaller.marshal(obj, new DefaultHandler());