@Override public XQueryValidationReport validate(XmlObject xmlObject, XQueryValidationProfile xqueryValidationProfile) { XQueryValidationReport validationReport = new XQueryValidationReport(); for (XQueryValidationRule rule : xqueryValidationProfile.getRules()) { try { List<?> result = xqueryEvaluator.evaluate(xmlObject, rule.getXQuery()); // isOk is supposed to be the first item returned in result list. assert !result.isEmpty(); boolean isOk = (Boolean) result.get(0); validationReport.addRuleReport(new XQueryValidationRuleReport(rule, isOk)); } catch (XQueryException e) { throw new UncheckedException(e); } } return validationReport; } }