summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Antoni Buj Gelonch <robert.buj@gmail.com>2015-05-20 02:46:21 +0200
committerAndras Timar <andras.timar@collabora.com>2015-05-21 11:53:03 +0200
commit17e0a74a724673803ee64211430d15e19de9d453 (patch)
tree6f62017c313ec077e9f90cd47a98c2adab2bcb02
parent452cf5faed0391211f8383a177bfdbb86a810a7f (diff)
tdf#90999: Import spreadsheetML cells with inline formatting tags
Change-Id: I5a723d5ecc4a075be64ba9766e574d9a9df50eb1 Reviewed-on: https://gerrit.libreoffice.org/15821 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
-rw-r--r--filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl13
1 files changed, 6 insertions, 7 deletions
diff --git a/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl b/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
index a5875c2068b9..09d1270c8cee 100644
--- a/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
+++ b/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
@@ -479,7 +479,7 @@
<xsl:apply-templates select="/ss:Workbook/ss:Styles/ss:Style[not(@ss:Name)]"/>
<xsl:apply-templates select="/ss:Workbook/ss:Styles/ss:Style/ss:Font[@ss:VerticalAlign]"/>
<!-- applying to ss:Data (but *, as also ss:Data nested in ss:Comments -->
- <xsl:apply-templates select="/ss:Workbook/ss:Worksheet/ss:Table/ss:Row/ss:Cell/*[descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40']]"/>
+ <xsl:apply-templates select="/ss:Workbook/ss:Worksheet/ss:Table/ss:Row/ss:Cell/*[descendant-or-self::*]"/>
<xsl:apply-templates select="/ss:Workbook/ss:Worksheet/x:WorksheetOptions/x:PageSetup//@x:Data"/>
<!-- if ConditionalFormatting exists,transforing the styles -->
<xsl:if test="/ss:Workbook/ss:Worksheet/x:ConditionalFormatting">
@@ -6920,13 +6920,12 @@
</xsl:template>
<xsl:template name="create-data-content">
<xsl:param name="style-id" select="@ss:StyleID"/>
- <!-- collect every HTML 3.2 children, which are not empty -->
- <xsl:variable name="html-children" select="ss:Data/descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40'][string-length(text()) != 0]"/>
<xsl:choose>
- <xsl:when test="$html-children and $html-children != ''">
- <xsl:for-each select="$html-children">
+ <xsl:when test="ss:Data//text()[string-length(.) != 0]">
+ <xsl:for-each select="ss:Data//text()[string-length(.) != 0]">
+ <xsl:sort select="position( )" order="ascending" data-type="number"/>
<text:span text:style-name="{concat($style-id, 'T', count(preceding::ss:Data[child::html:*]), '_', position())}">
- <xsl:copy-of select="text()"/>
+ <xsl:value-of select="."/>
</text:span>
</xsl:for-each>
</xsl:when>
@@ -7170,7 +7169,7 @@
</xsl:if>
</xsl:template>
<xsl:template match="ss:Data">
- <xsl:for-each select="descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40'][string-length(text()) != 0]">
+ <xsl:for-each select=".//text()[string-length(.) != 0]">
<style:style style:name="{concat(ancestor::ss:Cell/@ss:StyleID,'T',count(preceding::ss:Data[child::html:*]), '_', position())}" style:family="text">
<xsl:element name="style:text-properties">
<xsl:if test="ancestor-or-self::html:Font/@html:Face">