How to validate XML with XSD Schema
You need one class XSDDocument
which implements XSD
interface. It works with your default DOM implementation. For example:
import com.jcabi.xml.XSDDocument; import java.util.Collection; import javax.xml.transform.stream.StreamSource; import org.apache.commons.io.IOUtils; import org.xml.sax.SAXParseException; public class Main { public void main(String[] args) { String xsd = "<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>", + "<xs:element name='payments'/>", + "</xs:schema>"; Collection<SAXParseException> errors = new XSDDocument(xsd).validate( new StreamSource( IOUtils.toInputStream( "<orders><order id="4">Coffee to go</order></orders>", "UTF-8" ) ) ); if (errors.isEmpty()) { System.out.println("XML is valid"); } else { System.out.println("XSD validation failed: " + errors); } } }