Example usage for com.liferay.portal.kernel.xml SAXReaderUtil createNamespace

List of usage examples for com.liferay.portal.kernel.xml SAXReaderUtil createNamespace

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml SAXReaderUtil createNamespace.

Prototype

public static Namespace createNamespace(String uri) 

Source Link

Usage

From source file:com.liferay.portlet.PortletQNameImpl.java

License:Open Source License

public QName getQName(Element qNameEl, Element nameEl, String defaultNamespace) {

    if ((qNameEl == null) && (nameEl == null)) {
        _log.error("both qname and name elements are null");

        return null;
    }/* www .j  a  v  a  2 s  .c  om*/

    if (qNameEl == null) {
        return SAXReaderUtil.createQName(nameEl.getTextTrim(), SAXReaderUtil.createNamespace(defaultNamespace));
    }

    String localPart = qNameEl.getTextTrim();

    int pos = localPart.indexOf(CharPool.COLON);

    if (pos == -1) {
        if (_log.isDebugEnabled()) {
            _log.debug("qname " + localPart + " does not have a prefix");
        }

        return SAXReaderUtil.createQName(localPart);
    }

    String prefix = localPart.substring(0, pos);

    Namespace namespace = qNameEl.getNamespaceForPrefix(prefix);

    if (namespace == null) {
        if (_log.isWarnEnabled()) {
            _log.warn("qname " + localPart + " does not have a valid namespace");
        }

        return null;
    }

    localPart = localPart.substring(prefix.length() + 1);

    return SAXReaderUtil.createQName(localPart, namespace);
}