Index: tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java
===================================================================
--- tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java	(revision 1428581)
+++ tika-core/src/main/java/org/apache/tika/sax/TextContentHandler.java	(working copy)
@@ -16,6 +16,7 @@
  */
 package org.apache.tika.sax;
 
+import org.xml.sax.Attributes;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -29,10 +30,18 @@
  */
 public class TextContentHandler extends DefaultHandler {
 
+    private static final char[] SPACE = new char[] {' '};
+
     private final ContentHandler delegate;
+    private final boolean addSpaceBetweenElements;
 
     public TextContentHandler(ContentHandler delegate) {
+        this(delegate, false);
+    }
+
+    public TextContentHandler(ContentHandler delegate, boolean addSpaceBetweenElements) {
         this.delegate = delegate;
+        this.addSpaceBetweenElements = addSpaceBetweenElements;
     }
 
     @Override
@@ -48,6 +57,14 @@
     }
 
     @Override
+    public void startElement(String uri, String localName, String qName, Attributes attributes)
+             throws SAXException {
+        if (addSpaceBetweenElements) {
+            delegate.characters(SPACE, 0, SPACE.length);
+        }
+    }
+
+    @Override
     public void startDocument() throws SAXException {
         delegate.startDocument();
     }
Index: tika-parsers/src/test/resources/test-documents/testXML2.xml
===================================================================
--- tika-parsers/src/test/resources/test-documents/testXML2.xml	(revision 0)
+++ tika-parsers/src/test/resources/test-documents/testXML2.xml	(working copy)
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8" ?><searchml xmlns="http://www.foobar.com"><document type="Microsoft Word 2003/2004"><doc_properties><doc_property type="title">Title test</doc_property><doc_property type="subject">Subject test</doc_property></doc_properties></document></searchml>

Property changes on: tika-parsers/src/test/resources/test-documents/testXML2.xml
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Index: tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java
===================================================================
--- tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java	(revision 1428581)
+++ tika-parsers/src/test/java/org/apache/tika/parser/xml/DcXMLParserTest.java	(working copy)
@@ -20,13 +20,14 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tika.TikaTest;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.sax.BodyContentHandler;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.helpers.DefaultHandler;
 
-public class DcXMLParserTest extends TestCase {
+public class DcXMLParserTest extends TikaTest {
 
     public void testXMLParserAsciiChars() throws Exception {
         InputStream input = DcXMLParserTest.class.getResourceAsStream(
@@ -92,4 +93,9 @@
         }
     }
 
+    // TIKA-1048
+    public void testNoSpaces() throws Exception {
+      String text = getXML("testXML2.xml").xml;
+      assertFalse(text.contains("testSubject"));
+    }
 }
Index: tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
===================================================================
--- tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java	(revision 1428581)
+++ tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java	(working copy)
@@ -53,11 +53,13 @@
         String data = "<p>test <span>content</span></p>";
         InputStream stream = new ByteArrayInputStream(data.getBytes("UTF-8"));
         Reader reader = new ParsingReader(stream, "test.xml");
+        assertEquals(' ', (char) reader.read());
         assertEquals('t', (char) reader.read());
         assertEquals('e', (char) reader.read());
         assertEquals('s', (char) reader.read());
         assertEquals('t', (char) reader.read());
         assertEquals(' ', (char) reader.read());
+        assertEquals(' ', (char) reader.read());
         assertEquals('c', (char) reader.read());
         assertEquals('o', (char) reader.read());
         assertEquals('n', (char) reader.read());
Index: CHANGES.txt
===================================================================
--- CHANGES.txt	(revision 1428581)
+++ CHANGES.txt	(working copy)
@@ -60,6 +60,9 @@
     archive, because it failed to create the parent directories first
     (TIKA-1031).
 
+  * XML: a space character is now added before each element
+    (TIKA-1048)
+
 Release 1.2 - 07/10/2012
 ---------------------------------
 
