package de.uniba.dsg.bpmnspector.common.xsdvalidation;
import java.io.InputStream;
import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSResourceResolver;
/**
* Class for representing a custom LSResourceResolver in order to enable
* resource resolution for BPMN XSD Validation.
*
* Needed for <xs:include>-resolution when generating a
* {@link javax.xml.validation.Schema} when using
* getClass().getResourceAsStream("path/to/file.xsd")
*
* @author Matthias Geiger
* @version 1.0
* @see LSResourceResolver
*/
public class ResourceResolver implements LSResourceResolver {
/*
* (non-Javadoc)
*
* @see org.w3c.dom.ls.LSResourceResolver#resolveResource(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public LSInput resolveResource(String type, String namespaceURI,
String publicId, String systemId, String baseURI) {
InputStream resourceAsStream = this.getClass().getResourceAsStream(
"/" + systemId);
return new Input(publicId, systemId, resourceAsStream);
}
}