/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;
import java.net.URLEncoder;

public class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{
		final String[] INPUT = new String[] {
"<TEST>",
"    <NODE1>",
"         <VALUE>         Test</VALUE>",
"    </NODE1>",
"    <NODE1>",
"        <VALUE>         Test</VALUE>",
"    </NODE1>",
"</TEST>"
	};

		for (String str: INPUT) {
			System.out.println("NEW: " + htmlspecialchars(str));
		}
	}

	private static String htmlspecialchars(String str) {
		return str
			.replaceAll("&", "&quot;")
			.replaceAll("<", "&lt;")
			.replaceAll(">", "&gt;")
			.replaceAll("(?<=^\\s*)\t", "    ")
			.replaceAll("(?<=^\\s*)    ", "&#09;")
			.replaceAll("(?<=^(?:&#09;)*) ", "&nbsp;");
	}
}