diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-04-24 18:30:12 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2021-01-07 16:32:53 +0100 |
commit | 280b44ecf20ac34986cd4a2bea3c0af8fd9b94b7 (patch) | |
tree | e030661d1a49aacbfc92fc33dbf26e2f197e3efc /xmloff | |
parent | b3df9a15b10c916b4d126a4a61b41293756c0bfe (diff) |
xmloff: ODF export: adapt to ODF 1.3
* OFFICE-3883 legend svg:width/svg:height
* OFFICE-3928 chart:coordinate-region
* OFFICE-3943 draw:mime-type
* OFFICE-3765 number:fill-character, number:text
* OFFICE-3860 number:min-decimal-places, number:forced-exponent-sign
* OFFICE-1828 number:exponent-interval
* OFFICE-3695 number:max-denominator-value
* OFFICE-3941 text:index-entry-link-start/text:index-entry-link-end
* OFFICE-3776 meta:creator-initials
* OFFICE-3789 style:header-first/style:footer-first
Change-Id: I78c79231c0708c3ae9943097d162898fab71988f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92873
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/chart/SchXMLExport.cxx | 13 | ||||
-rw-r--r-- | xmloff/source/draw/sdxmlexp.cxx | 12 | ||||
-rw-r--r-- | xmloff/source/draw/shapeexport.cxx | 16 | ||||
-rw-r--r-- | xmloff/source/style/xmlnumfe.cxx | 14 | ||||
-rw-r--r-- | xmloff/source/text/XMLSectionExport.cxx | 5 | ||||
-rw-r--r-- | xmloff/source/text/XMLTextMasterPageExport.cxx | 20 | ||||
-rw-r--r-- | xmloff/source/text/txtflde.cxx | 16 | ||||
-rw-r--r-- | xmloff/source/text/txtparae.cxx | 16 |
8 files changed, 83 insertions, 29 deletions
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx index 0e1f5f97bf00..74839a07c360 100644 --- a/xmloff/source/chart/SchXMLExport.cxx +++ b/xmloff/source/chart/SchXMLExport.cxx @@ -1384,8 +1384,14 @@ void SchXMLExportHelper_Impl::parseDocument( Reference< chart::XChartDocument > { awt::Size aSize( xLegendShape->getSize() ); // tdf#131966: chart legend attributes width and height shouldn't be exported to ODF 1.2 (strict) - if (nCurrentODFVersion > SvtSaveOptions::ODFSVER_012) + if (nCurrentODFVersion >= SvtSaveOptions::ODFSVER_013) + { // ODF 1.3 OFFICE-3883 + addSize( aSize, false ); + } + else if (nCurrentODFVersion & SvtSaveOptions::ODFSVER_EXTENDED) + { addSize( aSize, true ); + } OUStringBuffer aAspectRatioString; ::sax::Converter::convertDouble( aAspectRatioString, @@ -2083,7 +2089,10 @@ void SchXMLExportHelper_Impl::exportCoordinateRegion( const uno::Reference< char addPosition( awt::Point(aRect.X,aRect.Y) ); addSize( awt::Size(aRect.Width,aRect.Height) ); - SvXMLElementExport aCoordinateRegion( mrExport, XML_NAMESPACE_CHART_EXT, XML_COORDINATE_REGION, true, true );//#i100778# todo: change to chart namespace in future - dependent on fileformat + // ODF 1.3 OFFICE-3928 + SvXMLElementExport aCoordinateRegion( mrExport, + (SvtSaveOptions::ODFSVER_013 <= nCurrentODFVersion) ? XML_NAMESPACE_CHART : XML_NAMESPACE_CHART_EXT, + XML_COORDINATE_REGION, true, true ); } namespace diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx index 4de4a36734c2..62925fe6fa5d 100644 --- a/xmloff/source/draw/sdxmlexp.cxx +++ b/xmloff/source/draw/sdxmlexp.cxx @@ -2551,9 +2551,15 @@ void SdXMLExport::exportAnnotations( const Reference<XDrawPage>& xDrawPage ) OUString aInitials( xAnnotation->getInitials() ); if( !aInitials.isEmpty() ) { - // TODO: see OFFICE-3776 export meta:creator-initials for ODF 1.3 - SvXMLElementExport aInitialsElem( *this, XML_NAMESPACE_LO_EXT, - XML_SENDER_INITIALS, true, false ); + // OFFICE-3776 export meta:creator-initials for ODF 1.3 + SvXMLElementExport aInitialsElem( *this, + (SvtSaveOptions::ODFSVER_013 <= getSaneDefaultVersion()) + ? XML_NAMESPACE_META + : XML_NAMESPACE_LO_EXT, + (SvtSaveOptions::ODFSVER_013 <= getSaneDefaultVersion()) + ? XML_CREATOR_INITIALS + : XML_SENDER_INITIALS, + true, false ); Characters(aInitials); } diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index 39e9b2bc5c26..6b995c4a5d76 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -2411,8 +2411,12 @@ void XMLShapeExport::ImpExportGraphicObjectShape( GetExport().GetGraphicMimeTypeFromStream(xGraphic, sOutMimeType); } if (!sOutMimeType.isEmpty()) - { - GetExport().AddAttribute(XML_NAMESPACE_LO_EXT, "mime-type", sOutMimeType); + { // ODF 1.3 OFFICE-3943 + GetExport().AddAttribute( + SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion() + ? XML_NAMESPACE_DRAW + : XML_NAMESPACE_LO_EXT, + "mime-type", sOutMimeType); } } @@ -2453,7 +2457,13 @@ void XMLShapeExport::ImpExportGraphicObjectShape( } if (!aMimeType.isEmpty() && GetExport().getSaneDefaultVersion() > SvtSaveOptions::ODFSVER_012) - mrExport.AddAttribute(XML_NAMESPACE_LO_EXT, "mime-type", aMimeType); + { // ODF 1.3 OFFICE-3943 + mrExport.AddAttribute( + SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion() + ? XML_NAMESPACE_DRAW + : XML_NAMESPACE_LO_EXT, + "mime-type", aMimeType); + } SvXMLElementExport aElement(mrExport, XML_NAMESPACE_DRAW, XML_IMAGE, true, true); diff --git a/xmloff/source/style/xmlnumfe.cxx b/xmloff/source/style/xmlnumfe.cxx index 01624950f50d..d9f624bb6d60 100644 --- a/xmloff/source/style/xmlnumfe.cxx +++ b/xmloff/source/style/xmlnumfe.cxx @@ -488,8 +488,8 @@ void SvXMLNumFmtExport::WriteRepeatedElement_Impl( sal_Unicode nChar ) SvtSaveOptions::ODFSaneDefaultVersion eVersion = rExport.getSaneDefaultVersion(); if (eVersion > SvtSaveOptions::ODFSVER_012) { - FinishTextElement_Impl(true); - // For 1.2+ use loext namespace, for 1.3 use number namespace. + FinishTextElement_Impl(eVersion < SvtSaveOptions::ODFSVER_013); + // OFFICE-3765 For 1.2+ use loext namespace, for 1.3 use number namespace. SvXMLElementExport aElem( rExport, ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_FILL_CHARACTER, true, false ); @@ -543,7 +543,7 @@ void SvXMLNumFmtExport::WriteNumberElement_Impl( SvtSaveOptions::ODFSaneDefaultVersion eVersion = rExport.getSaneDefaultVersion(); if (eVersion > SvtSaveOptions::ODFSVER_012) { - // For 1.2+ use loext namespace, for 1.3 use number namespace. + // OFFICE-3860 For 1.2+ use loext namespace, for 1.3 use number namespace. rExport.AddAttribute( ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_MIN_DECIMAL_PLACES, @@ -632,7 +632,7 @@ void SvXMLNumFmtExport::WriteScientificElement_Impl( // Export only for 1.2 with extensions or 1.3 and later. if (eVersion > SvtSaveOptions::ODFSVER_012) { - // For 1.2+ use loext namespace, for 1.3 use number namespace. + // OFFICE-3860 For 1.2+ use loext namespace, for 1.3 use number namespace. rExport.AddAttribute( ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_MIN_DECIMAL_PLACES, @@ -666,7 +666,7 @@ void SvXMLNumFmtExport::WriteScientificElement_Impl( // Export only for 1.2 with extensions or 1.3 and later. if (eVersion > SvtSaveOptions::ODFSVER_012) { - // For 1.2+ use loext namespace, for 1.3 use number namespace. + // OFFICE-1828 For 1.2+ use loext namespace, for 1.3 use number namespace. rExport.AddAttribute( ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_EXPONENT_INTERVAL, OUString::number( nExpInterval ) ); @@ -677,7 +677,7 @@ void SvXMLNumFmtExport::WriteScientificElement_Impl( // Export only for 1.2 with extensions or 1.3 and later. if (eVersion > SvtSaveOptions::ODFSVER_012) { - // For 1.2+ use loext namespace, for 1.3 use number namespace. + // OFFICE-3860 For 1.2+ use loext namespace, for 1.3 use number namespace. rExport.AddAttribute( ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_FORCED_EXPONENT_SIGN, @@ -775,7 +775,7 @@ void SvXMLNumFmtExport::WriteFractionElement_Impl( OUString::number( nMinDenominatorDigits ) ); if (eVersion > SvtSaveOptions::ODFSVER_012) { - // For 1.2+ use loext namespace, for 1.3 use number namespace. + // OFFICE-3695 For 1.2+ use loext namespace, for 1.3 use number namespace. rExport.AddAttribute( ((eVersion < SvtSaveOptions::ODFSVER_013) ? XML_NAMESPACE_LO_EXT : XML_NAMESPACE_NUMBER), XML_MAX_DENOMINATOR_VALUE, diff --git a/xmloff/source/text/XMLSectionExport.cxx b/xmloff/source/text/XMLSectionExport.cxx index 62dd37f37a9f..2b5e42f46056 100644 --- a/xmloff/source/text/XMLSectionExport.cxx +++ b/xmloff/source/text/XMLSectionExport.cxx @@ -1314,7 +1314,10 @@ void XMLSectionExport::ExportIndexTemplateElement( || eType == TEXT_SECTION_TYPE_OBJECT || eType == TEXT_SECTION_TYPE_TABLE || eType == TEXT_SECTION_TYPE_USER); - nNamespace = XML_NAMESPACE_LO_EXT; + // ODF 1.3 OFFICE-3941 + nNamespace = (SvtSaveOptions::ODFSVER_013 <= aODFVersion) + ? XML_NAMESPACE_TEXT + : XML_NAMESPACE_LO_EXT; } else { diff --git a/xmloff/source/text/XMLTextMasterPageExport.cxx b/xmloff/source/text/XMLTextMasterPageExport.cxx index f2adab2600fa..4e688bdcfbd4 100644 --- a/xmloff/source/text/XMLTextMasterPageExport.cxx +++ b/xmloff/source/text/XMLTextMasterPageExport.cxx @@ -124,6 +124,8 @@ void XMLTextMasterPageExport::exportMasterPageContent( } else { + auto const nVersion(GetExport().getSaneDefaultVersion()); + aAny = rPropSet->getPropertyValue( gsHeaderOn ); bool bHeader = false; aAny >>= bHeader; @@ -162,12 +164,17 @@ void XMLTextMasterPageExport::exportMasterPageContent( exportHeaderFooterContent( xHeaderTextLeft, false ); } - if( xHeaderTextFirst.is() && xHeaderTextFirst != xHeaderText ) + if (xHeaderTextFirst.is() && xHeaderTextFirst != xHeaderText + && SvtSaveOptions::ODFSVER_012 < nVersion) { if (bHeaderFirstShared) GetExport().AddAttribute( XML_NAMESPACE_STYLE, XML_DISPLAY, XML_FALSE ); - SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_LO_EXT, + // ODF 1.3 OFFICE-3789 + SvXMLElementExport aElem( GetExport(), + SvtSaveOptions::ODFSVER_013 <= nVersion + ? XML_NAMESPACE_STYLE + : XML_NAMESPACE_LO_EXT, XML_HEADER_FIRST, true, true ); exportHeaderFooterContent( xHeaderTextFirst, false ); } @@ -210,12 +217,17 @@ void XMLTextMasterPageExport::exportMasterPageContent( exportHeaderFooterContent( xFooterTextLeft, false ); } - if( xFooterTextFirst.is() && xFooterTextFirst != xFooterText ) + if (xFooterTextFirst.is() && xFooterTextFirst != xFooterText + && SvtSaveOptions::ODFSVER_012 < nVersion) { if (bFooterFirstShared) GetExport().AddAttribute( XML_NAMESPACE_STYLE, XML_DISPLAY, XML_FALSE ); - SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_LO_EXT, + // ODF 1.3 OFFICE-3789 + SvXMLElementExport aElem( GetExport(), + SvtSaveOptions::ODFSVER_013 <= nVersion + ? XML_NAMESPACE_STYLE + : XML_NAMESPACE_LO_EXT, XML_FOOTER_FIRST, true, true ); exportHeaderFooterContent( xFooterTextFirst, false ); } diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx index 37dd25a44b1a..a36cf98a54ec 100644 --- a/xmloff/source/text/txtflde.cxx +++ b/xmloff/source/text/txtflde.cxx @@ -1794,16 +1794,22 @@ void XMLTextFieldExport::ExportFieldHelper( GetExport().Characters(aBuffer.makeStringAndClear()); } - if (SvtSaveOptions().GetODFSaneDefaultVersion() > SvtSaveOptions::ODFSVER_012) + if (GetExport().getSaneDefaultVersion() > SvtSaveOptions::ODFSVER_012) { // initials OUString aInitials( GetStringProperty(gsPropertyInitials, rPropSet) ); if( !aInitials.isEmpty() ) { - // TODO: see OFFICE-3776 export meta:creator-initials for ODF 1.3 - SvXMLElementExport aCreatorElem( GetExport(), XML_NAMESPACE_LO_EXT, - XML_SENDER_INITIALS, true, - false ); + // ODF 1.3 OFFICE-3776 export meta:creator-initials for ODF 1.3 + SvXMLElementExport aCreatorElem( GetExport(), + (SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion()) + ? XML_NAMESPACE_META + : XML_NAMESPACE_LO_EXT, + + (SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion()) + ? XML_CREATOR_INITIALS + : XML_SENDER_INITIALS, + true, false ); GetExport().Characters(aInitials); } } diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx index 2c701d97ee38..87ae58d56e18 100644 --- a/xmloff/source/text/txtparae.cxx +++ b/xmloff/source/text/txtparae.cxx @@ -3154,8 +3154,12 @@ void XMLTextParagraphExport::_exportTextGraphic( GetExport().GetGraphicMimeTypeFromStream(xGraphic, sOutMimeType); } if (!sOutMimeType.isEmpty()) - { - GetExport().AddAttribute(XML_NAMESPACE_LO_EXT, "mime-type", sOutMimeType); + { // ODF 1.3 OFFICE-3943 + GetExport().AddAttribute( + SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion() + ? XML_NAMESPACE_DRAW + : XML_NAMESPACE_LO_EXT, + "mime-type", sOutMimeType); } } @@ -3202,8 +3206,12 @@ void XMLTextParagraphExport::_exportTextGraphic( GetExport().GetGraphicMimeTypeFromStream(xReplacementGraphic, sOutMimeType); } if (!sOutMimeType.isEmpty()) - { - GetExport().AddAttribute(XML_NAMESPACE_LO_EXT, "mime-type", sOutMimeType); + { // ODF 1.3 OFFICE-3943 + GetExport().AddAttribute( + SvtSaveOptions::ODFSVER_013 <= GetExport().getSaneDefaultVersion() + ? XML_NAMESPACE_DRAW + : XML_NAMESPACE_LO_EXT, + "mime-type", sOutMimeType); } } |