Index: src/main/java/org/apache/jackrabbit/webdav/WebdavResponseImpl.java
===================================================================
--- src/main/java/org/apache/jackrabbit/webdav/WebdavResponseImpl.java	(revision 611136)
+++ src/main/java/org/apache/jackrabbit/webdav/WebdavResponseImpl.java	(working copy)
@@ -27,8 +27,6 @@
 import org.apache.jackrabbit.webdav.xml.DomUtil;
 import org.apache.jackrabbit.webdav.header.CodedUrlHeader;
 import org.apache.jackrabbit.webdav.header.Header;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
@@ -37,6 +35,12 @@
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -151,12 +155,14 @@
             try {
                 Document doc = DomUtil.BUILDER_FACTORY.newDocumentBuilder().newDocument();
                 doc.appendChild(serializable.toXml(doc));
-                
-                OutputFormat format = new OutputFormat("xml", "UTF-8", false);
-                XMLSerializer serializer = new XMLSerializer(out, format);
-                serializer.setNamespaces(true);
-                serializer.asDOMSerializer().serialize(doc);
 
+                TransformerFactory factory = TransformerFactory.newInstance();
+                Transformer transformer = factory.newTransformer();
+                transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+                transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+                transformer.setOutputProperty(OutputKeys.INDENT, "no");
+                transformer.transform(new DOMSource(doc), new StreamResult(out));
+
                 byte[] bytes = out.toByteArray();
                 httpResponse.setContentType("text/xml; charset=UTF-8");
                 httpResponse.setContentLength(bytes.length);
@@ -165,6 +171,12 @@
             } catch (ParserConfigurationException e) {
                 log.error(e.getMessage());
                 throw new IOException(e.getMessage());
+            } catch (TransformerException e) {
+                log.error("XML serialization failed", e);
+                IOException exception =
+                    new IOException("XML serialization failed");
+                exception.initCause(e);
+                throw exception;
             }
         }
     }
Index: src/main/java/org/apache/jackrabbit/webdav/client/methods/XmlRequestEntity.java
===================================================================
--- src/main/java/org/apache/jackrabbit/webdav/client/methods/XmlRequestEntity.java	(revision 611136)
+++ src/main/java/org/apache/jackrabbit/webdav/client/methods/XmlRequestEntity.java	(working copy)
@@ -20,14 +20,19 @@
 import org.slf4j.LoggerFactory;
 import org.apache.commons.httpclient.methods.RequestEntity;
 import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.XMLSerializer;
 import org.w3c.dom.Document;
 
 import java.io.OutputStream;
 import java.io.IOException;
 import java.io.ByteArrayOutputStream;
 
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
 /**
  * <code>XmlRequestEntity</code>...
  */
@@ -40,10 +45,23 @@
     public XmlRequestEntity(Document xmlDocument) throws IOException {
         super();
         ByteArrayOutputStream out = new ByteArrayOutputStream();
-        OutputFormat format = new OutputFormat("xml", "UTF-8", false);
-        XMLSerializer serializer = new XMLSerializer(out, format);
-        serializer.setNamespaces(true);
-        serializer.asDOMSerializer().serialize(xmlDocument);
+
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer();
+            transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+            transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
+            transformer.setOutputProperty(OutputKeys.INDENT, "no");
+            transformer.transform(
+                    new DOMSource(xmlDocument), new StreamResult(out));
+        } catch (TransformerException e) {
+            log.error("XML serialization failed", e);
+            IOException exception =
+                new IOException("XML serialization failed");
+            exception.initCause(e);
+            throw exception;
+        }
+
         delegatee = new StringRequestEntity(out.toString(), "text/xml", "UTF-8");
     }
 
Index: pom.xml
===================================================================
--- pom.xml	(revision 611136)
+++ pom.xml	(working copy)
@@ -70,10 +70,6 @@
       <artifactId>commons-collections</artifactId>
     </dependency>
     <dependency>
-      <groupId>xerces</groupId>
-      <artifactId>xercesImpl</artifactId>
-    </dependency>
-    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <scope>provided</scope>
