if (parts[0].length() != 0 && !checker.isValidNCName(parts[0])) {
XPathException err = new XPathException("Malformed prefix in QName: '" + parts[0] + '\'');
err.setErrorCode("FORG0001");
throw err;
}
return new QNameValue(parts[0], uri, parts[1], BuiltInAtomicType.QNAME, checker);
} catch (QNameException e) {
dynamicError(e.getMessage(), "FOCA0002", context);
return null;
} catch (XPathException err) {
err.maybeSetLocation(this);