Code, JavaEE

Validate XML Against XML Schema


public interface XmlValidator {

public Boolean validateXml(InputStream xmlStream);
}

 

public class DefaultXmlValidator implements XmlValidator {
 private String xmlSchemaFilePath;

public DefaultXmlValidator(String xmlSchemaFilePath) {
 this.xmlSchemaFilePath = xmlSchemaFilePath;
 }

@Override
 public Boolean validateXml(InputStream xmlStream) {
 SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
 try {
 Schema schema = schemaFactory.newSchema(getClass().getResource(xmlSchemaFilePath));
 Validator validator = schema.newValidator();
 validator.validate(new StreamSource(xmlStream));
 } catch (SAXException e) {
 // process the exception, notify
 return Boolean.FALSE;
 } catch (IOException e) {
 // process the exception, notify
 return Boolean.FALSE;
 }
 return Boolean.TRUE;
 }
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s