private void bindExpressionContext(XQDynamicContext exp, Map<String, Object> params) throws XQException { if (params == null) { return; } for (Entry<String, Object> entry : params.entrySet()) { if (entry.getKey().equalsIgnoreCase(RESOURCE_LOCATION)) { continue; } Object value = entry.getValue(); if (value instanceof java.lang.String) { exp.bindString(new QName(entry.getKey()), (String) value, null); } else if (value instanceof javax.xml.transform.Source) { exp.bindDocument(new QName(entry.getKey()), (Source) entry.getValue(), null); } else if (value instanceof Boolean) { exp.bindBoolean(new QName(entry.getKey()), (Boolean) entry.getValue(), null); } else { exp.bindAtomicValue(new QName(entry.getKey()), (String) entry.getValue(), null); } } }