Java XML Encode toXMLEscapedTextExpandingWhitespace(String text)

Here you can find the source of toXMLEscapedTextExpandingWhitespace(String text)

Description

to XML Escaped Text Expanding Whitespace

License

Open Source License

Declaration

public static String toXMLEscapedTextExpandingWhitespace(String text) 

Method Source Code

//package com.java2s;
/*/* w w  w.j a  va  2 s .  c o  m*/
 *  Freeplane - mind map editor
 *  Copyright (C) 2008 Joerg Mueller, Daniel Polansky, Christian Foltin, Dimitry Polivaev
 *
 *  This file is modified by Dimitry Polivaev in 2008.
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    public static String toXMLEscapedTextExpandingWhitespace(String text) {
        text = text.replaceAll("\t", "         ");
        final int len = text.length();
        final StringBuilder result = new StringBuilder(len);
        char myChar;
        for (int i = 0; i < len; ++i) {
            myChar = text.charAt(i);
            switch (myChar) {
            case '&':
                result.append("&amp;");
                break;
            case '<':
                result.append("&lt;");
                break;
            case '>':
                result.append("&gt;");
                break;
            case '"':
                result.append("&quot;");
                break;
            case ' ':
                if (i > 0 && i < len - 1 && text.charAt(i - 1) > 32 && text.charAt(i + 1) > 32) {
                    result.append(' ');
                } else {
                    result.append("&nbsp;");
                }
                break;
            default:
                result.append(myChar);
            }
        }
        return result.toString();
    }
}

Related

  1. encodeXML(String text)
  2. textToXml(String text)
  3. textToXML(String text)
  4. toXMLCData(String cdata)
  5. toXMLCharData(String javaString)
  6. unwrapCdata(String s)
  7. unwrapCdata(String sText)
  8. unwrapCDATA(String str)
  9. xmlEncode(final String text)