String local = s.substring(i + 1);
//first match the prefix back to a uri, since the prefix might not match the one
// used by the catalog
String namespaceURI = namespaceContext.getNamespaceURI(prefix);
NamespaceInfo nsInfo = null;
if (namespaceURI != null) {
nsInfo = data.getNamespaceByURI(namespaceURI);
}
else {
//fall back to just looking up by prefix
nsInfo = data.getNamespaceByPrefix(prefix);
}
if (nsInfo != null) {
return new QName(nsInfo.getURI(), local, nsInfo.getPrefix());
}
return new QName(namespaceURI, local, prefix);
}