class XPathInjectionDetector extends BasicInjectionDetector {

    public XPathInjectionDetector(BugReporter bugReporter) {
        super(bugReporter);
        loadConfiguredSinks("xpath-javax.txt", "XPATH_INJECTION");
        loadConfiguredSinks("xpath-apache.txt", "XPATH_INJECTION");
        // TODO add net.sf.saxon.xpath.XPathEvaluator
        // TODO add org.apache.commons.jxpath
        // TODO add org.jdom.xpath.XPath
        // TODO add org.jaxen.XPath
        // TODO add edu.UCL.utils.XPathAPI
        // TODO add org.xmldb.api.modules
    }

    @Override
    protected int getPriority(Taint taint) {<FILL_FUNCTION_BODY>}
}

        if (!taint.isSafe() && taint.hasTag(Taint.Tag.XPATH_INJECTION_SAFE)) {
            return Priorities.IGNORE_PRIORITY;
        } else {
            return super.getPriority(taint);
        }
    
<methods>public void registerVisitor(com.h3xstream.findsecbugs.taintanalysis.TaintFrameAdditionalVisitor) <variables>static com.h3xstream.findsecbugs.injection.ClassMethodSignature OBJECT,private static final com.h3xstream.findsecbugs.injection.SinksLoader SINKS_LOADER,private final Map<com.h3xstream.findsecbugs.injection.ClassMethodSignature,com.h3xstream.findsecbugs.injection.InjectionPoint> injectionMap