public QName resolveQName(String qname, boolean defaultToParentNameSpace) {
int colon = qname.indexOf(':');
if (colon < 0) {
if (defaultToParentNameSpace) {
//get the parent ns and use it for the child
OMNamespace namespace = element.getNamespace();
return new QName(namespace.getName(), qname, namespace.getPrefix());
} else {
//else things without no prefix are local.
return new QName(qname);
}
}
String prefix = qname.substring(0, colon);
String local = qname.substring(colon + 1);
if (local.length() == 0) {
//empy local, exit accordingly
return null;
}
OMNamespace namespace = element.findNamespaceURI(prefix);
if (namespace == null) {
return null;
}
return new QName(namespace.getName(), local, prefix);
}