changed default value for global parameter xmlIndentTreeOutput to 1 and

* global.data globals.c tree.c include/libxml/globals.h                         win32/libxml2.def.src win32/dsp/libxml2.def.src: changed                        default value for global parameter xmlIndentTreeOutput to 1 and                 introduced new global parameter xmlTreeIndentString (the string                 used to do one-level indent) with default value "  " (as it was                 in tree.c)
diff --git a/global.data b/global.data
index f7d5d00..43d2fb5 100644
--- a/global.data
+++ b/global.data
@@ -8,6 +8,7 @@
 void *,xmlGenericErrorContext
 int,xmlGetWarningsDefaultValue
 int,xmlIndentTreeOutput
+const char *,xmlTreeIndentString
 int,xmlKeepBlanksDefaultValue
 int,xmlLineNumbersDefaultValue
 int,xmlLoadExtDtdDefaultValue
diff --git a/globals.c b/globals.c
index cce70fb..ac99093 100644
--- a/globals.c
+++ b/globals.c
@@ -106,6 +106,7 @@
 #undef	xmlGenericErrorContext
 #undef	xmlGetWarningsDefaultValue
 #undef	xmlIndentTreeOutput
+#undef  xmlTreeIndentString
 #undef	xmlKeepBlanksDefaultValue
 #undef	xmlLineNumbersDefaultValue
 #undef	xmlLoadExtDtdDefaultValue
@@ -247,9 +248,17 @@
  * xmlIndentTreeOutput:
  *
  * Global setting, asking the serializer to indent the output tree by default
- * Disabled by default
+ * Enabled by default
  */
