diff options
author | Abhishek Shrivastava <x.abhishek.flyhigh@gmail.com> | 2018-01-23 12:49:10 +0530 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2018-01-29 10:13:47 +0100 |
commit | e3e2f6911d6231c706ce8c77e5cd6733335d6342 (patch) | |
tree | 3781b5ccf12cc66c9377a98ad5975992fca26240 /xmloff/source/table | |
parent | bfc04bc43e378c5d028200da7a49be978ce8d6c4 (diff) |
tdf#106780 Fix for invalid attribute in impress ODF
This patch fixes the invalid ODF generated in impress.
In tables now the attribute is shown as table:name="default"
instead of "text:style-name".
For strict XML version we only set table:name="default"
For Extended/Compatibility XML we set both text:style-name
and table:name
Change-Id: I894fd31f5f0eed3f77b216b3114b5da53acf1f9f
Reviewed-on: https://gerrit.libreoffice.org/48373
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'xmloff/source/table')
-rw-r--r-- | xmloff/source/table/XMLTableExport.cxx | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx index f7bcdd81112c..f7529a77ea94 100644 --- a/xmloff/source/table/XMLTableExport.cxx +++ b/xmloff/source/table/XMLTableExport.cxx @@ -580,6 +580,8 @@ void XMLTableExport::exportTableTemplates() for( sal_Int32 nIndex = 0; nIndex < xTableFamily->getCount(); nIndex++ ) try { + SvtSaveOptions::ODFSaneDefaultVersion eVersion = mrExport.getSaneDefaultVersion(); + Reference< XStyle > xTableStyle( xTableFamily->getByIndex( nIndex ), UNO_QUERY_THROW ); if( !xTableStyle->isInUse() ) continue; @@ -606,7 +608,20 @@ void XMLTableExport::exportTableTemplates() } } else - mrExport.AddAttribute(XML_NAMESPACE_TEXT, XML_STYLE_NAME, GetExport().EncodeStyleName( xTableStyle->getName() ) ); + { + // Below condition checks if any of the extended version of + // XML are set + if ((eVersion & SvtSaveOptions::ODFSVER_EXTENDED) != 0) + { + mrExport.AddAttribute(XML_NAMESPACE_TEXT, XML_STYLE_NAME, GetExport().EncodeStyleName( xTableStyle->getName() ) ); + mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NAME, GetExport().EncodeStyleName( xTableStyle->getName() ) ); + } + else + { + mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_NAME, GetExport().EncodeStyleName( xTableStyle->getName() ) ); + } + + } SvXMLElementExport tableTemplate( mrExport, XML_NAMESPACE_TABLE, XML_TABLE_TEMPLATE, true, true ); @@ -631,7 +646,6 @@ void XMLTableExport::exportTableTemplates() pElements++; } - SvtSaveOptions::ODFSaneDefaultVersion eVersion = mrExport.getSaneDefaultVersion(); if (mbWriter && ((eVersion & SvtSaveOptions::ODFSVER_EXTENDED) != 0)) { pElements = getWriterSpecificTableStyleMap(); |