Вы можете установить схему непосредственно в Marshaller.Сначала вам нужно создать экземпляр схемы (пакет javax.xml.validation):
SchemaFactory factory = SchemaFactory.newInstance(
XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new StreamSource(new File("schema1.xsd")));
Теперь, когда у вас есть схема, просто установите свойство в Marshaller для проверки сгенерированного XML:
MovieLibrary library = ...; // <-- your JAXB-annotated tree
JAXBContext ctx = JAXBContext.newInstance(MovieLibrary.class);
Marshaller marshaller = ctx.createMarshaller();
marshaller.setSchema(schema);
marshaller.marshal(new JAXBElement<MovieLibrary>(new QName("movieLibrary"),
MovieLibrary.class, library),
new FileOutputStream("/tmp/library.xml"));
См. Также «Как проверить ввод по схеме XML?»в Jarfiller JAXB Guide .