* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- */
+ */
package org.wamblee.xml;
+import org.w3c.dom.ls.DOMImplementationLS;
+import org.w3c.dom.ls.LSInput;
+import org.w3c.dom.ls.LSResourceResolver;
import org.wamblee.io.ClassPathResource;
import org.wamblee.io.InputResource;
import java.io.IOException;
+import java.io.InputStream;
import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
/**
* URI resolver that resolves stylesheets through the classpath.
*/
-public class ClasspathUriResolver implements URIResolver {
+public class ClasspathUriResolver implements URIResolver, LSResourceResolver {
/**
* Constructs the resolver.
*
e);
}
}
+
+ @Override
+ public LSInput resolveResource(String aType, String aNamespaceURI,
+ String aPublicId, String aSystemId, String aBaseURI) {
+ try {
+ InputStream xslt = new ClassPathResource(aSystemId)
+ .getInputStream();
+ DOMImplementationLS impl = DomUtils.getDomImplementationLS();
+ LSInput input = impl.createLSInput();
+ input.setPublicId(aPublicId);
+ input.setSystemId(aSystemId);
+ input.setByteStream(xslt);
+ return input;
+ } catch (IOException e) {
+ return null;
+ }
+
+
+ }
+
}