RTEditor/src/main/java/com/onegravity/rteditor/converter/tagsoup/HTMLWriter.java
private String doPrefix(String uri, String qName, boolean isElement) {
        String defaultNS = nsSupport.getURI("");
        if ("".equals(uri)) {
            if (isElement && defaultNS != null)
                nsSupport.declarePrefix("", "");
            return null;
        }
        String prefix;
        if (isElement && defaultNS != null && uri.equals(defaultNS)) {
            prefix = "";
        } else {
            prefix = nsSupport.getPrefix(uri);
        }
        if (prefix != null) {
            return prefix;
        }
        prefix = (String) doneDeclTable.get(uri);
        if (prefix != null
                && ((!isElement || defaultNS != null) && "".equals(prefix) || nsSupport
                .getURI(prefix) != null)) {
            prefix = null;
        }
        if (prefix == null) {
            prefix = (String) prefixTable.get(uri);
            if (prefix != null
                    && ((!isElement || defaultNS != null) && "".equals(prefix) || nsSupport
                    .getURI(prefix) != null)) {
                prefix = null;
            }
        }
        if (prefix == null && qName != null && !"".equals(qName)) {
            int i = qName.indexOf(':');
            if (i == -1) {
                if (isElement && defaultNS == null) {
                    prefix = "";
                }
            } else {
                prefix = qName.substring(0, i);
            }
        }
        for (; prefix == null || nsSupport.getURI(prefix) != null; prefix = "__NS"
                + ++prefixCounter)
            ;
        nsSupport.declarePrefix(prefix, uri);
        doneDeclTable.put(uri, prefix);
        return prefix;
    }
private String doPrefix(String uri, String qName, boolean isElement) {
        String defaultNS = nsSupport.getURI("");
        if ("".equals(uri)) {
            if (isElement && defaultNS != null)
                nsSupport.declarePrefix("", "");
            return null;
        }
        String prefix;
        if (isElement && defaultNS != null && uri.equals(defaultNS)) {
            prefix = "";
        } else {
            prefix = nsSupport.getPrefix(uri);
        }
        if (prefix != null) {
            return prefix;
        }
        prefix = (String) doneDeclTable.get(uri);
        if (prefix != null
                && ((!isElement || defaultNS != null) && "".equals(prefix) || nsSupport
                .getURI(prefix) != null)) {
            prefix = null;
        }
        if (prefix == null) {
            prefix = (String) prefixTable.get(uri);
            if (prefix != null
                    && ((!isElement || defaultNS != null) && "".equals(prefix) || nsSupport
                    .getURI(prefix) != null)) {
                prefix = null;
            }
        }
        if (prefix == null && qName != null && !"".equals(qName)) {
            int i = qName.indexOf(':');
            if (i == -1) {
                if (isElement && defaultNS == null) {
                    prefix = "";
                }
            } else {
                prefix = qName.substring(0, i);
            }
        }
        for (; prefix == null || nsSupport.getURI(prefix) != null; prefix = "__NS"
                + ++prefixCounter)
            ;
        nsSupport.declarePrefix(prefix, uri);
        doneDeclTable.put(uri, prefix);
        return prefix;
    }
private String doPrefix ( String uri , String qName , boolean isElement ) { String defaultNS = nsSupport . getURI ( "" ) ; if ( "" . equals ( uri ) ) { if ( isElement && defaultNS != null ) nsSupport . declarePrefix ( "" , "" ) ; return null ; } String prefix ; if ( isElement && defaultNS != null && uri . equals ( defaultNS ) ) { prefix = "" ; } else { prefix = nsSupport . getPrefix ( uri ) ; } if ( prefix != null ) { return prefix ; } prefix = ( String ) doneDeclTable . get ( uri ) ; if ( prefix != null && ( ( ! isElement || defaultNS != null ) && "" . equals ( prefix ) || nsSupport . getURI ( prefix ) != null ) ) { prefix = null ; } if ( prefix == null ) { prefix = ( String ) prefixTable . get ( uri ) ; if ( prefix != null && ( ( ! isElement || defaultNS != null ) && "" . equals ( prefix ) || nsSupport . getURI ( prefix ) != null ) ) { prefix = null ; } } if ( prefix == null && qName != null && ! "" . equals ( qName ) ) { int i = qName . indexOf ( ' ' ) ; if ( i == - 1 ) { if ( isElement && defaultNS == null ) { prefix = "" ; } } else { prefix = qName . substring ( 0 , i ) ; } } for ( ; prefix == null || nsSupport . getURI ( prefix ) != null ; prefix = "__NS" + ++ prefixCounter ) ; nsSupport . declarePrefix ( prefix , uri ) ; doneDeclTable . put ( uri , prefix ) ; return prefix ; }
Determine the prefix for an element or attribute name.
<p>

@param uri       The Namespace URI.
@param qName     The qualified name (optional); this will be used to indicate
the preferred prefix if none is currently bound.
@param isElement true if this is an element name, false if it is an attribute
name (which cannot use the default Namespace).
Determine the prefix for an element or attribute name . <p >