Resolves: tdf#147141 style:header-first/footer-first only ODF 1.3|1.2-extended
For ODF 1.2-extended write with loext namespace, for ODF 1.2 and
earlier do not write them at all.
LO versions <7.2.5 not having the fix for tdf#144940 need ODF 1.2
written (without header-first and footer-first) to not lose the
header/footer.
Change-Id: Id856459eac487ddd8ba0c6963db5d4e227d82093
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142127
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
diff --git a/sc/source/filter/xml/XMLTableMasterPageExport.cxx b/sc/source/filter/xml/XMLTableMasterPageExport.cxx
index 59b2937..61899e6 100644
--- a/sc/source/filter/xml/XMLTableMasterPageExport.cxx
+++ b/sc/source/filter/xml/XMLTableMasterPageExport.cxx
@@ -68,6 +68,17 @@ void XMLTableMasterPageExport::exportHeaderFooter(const css::uno::Reference < cs
if( !xHeaderFooter.is() )
return;
sal_uInt16 nNameSpace = XML_NAMESPACE_STYLE;
if (aName == XML_HEADER_FIRST || aName == XML_FOOTER_FIRST)
{
// Since ODF 1.3 OFFICE-3789 or 1.2-extended.
auto const nVersion(GetExport().getSaneDefaultVersion());
if (nVersion <= SvtSaveOptions::ODFSVER_012)
return;
if (nVersion < SvtSaveOptions::ODFSVER_013)
nNameSpace = XML_NAMESPACE_LO_EXT;
}
Reference < XText > xCenter(xHeaderFooter->getCenterText());
Reference < XText > xLeft(xHeaderFooter->getLeftText());
Reference < XText > xRight(xHeaderFooter->getRightText());
@@ -81,7 +92,7 @@ void XMLTableMasterPageExport::exportHeaderFooter(const css::uno::Reference < cs
if( !bDisplay )
GetExport().AddAttribute( XML_NAMESPACE_STYLE,
XML_DISPLAY, XML_FALSE );
SvXMLElementExport aElem( GetExport(), XML_NAMESPACE_STYLE,
SvXMLElementExport aElem( GetExport(), nNameSpace,
aName, true, true );
if (!sCenter.isEmpty() && sLeft.isEmpty() && sRight.isEmpty())
exportHeaderFooterContent( xCenter, false, false );