Index: archiver/pipelines/actions/archive-resource.xpl
===================================================================
--- archiver/pipelines/actions/archive-resource.xpl	(revision 3d18e9d8a4f2a0c75a8cd60f1ed648bc537505b7)
+++ archiver/pipelines/actions/archive-resource.xpl	(revision 01a66903f3394f212eac2a0f1351091524ba4f18)
@@ -133,4 +133,14 @@
           </p:processor>
 
+          <!-- It's a hack so that the document is not submitted as text through the xforms:submit processor... -->
+          <p:processor name="oxf:xslt">
+            <p:input name="config">
+              <document xsl:version="2.0">
+                <xsl:copy-of select="/"/>
+              </document>
+            </p:input>
+            <p:input name="data" href="#rewritten"/>
+            <p:output name="data" id="rewritten-embedded"/>
+          </p:processor>
 
           <!-- Store the rewritten document in the database -->
@@ -148,5 +158,5 @@
               </config>
             </p:input>
-            <p:input name="param" href="#rewritten"/>
+            <p:input name="param" href="#rewritten-embedded"/>
             <p:output name="data" id="response3"/>
           </p:processor>
Index: archiver/pipelines/actions/mediatypes/css.xpl
===================================================================
--- archiver/pipelines/actions/mediatypes/css.xpl	(revision cf97a984169415817cd187ad1c8fa318c305e6f2)
+++ archiver/pipelines/actions/mediatypes/css.xpl	(revision 01a66903f3394f212eac2a0f1351091524ba4f18)
@@ -24,4 +24,5 @@
           <xsl:value-of select="/*"/>
         </url>
+        <content-type>text/css</content-type>
         <mode>text</mode>
       </config>
@@ -98,17 +99,8 @@
       </xsl:stylesheet>
     </p:input>
-    <p:output name="data" id="rewritten-local" debug="rewritten"/>
+    <p:output name="data" ref="rewritten" debug="rewritten"/>
   </p:processor>
 
-  <!-- It's a hack so that the document is not submitted as text through the xforms:submit processor... -->
-  <p:processor name="oxf:xslt">
-    <p:input name="config">
-      <document xsl:version="2.0">
-        <xsl:copy-of select="/"/>
-      </document>
-    </p:input>
-    <p:input name="data" href="#rewritten-local"/>
-    <p:output name="data" ref="rewritten"/>
-  </p:processor>
+ 
 
 </p:config>
Index: archiver/pipelines/actions/mediatypes/html.xpl
===================================================================
--- archiver/pipelines/actions/mediatypes/html.xpl	(revision 16cc943d48369add42ebb92181dfeb6373694c2f)
+++ archiver/pipelines/actions/mediatypes/html.xpl	(revision 01a66903f3394f212eac2a0f1351091524ba4f18)
@@ -106,5 +106,17 @@
       </xsl:stylesheet>
     </p:input>
-    <p:output name="data" ref="rewritten" debug="rewritten"/>
+    <p:output name="data" id="html-rewritten" debug="rewritten"/>
+  </p:processor>
+
+  <p:processor name="oxf:xml-converter">
+    <p:input name="config">
+      <config>
+        <content-type>application/xml</content-type>
+        <encoding>utf-8</encoding>
+        <version>1.0</version>
+      </config>
+    </p:input>
+    <p:input name="data" href="#html-rewritten"/>
+    <p:output name="data" ref="rewritten"/>
   </p:processor>
 
Index: archiver/pipelines/actions/package-archive.xpl
===================================================================
--- archiver/pipelines/actions/package-archive.xpl	(revision 5ac9ea90bb5ad361af47f32af18403469554566d)
+++ archiver/pipelines/actions/package-archive.xpl	(revision 01a66903f3394f212eac2a0f1351091524ba4f18)
@@ -229,8 +229,30 @@
     <p:choose href="current()">
       <p:when test="/archive/@href-rewritten">
-        <p:processor name="oxf:identity">
-          <p:input name="data">
-            <none/>
+        <!-- Read the rewritten document -->
+        <p:processor name="oxf:pipeline">
+          <p:input name="config" href="/data-access.xpl"/>
+          <p:input name="data" transform="oxf:xslt" href="aggregate('root', #data, current())">
+            <config xsl:version="2.0">
+              <relpath>
+                <xsl:value-of select="/root/action/@directory"/>
+                <xsl:value-of select="/root/archive/@href-rewritten"/>
+              </relpath>
+              <operation>read</operation>
+              <type>document</type>
+            </config>
           </p:input>
+          <p:input name="param">
+            <empty/>
+          </p:input>
+          <p:output name="data" id="rewritten" debug="rewritten"/>
+        </p:processor>
+        <!-- Store this document -->
+        <p:processor name="oxf:file-serializer">
+          <p:input name="config">
+            <config>
+              <scope>request</scope>
+            </config>
+          </p:input>
+          <p:input name="data" href="#rewritten#xpointer(/document/document)"/>
           <p:output name="data" id="file" debug="file"/>
         </p:processor>
@@ -271,11 +293,21 @@
         </file>
         <xsl:for-each select="/root/files/file[url]">
-          <xsl:variable name="tokens" select="tokenize(archive/@url, '/')"/>
-          <xsl:variable name="last-token" select="$tokens[last()]"/>
-          <xsl:variable name="tokens2" select="tokenize($last-token, '\.')"/>
-          <xsl:variable name="extension" select="$tokens2[last()]"/>
-          <file name="rewritten/{saxon:string-to-hexBinary(substring(archive/@url, 1, string-length(archive/@url) - string-length($extension) - 1), 'utf-8')}.{$extension}">
-            <xsl:value-of select="url"/>
-          </file>
+          <xsl:choose>
+            <xsl:when test="position()=1">
+              <!-- TODO: support non HTML documents... -->
+              <file name="rewritten/index.html">
+                <xsl:value-of select="url"/>
+              </file>
+            </xsl:when>
+            <xsl:otherwise>
+              <xsl:variable name="tokens" select="tokenize(archive/@url, '/')"/>
+              <xsl:variable name="last-token" select="$tokens[last()]"/>
+              <xsl:variable name="tokens2" select="tokenize($last-token, '\.')"/>
+              <xsl:variable name="extension" select="$tokens2[last()]"/>
+              <file name="rewritten/{saxon:string-to-hexBinary(substring(archive/@url, 1, string-length(archive/@url) - string-length($extension) - 1), 'utf-8')}.{$extension}">
+                <xsl:value-of select="url"/>
+              </file>
+            </xsl:otherwise>
+          </xsl:choose>
         </xsl:for-each>
       </files>
