package com.bagri.xquery.saxon; import static com.bagri.core.Constants.mt_xml; import javax.xml.transform.Source; import net.sf.saxon.expr.XPathContext; import net.sf.saxon.lib.Resource; import net.sf.saxon.om.Item; import net.sf.saxon.trans.XPathException; public class ResourceImpl implements Resource { private final Source docSrc; public ResourceImpl(Source src) { this.docSrc = src; } @Override public String getResourceURI() { return docSrc.getSystemId(); } @Override public Item getItem(XPathContext context) throws XPathException { return context.getConfiguration().buildDocumentTree(docSrc).getRootNode(); } @Override public String getContentType() { return mt_xml; } }