Java XML QName resolveQName(String qNameWithPrefix, Element element)

Here you can find the source of resolveQName(String qNameWithPrefix, Element element)

Description

resolve Q Name

License

Open Source License

Declaration

public static QName resolveQName(String qNameWithPrefix, Element element) 

Method Source Code

//package com.java2s;
/**//w  ww .j  a v  a 2 s. co m
 * This file belongs to the BPELUnit utility and Eclipse plugin set. See enclosed
 * license file for more information.
 */

import javax.xml.namespace.QName;

import org.w3c.dom.Element;

public class Main {
    public static QName resolveQName(String qNameWithPrefix, Element element) {
        String nsPrefix;
        String localName;
        if (qNameWithPrefix.contains(":")) {
            String[] parts = qNameWithPrefix.split(":");
            nsPrefix = parts[0];
            localName = parts[1];
        } else {
            nsPrefix = "";
            localName = qNameWithPrefix;
        }

        return new QName(resolveNamespacePrefix(nsPrefix, element), localName);
    }

    public static String resolveNamespacePrefix(String prefix, Element element) {
        String namespace = null;

        if ("".equals(prefix)) {
            namespace = element.getAttribute("xmlns");
        } else {
            namespace = element.getAttribute("xmlns:" + prefix);
        }
        if (namespace != null && !"".equals(namespace)) {
            return namespace;
        }

        if (element.getParentNode() instanceof Element) {
            return resolveNamespacePrefix(prefix, (Element) element.getParentNode());
        } else {
            throw new RuntimeException("Cannot resolve prefix " + prefix);
        }
    }
}

Related

  1. printPath(List path)
  2. read(Node node, String expression, QName returnType)
  3. readTextElement(XMLEventReader reader, QName elemName)
  4. resolveNamespace(String qname, Node xml)
  5. resolveQName(final Element el, final String qualifiedName)
  6. search(List list, Element baseElement, QName nodeName, boolean recursive)
  7. serializeJavaToXml(QName qname, Serializable value)
  8. serializeQName(QName qName)
  9. setValue(java.util.Map map, String name, String newValue)