try {
XRI xri = new XRI(qxri);
if (xri.isRelative()) {
XRD err = createErrorXRD(qxri, Status.INVALID_QXRI,
"QXRI is not absolute.");
throw new PartialResolutionException(err);
}
return xri;
} catch (XRIParseException e) {
XRD err = createErrorXRD(qxri, Status.INVALID_QXRI,
"QXRI parse error: " + e.getMessage());
throw new PartialResolutionException(err);
} catch (Exception e) {
XRD err = createErrorXRD(qxri, Status.PERM_FAIL,
"Unexpected error while parsing input: " + e.getMessage());
throw new PartialResolutionException(err);
}
}