Index: empty.xsl
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/word2web/empty.xsl,v
retrieving revision 1.2
diff -u -p -w -r1.2 empty.xsl
--- empty.xsl	7 Jul 2008 20:26:27 -0000	1.2
+++ empty.xsl	22 Apr 2009 22:32:54 -0000
@@ -13,12 +13,13 @@
 	encoding="UTF-8"
   indent="yes" />
 
-<xsl:strip-space elements="*"/>
+<xsl:strip-space elements="not(span)"/>
 
 <xsl:template match='/'>
-  <xsl:apply-templates match="*" />
+  <xsl:apply-templates select="*" />
 </xsl:template>
 
+<!-- This is a fairly broad match where we clean up as many elements as possible -->
 <xsl:template match="*">
   <xsl:if test="normalize-space(.)">
     <xsl:element name="{name()}">
@@ -28,6 +29,13 @@
   </xsl:if>
 </xsl:template>
 
+<!-- Overide the * match for spans so we don't destroy inline spacing -->
+<xsl:template match="span">
+  <xsl:if test="not(normalize-space(.))">
+    <xsl:value-of select="." />
+  </xsl:if>
+</xsl:template>
+
 <!--
 <xsl:template match="img" priority="-1">
     <xsl:element name="{name()}">
Index: w2html.xslt
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/word2web/w2html.xslt,v
retrieving revision 1.1
diff -u -p -w -r1.1 w2html.xslt
--- w2html.xslt	18 Jun 2008 20:15:00 -0000	1.1
+++ w2html.xslt	22 Apr 2009 22:32:54 -0000
@@ -13,16 +13,14 @@
   encoding="UTF-8"
   indent="yes" />
 
-<xsl:strip-space elements="*"/>
+<xsl:strip-space elements="not(span)"/>
 
 <xsl:template match="html" priority="2">
   <xsl:apply-templates select="./*"/>
