private String domNodeDescription (Node node, int tablevel) {
		String domNodeDescription = null;

		String nodeName = node.getNodeName ();
		String nodeValue = node.getNodeValue ();
		if (!(nodeName.equals ("#text") && nodeValue.replaceAll ("\n", "").trim ().equals (""))) {
			domNodeDescription = tabs (tablevel) + node.getNodeName () + "\n";

			NamedNodeMap attributes = node.getAttributes ();
			if (attributes != null) {
				for (int i = 0; i < attributes.getLength (); i++) {
					Node attribute = attributes.item (i);
					domNodeDescription += tabs (tablevel) + "-" + attribute.getNodeName () + "=" + attribute.getNodeValue () + "\n";
				}
			}

			domNodeDescription += tabs (tablevel) + "=" + node.getNodeValue () + "\n";

			NodeList children = node.getChildNodes ();
			if (children != null) {
				for (int i = 0; i < children.getLength (); i++) {
					String childDescription = domNodeDescription (children.item (i), tablevel + 1);
					if (childDescription != null) {
						domNodeDescription += childDescription;
					}
				}
			}
		}

		return domNodeDescription;
	}