<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>aalto-xml</artifactId>
<version>1.3.0</version>
</dependency>
import com.fasterxml.aalto.stax.InputFactoryImpl;
import com.fasterxml.aalto.stax.OutputFactoryImpl;
import com.fasterxml.aalto.stax.StreamReaderImpl;
import com.fasterxml.aalto.stax.StreamWriterImpl;
import javax.xml.XMLConstants;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.io.File;
public class XMLValidator {
public static void main(String[] args) {
try {
File xmlFile = new File("path/to/xml/file.xml");
Source xmlSource = new StreamSource(xmlFile);
File schemaFile = new File("path/to/xml/schema.xsd");
Source schemaSource = new StreamSource(schemaFile);
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaSource);
Validator validator = schema.newValidator();
XMLInputFactory inputFactory = new InputFactoryImpl();
XMLOutputFactory outputFactory = new OutputFactoryImpl();
XMLStreamReader reader = new StreamReaderImpl(inputFactory.createXMLStreamReader(xmlSource));
XMLStreamWriter writer = new StreamWriterImpl(outputFactory.createXMLStreamWriter(System.out));
validator.validate(new StreamReaderSource(reader), new StreamWriterResult(writer));
} catch (Exception e) {
e.printStackTrace();
}
}
}