src/main/java/org/jivesoftware/smack/util/StringUtils.java
private static String xmlAttribEncodeBinary(String value) {
        StringBuilder s = new StringBuilder();
        char buf[] = value.toCharArray();
        for (char c : buf) {
            switch (c) {
            case '<':
                s.append("&lt;");
                break;
            case '>':
                s.append("&gt;");
                break;
            case '&':
                s.append("&amp;");
                break;
            case '"':
                s.append("&quot;");
                break;
            case '\'':
                s.append("&apos;");
                break;
            default:
                if (c <= 0x1f || (0x7f <= c && c <= 0x9f)) { // includes \t, \n,
                                                             // \r
                    s.append("&#x");
                    s.append(String.format("%X", (int) c));
                    s.append(';');
                } else {
                    s.append(c);
                }
            }
        }
        return s.toString();
    }
private static String xmlAttribEncodeBinary(String value) {
        StringBuilder s = new StringBuilder();
        char buf[] = value.toCharArray();
        for (char c : buf) {
            switch (c) {
            case '<':
                s.append("&lt;");
                break;
            case '>':
                s.append("&gt;");
                break;
            case '&':
                s.append("&amp;");
                break;
            case '"':
                s.append("&quot;");
                break;
            case '\'':
                s.append("&apos;");
                break;
            default:
                if (c <= 0x1f || (0x7f <= c && c <= 0x9f)) { // includes \t, \n,
                                                             // \r
                    s.append("&#x");
                    s.append(String.format("%X", (int) c));
                    s.append(';');
                } else {
                    s.append(c);
                }
            }
        }
        return s.toString();
    }
private static String xmlAttribEncodeBinary ( String value ) { StringBuilder s = new StringBuilder ( ) ; char buf [ ] = value . toCharArray ( ) ; for ( char c : buf ) { switch ( c ) { case ' ' : s . append ( "&lt;" ) ; break ; case ' ' : s . append ( "&gt;" ) ; break ; case ' ' : s . append ( "&amp;" ) ; break ; case ' ' : s . append ( "&quot;" ) ; break ; case ' ' : s . append ( "&apos;" ) ; break ; default : if ( c <= 0x1f || ( 0x7f <= c && c <= 0x9f ) ) { // includes \t, \n, // \r s . append ( "&#x" ) ; s . append ( String . format ( "%X" , ( int ) c ) ) ; s . append ( ' ' ) ; } else { s . append ( c ) ; } } } return s . toString ( ) ; }
Encodes a string for use in an XML attribute by escaping characters with
a special meaning. In particular, white spaces are encoded as character
references, such that they are not replaced by ' ' on parsing.
Encodes a string for use in an XML attribute by escaping characters with a special meaning . In particular white spaces are encoded as character references such that they are not replaced by on parsing .