[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - xmloff/source

Abhishek Shrivastava x.abhishek.flyhigh at gmail.com
Mon Jan 29 10:17:29 UTC 2018


 xmloff/source/table/XMLTableExport.cxx |   18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

New commits:
commit 5563f111d5700bb03884cd469288b09281e37dd1
Author: Abhishek Shrivastava <x.abhishek.flyhigh at gmail.com>
Date:   Tue Jan 23 12:49:10 2018 +0530

    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 at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit e3e2f6911d6231c706ce8c77e5cd6733335d6342)
    Reviewed-on: https://gerrit.libreoffice.org/48812

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();


More information about the Libreoffice-commits mailing list