diff options
author | Robert Antoni Buj Gelonch <robert.buj@gmail.com> | 2015-05-20 02:46:21 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2015-05-21 07:19:45 +0000 |
commit | 0cd2895e70eb96083ea78b1350583fe791b4237a (patch) | |
tree | 57ee18d114a1b93f3066f490e5620904d66d6649 | |
parent | ebdba869de1de51b4cc7ca24c1a6a639d44de1bf (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.xsl | 13 |
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 fa09a05bbe8b..f48a7a5dea90 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"> |