This is an automated email from the ASF dual-hosted git repository.
damjan pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push:
new 0db4a4f44d Dates and times are loaded wrongly from SpreadsheetML
files, because the filter loads only the date or time portion of the
ss:DateTime based on the cell's style.
0db4a4f44d is described below
commit 0db4a4f44da1c0fb06154ba61c960a18427e751b
Author: Damjan Jovanovic <[email protected]>
AuthorDate: Fri Jan 13 18:27:50 2023 +0200
Dates and times are loaded wrongly from SpreadsheetML files, because the
filter
loads only the date or time portion of the ss:DateTime based on the cell's
style.
Rather always load the ss:DateTime as our ODF office:date-value in the
XMLSchema-2 dateTime format, with both its date and time part, and then
rely on
formatting to display only the date or time as desired.
Fixes: #82849 - SpreadsheetML ss:DateTime cell value is loaded as either
only
a date or a time
Patch by: Philip J. Turmel <[email protected]>
Reviewed by: me
---
.../xslt/import/spreadsheetml/spreadsheetml2ooo.xsl | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/main/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
b/main/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
index 6b1531709f..d09f67da24 100644
--- a/main/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
+++ b/main/filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
@@ -6866,20 +6866,10 @@
</xsl:attribute>
</xsl:when>
<xsl:when test="ss:Data/@ss:Type = 'DateTime'">
- <xsl:choose>
- <xsl:when test="(contains(
$data-format, 'Date') or contains($data-format,'y') or
contains($data-format,'g') or contains($data-format,'d') or
contains($data-format,'e') or starts-with( substring( ss:Data, 11),
'T00:00:00.000' ) ) and (not (contains( $data-format, 'Time') ) )">
- <xsl:attribute
name="office:value-type">date</xsl:attribute>
- <xsl:attribute
name="office:date-value">
- <xsl:value-of
select="substring-before(ss:Data, 'T')"/>
- </xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute
name="office:value-type">time</xsl:attribute>
- <xsl:attribute
name="office:time-value">
- <xsl:value-of
select="concat('P',substring(ss:Data, 11, 3), 'H', substring(ss:Data, 15, 2),
'M', substring(ss:Data, 18,2), 'S')"/>
- </xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute
name="office:value-type">date</xsl:attribute>
+ <xsl:attribute name="office:date-value">
+ <xsl:value-of
select="substring(ss:Data, 1, 19)"/>
+ </xsl:attribute>
</xsl:when>
<xsl:when test="ss:Data/@ss:Type = 'Boolean'">
<xsl:attribute
name="office:value-type">boolean</xsl:attribute>