-int xmlIndentTreeOutput = 0;
+int xmlIndentTreeOutput = 1;
+
+/**
+ * xmlTreeIndentString:
+ *
+ * The string used to do one-level indent. By default is equal to "  " (two spaces)
+ */
+const char *xmlTreeIndentString = "  ";
+
 /**
  * xmlSaveNoEmptyTags:
  *
@@ -431,7 +440,8 @@
 #endif
     gs->xmlGenericErrorContext = NULL;
     gs->xmlGetWarningsDefaultValue = 1;
-    gs->xmlIndentTreeOutput = 0;
+    gs->xmlIndentTreeOutput = 1;
+    gs->xmlTreeIndentString = "  ";
     gs->xmlKeepBlanksDefaultValue = 1;
     gs->xmlLineNumbersDefaultValue = 0;
     gs->xmlLoadExtDtdDefaultValue = 0;
@@ -561,6 +571,15 @@
 	return (&xmlGetGlobalState()->xmlIndentTreeOutput);
 }
 
+#undef xmlTreeIndentString
+const char * *
+__xmlTreeIndentString(void) {
+    if (IS_MAIN_THREAD)
+	return (&xmlTreeIndentString);
+    else
+	return (&xmlGetGlobalState()->xmlTreeIndentString);
+}
+
 #undef	xmlKeepBlanksDefaultValue
 int *
 __xmlKeepBlanksDefaultValue(void) {
diff --git a/include/libxml/globals.h b/include/libxml/globals.h
index c6ac0a3..fc6c01e 100644
--- a/include/libxml/globals.h
+++ b/include/libxml/globals.h
@@ -40,6 +40,7 @@
 #undef	xmlGenericErrorContext
 #undef	xmlGetWarningsDefaultValue
 #undef	xmlIndentTreeOutput
+#undef  xmlTreeIndentString
 #undef	xmlKeepBlanksDefaultValue
 #undef	xmlLineNumbersDefaultValue
 #undef	xmlLoadExtDtdDefaultValue
@@ -87,6 +88,7 @@
 
 	int xmlSaveNoEmptyTags;
 	int xmlIndentTreeOutput;
+	const char *xmlTreeIndentString;
 };
 
 #ifdef __cplusplus
@@ -255,6 +257,14 @@
 LIBXML_DLL_IMPORT extern int xmlIndentTreeOutput;
 #endif
 
+extern const char * *__xmlTreeIndentString(void);
+#ifdef LIBXML_THREAD_ENABLED
+#define xmlTreeIndentString \
+(*(__xmlTreeIndentString()))
+#else
+LIBXML_DLL_IMPORT extern const char * xmlTreeIndentString;
+#endif
+
 extern int *__xmlKeepBlanksDefaultValue(void);
 #ifdef LIBXML_THREAD_ENABLED
 #define xmlKeepBlanksDefaultValue \
diff --git a/tree.c b/tree.c
index 2974256..eee620b 100644
--- a/tree.c
+++ b/tree.c
@@ -6012,7 +6012,7 @@
 	if ((format) && (xmlIndentTreeOutput) &&
 	    (cur->type == XML_ELEMENT_NODE))
 	    for (i = 0;i < level;i++)
-		xmlBufferWriteChar(buf, "  ");
+		xmlBufferWriteChar(buf, xmlTreeIndentString);
         xmlNodeDump(buf, doc, cur, level, format);
 	if (format) {
 	    xmlBufferWriteChar(buf, "\n");
@@ -6167,7 +6167,7 @@
 		        (level >= 0?level+1:-1), format);
 	if ((xmlIndentTreeOutput) && (format))
 	    for (i = 0;i < level;i++)
-		xmlBufferWriteChar(buf, "  ");
+		xmlBufferWriteChar(buf, xmlTreeIndentString);
     }
     xmlBufferWriteChar(buf, "</");
     if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
@@ -6399,7 +6399,7 @@
 	if ((format) && (xmlIndentTreeOutput) &&
 	    (cur->type == XML_ELEMENT_NODE))
 	    for (i = 0;i < level;i++)
-		xmlOutputBufferWriteString(buf, "  ");
+		xmlOutputBufferWriteString(buf, xmlTreeIndentString);
         xmlNodeDumpOutput(buf, doc, cur, level, format, encoding);
 	if (format) {
 	    xmlOutputBufferWriteString(buf, "\n");
@@ -6563,7 +6563,7 @@
 		        (level >= 0?level+1:-1), format, encoding);
 	if ((xmlIndentTreeOutput) && (format))
 	    for (i = 0;i < level;i++)
-		xmlOutputBufferWriteString(buf, "  ");
+		xmlOutputBufferWriteString(buf, xmlTreeIndentString);
     }
     xmlOutputBufferWriteString(buf, "</");
     if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
diff --git a/win32/dsp/libxml2.def.src b/win32/dsp/libxml2.def.src
index 09d91db..b0fdff1 100644
--- a/win32/dsp/libxml2.def.src
+++ b/win32/dsp/libxml2.def.src
@@ -240,6 +240,7 @@
 	__xmlGenericErrorContext
 	__xmlGetWarningsDefaultValue
 	__xmlIndentTreeOutput
+	__xmlTreeIndentString
 	__xmlKeepBlanksDefaultValue
 	__xmlLineNumbersDefaultValue
 	__xmlLoadExtDtdDefaultValue
@@ -265,6 +266,7 @@
 	xmlGenericErrorContext DATA
 	xmlGetWarningsDefaultValue DATA
 	xmlIndentTreeOutput DATA
+	xmlTreeIndentString DATA
 	xmlKeepBlanksDefaultValue DATA
 	xmlLineNumbersDefaultValue DATA
 	xmlLoadExtDtdDefaultValue DATA
diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src
index 007444b..f0cb31a 100644
--- a/win32/libxml2.def.src
+++ b/win32/libxml2.def.src
@@ -240,6 +240,7 @@
 	__xmlGenericErrorContext
 	__xmlGetWarningsDefaultValue
 	__xmlIndentTreeOutput
+	__xmlTreeIndentString
 	__xmlKeepBlanksDefaultValue
 	__xmlLineNumbersDefaultValue
 	__xmlLoadExtDtdDefaultValue
@@ -265,6 +266,7 @@
 	xmlGenericErrorContext DATA
 	xmlGetWarningsDefaultValue DATA
 	xmlIndentTreeOutput DATA
+	xmlTreeIndentString DATA
 	xmlKeepBlanksDefaultValue DATA
 	xmlLineNumbersDefaultValue DATA
 	xmlLoadExtDtdDefaultValue DATA