/** * @param node * @param attrName * @return */ public static QName extractRequiredXmlAttributeQName(final Node node, final String attrName) { String attr = XMLUtil.getRequiredAttributeValue(node, attrName); QName qName = null; // qname like "xmlns:name" if ((attr.indexOf(':') > -1) && (attr.charAt(0) != '{')) { String ns = attr.substring(0, attr.indexOf(':')); String namespace = node.lookupNamespaceURI(ns); /* * String namespace = source.getDocumentElement().getAttribute( * "xmlns:" + ns); */ qName = new QName(namespace, attr.substring(attr.indexOf(':') + 1), ns); } else { // qname like "{ns}name" or "name" qName = QName.valueOf(attr); } return qName; }