diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-04-24 13:02:17 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2020-05-08 21:29:29 +0200 |
commit | f1dbaac9e4b68941d845a5f0ab7b204e12de14de (patch) | |
tree | 201a3224ef03b938a96fc6be5a6272a9347dea89 /include/unotools | |
parent | d840c7e15402dc3a133b400b113e28c0c78702c5 (diff) |
xmloff: ODF export: rework version checks in SvXMLExportPropertyMapper
There's some issues with the version checks here:
* The requirement is to retain support for ODF 1.2 extended,
but some attributes are in ODF 1.3, while others require ODF 1.3
extended, so a single version number can't be used to compare
* A recurring problem is that new extension attributes are erroneously
exported to standard namespaces;
there is the pre-existing buggy case of style:hyperlink to consider...
* Currently it's possible to distinguish multiple extended version but
the only minimum version that's actually used is the minimum one
ODFSVER_012_EXT_COMPAT
Rework this to use a different check, by:
* distinguishing extension attributes from standard attributes via
their namespace, to avoid such bugs by construction
* interpreting the version number always as a standard ODF version number:
if the attribute is in extension namespace:
if the minimum standard version is met, ignore
else:
if the minimum standard version is met, export
* adapting all XMLPropertyMapEntry to use ODFSVER_FUTURE_EXTENDED for
extension attributes (TODO: check which of these should be ODFSVER_013)
This should have an effect on the drawext:fontwork* attributes, which
need ODFSVER_FUTURE_EXTENDED to be exported now.
Change-Id: I986c8064e578a61d69ed5fdb261f23e7582a7d75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92856
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Tested-by: Jenkins
Diffstat (limited to 'include/unotools')
-rw-r--r-- | include/unotools/saveopt.hxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/unotools/saveopt.hxx b/include/unotools/saveopt.hxx index 029ab6f0b1cb..2f0460e21fbc 100644 --- a/include/unotools/saveopt.hxx +++ b/include/unotools/saveopt.hxx @@ -79,6 +79,7 @@ public: ODFSVER_012_EXTENDED = 11, ///< ODF 1.2 extended ODFSVER_013 = 12, ///< ODF 1.3 ODFSVER_013_EXTENDED = 13, ///< ODF 1.3 extended + ODFSVER_FUTURE_EXTENDED = 1000 | ODFSVER_EXTENDED, ///< current extension, unknown future ODF version // The latest defined standard. Adapt when a new one is published. ODFSVER_LATEST = ODFSVER_012, ///< @internal DO NOT USE in comparisons |