final IFocus<AtomicValue> qnameItor = qnameSeq.iterator();
if(!qnameItor.hasNext()) {
qnameItor.closeQuietly();
reportError("err:XPTY0004", "Conversion of the atomized name expression to an expanded QName was not successful.");
}
final AtomicValue it = qnameItor.next();
if(qnameItor.hasNext()) {
qnameItor.closeQuietly();
reportError("err:XPTY0004", "Conversion of the atomized name expression to an expanded QName was not successful.");
}
qnameItor.closeQuietly();
final QualifiedName namev;
final Type t = it.getType();
if(TypeUtil.subtypeOf(t, QNameType.QNAME)) {
final QNameValue qname = ((AtomicValue) it).castAs(QNameType.QNAME, dynEnv);
namev = qname.getValue();
} else if(TypeUtil.subtypeOf(t, StringType.STRING) || t == UntypedAtomicType.UNTYPED_ATOMIC) {
final StaticContext sc = dynEnv.getStaticContext();
try {
final CharSequence namecs = it.stringValue();
final String namestr = (namecs == null) ? null : namecs.toString();
namev = QNameUtil.parse(namestr, sc.getStaticalyKnownNamespaces(), sc.getDefaultElementNamespace());
} catch (Exception e) {
throw new DynamicError("err:XQDY0074", e);
}