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

New commits:
commit e3e2f6911d6231c706ce8c77e5cd6733335d6342
Author: Abhishek Shrivastava <x.abhishek.flyh...@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 <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>

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();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to