include/xmloff/XMLTextTableContext.hxx     |    7 
 sw/source/filter/xml/xmltbli.cxx           |  245 +++++++++++++----------------
 sw/source/filter/xml/xmltbli.hxx           |   10 -
 sw/source/filter/xml/xmltexti.cxx          |    5 
 xmloff/source/text/XMLTextTableContext.cxx |    6 
 5 files changed, 122 insertions(+), 151 deletions(-)

New commits:
commit 607935650fab97092c960df54830e20b4f6b93a7
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sun Nov 22 20:00:54 2020 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Mon Nov 23 07:21:40 2020 +0100

    fastparser in SwXMLTableContext
    
    Change-Id: I52ea773993a19384c5a7ad3eb95b518446ea5e96
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106360
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/include/xmloff/XMLTextTableContext.hxx 
b/include/xmloff/XMLTextTableContext.hxx
index f781ee102f43..032d3b7e792c 100644
--- a/include/xmloff/XMLTextTableContext.hxx
+++ b/include/xmloff/XMLTextTableContext.hxx
@@ -26,13 +26,8 @@
 
 class XMLOFF_DLLPUBLIC XMLTextTableContext : public SvXMLImportContext
 {
-
 public:
-
-
-    XMLTextTableContext( SvXMLImport& rImport,
-            sal_uInt16 nPrfx,
-            const OUString& rLName );
+    XMLTextTableContext( SvXMLImport& rImport );
     virtual ~XMLTextTableContext() override;
 };
 
diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx
index 560e568c5f8e..e3061074329d 100644
--- a/sw/source/filter/xml/xmltbli.cxx
+++ b/sw/source/filter/xml/xmltbli.cxx
@@ -413,8 +413,8 @@ class SwXMLTableCellContext_Impl : public SvXMLImportContext
 public:
 
     SwXMLTableCellContext_Impl(
-            SwXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLName,
-            const Reference< xml::sax::XAttributeList > & xAttrList,
+            SwXMLImport& rImport, sal_Int32 nElement,
+            const Reference< xml::sax::XFastAttributeList > & xAttrList,
             SwXMLTableContext *pTable );
 
     virtual SvXMLImportContextRef CreateChildContext(
@@ -428,10 +428,10 @@ public:
 }
 
 SwXMLTableCellContext_Impl::SwXMLTableCellContext_Impl(
-        SwXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLName,
-        const Reference< xml::sax::XAttributeList > & xAttrList,
+        SwXMLImport& rImport, sal_Int32 /*nElement*/,
+        const Reference< xml::sax::XFastAttributeList > & xAttrList,
         SwXMLTableContext *pTable ) :
-    SvXMLImportContext( rImport, nPrfx, rLName ),
+    SvXMLImportContext( rImport ),
     m_sFormula(),
     m_xMyTable( pTable ),
     m_fValue( 0.0 ),
@@ -446,115 +446,107 @@ SwXMLTableCellContext_Impl::SwXMLTableCellContext_Impl(
     m_bHasTableContent( false )
 {
     m_sSaveParaDefault = 
GetImport().GetTextImport()->GetCellParaStyleDefault();
-    sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
-    for( sal_Int16 i=0; i < nAttrCount; i++ )
+    for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
     {
-        const OUString& rAttrName = xAttrList->getNameByIndex( i );
-
-        OUString aLocalName;
-        const sal_uInt16 nPrefix =
-            GetImport().GetNamespaceMap().GetKeyByAttrName( rAttrName,
-                                                            &aLocalName );
-        const OUString& rValue = xAttrList->getValueByIndex( i );
-        const SvXMLTokenMap& rTokenMap =
-            GetSwImport().GetTableCellAttrTokenMap();
-        switch( rTokenMap.Get( nPrefix, aLocalName ) )
+        const OUString sValue = aIter.toString();
+        switch( aIter.getToken() )
         {
-        case XML_TOK_TABLE_STYLE_NAME:
-            m_aStyleName = rValue;
-            GetImport().GetTextImport()->SetCellParaStyleDefault(rValue);
+        case XML_ELEMENT(TABLE, XML_STYLE_NAME):
+            m_aStyleName = sValue;
+            GetImport().GetTextImport()->SetCellParaStyleDefault(sValue);
             break;
-        case XML_TOK_TABLE_NUM_COLS_SPANNED:
-            m_nColSpan = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
rValue.toInt32()));
+        case XML_ELEMENT(TABLE, XML_NUMBER_COLUMNS_SPANNED):
+            m_nColSpan = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
sValue.toInt32()));
             if (m_nColSpan > 256)
             {
                 SAL_INFO("sw.xml", "ignoring huge table:number-columns-spanned 
" << m_nColSpan);
                 m_nColSpan = 1;
             }
             break;
-        case XML_TOK_TABLE_NUM_ROWS_SPANNED:
-            m_nRowSpan = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
rValue.toInt32()));
+        case XML_ELEMENT(TABLE, XML_NUMBER_ROWS_SPANNED):
+            m_nRowSpan = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
sValue.toInt32()));
             if (m_nRowSpan > 8192 || (m_nRowSpan > 256 && 
utl::ConfigManager::IsFuzzing()))
             {
                 SAL_INFO("sw.xml", "ignoring huge table:number-rows-spanned " 
<< m_nRowSpan);
                 m_nRowSpan = 1;
             }
             break;
-        case XML_TOK_TABLE_NUM_COLS_REPEATED:
-            m_nColRepeat = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
rValue.toInt32()));
+        case XML_ELEMENT(TABLE, XML_NUMBER_COLUMNS_REPEATED):
+            m_nColRepeat = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
sValue.toInt32()));
             if (m_nColRepeat > 256)
             {
                 SAL_INFO("sw.xml", "ignoring huge 
table:number-columns-repeated " << m_nColRepeat);
                 m_nColRepeat = 1;
             }
             break;
-        case XML_TOK_TABLE_FORMULA:
+        case XML_ELEMENT(TABLE, XML_FORMULA):
             {
                 OUString sTmp;
                 const sal_uInt16 nPrefix2 = GetImport().GetNamespaceMap().
-                        GetKeyByAttrValueQName(rValue, &sTmp);
-                m_sFormula = XML_NAMESPACE_OOOW == nPrefix2 ? sTmp : rValue;
+                        GetKeyByAttrValueQName(sValue, &sTmp);
+                m_sFormula = XML_NAMESPACE_OOOW == nPrefix2 ? sTmp : sValue;
             }
             break;
-        case XML_TOK_TABLE_VALUE:
+        case XML_ELEMENT(OFFICE, XML_VALUE):
             {
                 double fTmp;
-                if (::sax::Converter::convertDouble(fTmp, rValue))
+                if (::sax::Converter::convertDouble(fTmp, sValue))
                 {
                     m_fValue = fTmp;
                     m_bHasValue = true;
                 }
             }
             break;
-        case XML_TOK_TABLE_TIME_VALUE:
+        case XML_ELEMENT(OFFICE, XML_TIME_VALUE):
             {
                 double fTmp;
-                if (::sax::Converter::convertDuration(fTmp, rValue))
+                if (::sax::Converter::convertDuration(fTmp, sValue))
                 {
                     m_fValue = fTmp;
                     m_bHasValue = true;
                 }
             }
             break;
-        case XML_TOK_TABLE_DATE_VALUE:
+        case XML_ELEMENT(OFFICE, XML_DATE_VALUE):
             {
                 double fTmp;
                 if (GetImport().GetMM100UnitConverter().convertDateTime(fTmp,
-                                                                      rValue))
+                                                                      sValue))
                 {
                     m_fValue = fTmp;
                     m_bHasValue = true;
                 }
             }
             break;
-        case XML_TOK_TABLE_BOOLEAN_VALUE:
+        case XML_ELEMENT(OFFICE, XML_BOOLEAN_VALUE):
             {
                 bool bTmp(false);
-                if (::sax::Converter::convertBool(bTmp, rValue))
+                if (::sax::Converter::convertBool(bTmp, sValue))
                 {
                     m_fValue = (bTmp ? 1.0 : 0.0);
                     m_bHasValue = true;
                 }
             }
             break;
-        case XML_TOK_TABLE_PROTECTED:
+        case XML_ELEMENT(TABLE, XML_PROTECT): // for backwards compatibility 
with SRC629 (and before)
+        case XML_ELEMENT(TABLE, XML_PROTECTED):
             {
                 bool bTmp(false);
-                if (::sax::Converter::convertBool(bTmp, rValue))
+                if (::sax::Converter::convertBool(bTmp, sValue))
                 {
                     m_bProtect = bTmp;
                 }
             }
             break;
-        case XML_TOK_TABLE_STRING_VALUE:
+        case XML_ELEMENT(OFFICE, XML_STRING_VALUE):
             {
-                m_StringValue = rValue;
+                m_StringValue = sValue;
                 m_bHasStringValue = true;
             }
             break;
-        case XML_TOK_TABLE_VALUE_TYPE:
+        case XML_ELEMENT(OFFICE, XML_VALUE_TYPE):
             {
-                if ("string" == rValue)
+                if ("string" == sValue)
                 {
                     m_bValueTypeIsString = true;
                 }
@@ -563,6 +555,8 @@ SwXMLTableCellContext_Impl::SwXMLTableCellContext_Impl(
                 // but we've been reading those without checking forever.
             }
             break;
+        default:
+            SAL_WARN("sw", "unknown attribute "  << 
SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << 
aIter.toString());
         }
     }
 }
@@ -627,8 +621,7 @@ SvXMLImportContextRef 
SwXMLTableCellContext_Impl::CreateChildContext(
         if( !HasContent() )
         {
             SwXMLTableContext *pTableContext =
-                new SwXMLTableContext( GetSwImport(), nPrefix, rLocalName,
-                                       GetTable() );
+                new SwXMLTableContext( GetSwImport(), GetTable() );
             pContext = pTableContext;
             if( GetTable()->IsValid() )
                 InsertContent( pTableContext );
@@ -861,13 +854,12 @@ class SwXMLTableRowContext_Impl : public 
SvXMLImportContext
 public:
 
     SwXMLTableRowContext_Impl(
-            SwXMLImport& rImport, sal_uInt16 nPrfx, const OUString& rLName,
-            const Reference< xml::sax::XAttributeList > & xAttrList,
+            SwXMLImport& rImport, sal_Int32 nElement,
+            const Reference< xml::sax::XFastAttributeList > & xAttrList,
             SwXMLTableContext *pTable, bool bInHead=false );
 
-    virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix,
-            const OUString& rLocalName,
-            const Reference< xml::sax::XAttributeList > & xAttrList ) override;
+    virtual css::uno::Reference<css::xml::sax::XFastContextHandler> SAL_CALL 
createFastChildContext( sal_Int32 nElement,
+            const Reference< xml::sax::XFastAttributeList > & xAttrList ) 
override;
 
     virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
 
@@ -877,52 +869,43 @@ public:
 }
 
 SwXMLTableRowContext_Impl::SwXMLTableRowContext_Impl( SwXMLImport& rImport,
-        sal_uInt16 nPrfx,
-        const OUString& rLName,
-        const Reference< xml::sax::XAttributeList > & xAttrList,
+        sal_Int32 /*nElement*/,
+        const Reference< xml::sax::XFastAttributeList > & xAttrList,
         SwXMLTableContext *pTable,
         bool bInHead ) :
-    SvXMLImportContext( rImport, nPrfx, rLName ),
+    SvXMLImportContext( rImport ),
     xMyTable( pTable ),
     nRowRepeat( 1 )
 {
     OUString aStyleName, aDfltCellStyleName;
     OUString sXmlId;
 
-    sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
-    for( sal_Int16 i=0; i < nAttrCount; i++ )
+    for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
     {
-        const OUString& rAttrName = xAttrList->getNameByIndex( i );
-
-        OUString aLocalName;
-        const sal_uInt16 nPrefix =
-            GetImport().GetNamespaceMap().GetKeyByAttrName( rAttrName,
-                                                            &aLocalName );
-        const OUString& rValue = xAttrList->getValueByIndex( i );
-        if( XML_NAMESPACE_TABLE == nPrefix )
+        const OUString sValue = aIter.toString();
+        switch(aIter.getToken())
         {
-            if( IsXMLToken( aLocalName, XML_STYLE_NAME ) )
-            {
-                aStyleName = rValue;
-            }
-            else if( IsXMLToken( aLocalName, XML_NUMBER_ROWS_REPEATED ) )
+            case XML_ELEMENT(TABLE, XML_STYLE_NAME):
+                aStyleName = sValue;
+                break;
+            case XML_ELEMENT(STYLE,  XML_NUMBER_ROWS_REPEATED):
             {
-                nRowRepeat = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
rValue.toInt32()));
+                nRowRepeat = static_cast<sal_uInt32>(std::max<sal_Int32>(1, 
sValue.toInt32()));
                 if (nRowRepeat > 8192 || (nRowRepeat > 256 && 
utl::ConfigManager::IsFuzzing()))
                 {
                     SAL_INFO("sw.xml", "ignoring huge 
table:number-rows-repeated " << nRowRepeat);
                     nRowRepeat = 1;
                 }
+                break;
             }
-            else if( IsXMLToken( aLocalName, XML_DEFAULT_CELL_STYLE_NAME ) )
-            {
-                aDfltCellStyleName = rValue;
-            }
-        }
-        else if ( (XML_NAMESPACE_XML == nPrefix) &&
-                 IsXMLToken( aLocalName, XML_ID ) )
-        {
-            sXmlId = rValue;
+            case XML_ELEMENT(STYLE, XML_DEFAULT_CELL_STYLE_NAME):
+                aDfltCellStyleName = sValue;
+                break;
+            case XML_ELEMENT(XML, XML_ID):
+                sXmlId = sValue;
+                break;
+            default:
+                SAL_WARN("sw", "unknown attribute " << 
SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << sValue);
         }
     }
     if( GetTable()->IsValid() )
@@ -940,27 +923,25 @@ void SwXMLTableRowContext_Impl::endFastElement(sal_Int32 )
     }
 }
 
-SvXMLImportContextRef SwXMLTableRowContext_Impl::CreateChildContext(
-        sal_uInt16 nPrefix, const OUString& rLocalName,
-        const Reference< xml::sax::XAttributeList > & xAttrList )
+css::uno::Reference<css::xml::sax::XFastContextHandler> 
SwXMLTableRowContext_Impl::createFastChildContext(
+        sal_Int32 nElement,
+        const Reference< xml::sax::XFastAttributeList > & xAttrList )
 {
     SvXMLImportContext *pContext = nullptr;
 
-    if( XML_NAMESPACE_TABLE == nPrefix || XML_NAMESPACE_LO_EXT == nPrefix )
+    if( nElement == XML_ELEMENT(TABLE, XML_TABLE_CELL) ||
+        nElement == XML_ELEMENT(LO_EXT, XML_TABLE_CELL) )
     {
-        if( IsXMLToken( rLocalName, XML_TABLE_CELL ) )
-        {
-            if( !GetTable()->IsValid() || GetTable()->IsInsertCellPossible() )
-                pContext = new SwXMLTableCellContext_Impl( GetSwImport(),
-                                                           nPrefix,
-                                                           rLocalName,
+        if( !GetTable()->IsValid() || GetTable()->IsInsertCellPossible() )
+            pContext = new SwXMLTableCellContext_Impl( GetSwImport(), nElement,
                                                            xAttrList,
                                                            GetTable() );
-        }
-        else if( IsXMLToken( rLocalName, XML_COVERED_TABLE_CELL ) )
-            pContext = new SvXMLImportContext( GetImport(), nPrefix,
-                                               rLocalName );
     }
+    else if( nElement == XML_ELEMENT(TABLE, XML_COVERED_TABLE_CELL) ||
+             nElement == XML_ELEMENT(LO_EXT, XML_COVERED_TABLE_CELL) )
+        pContext = new SvXMLImportContext( GetImport() );
+    else
+        SAL_WARN("sw", "unknown element " << 
SvXMLImport::getPrefixAndNameFromToken(nElement));
 
     return pContext;
 }
@@ -977,14 +958,13 @@ class SwXMLTableRowsContext_Impl : public 
SvXMLImportContext
 
 public:
 
-    SwXMLTableRowsContext_Impl( SwXMLImport& rImport, sal_uInt16 nPrfx,
-            const OUString& rLName,
+    SwXMLTableRowsContext_Impl( SwXMLImport& rImport,
             SwXMLTableContext *pTable,
             bool bHead );
 
-    virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix,
-            const OUString& rLocalName,
-            const Reference< xml::sax::XAttributeList > & xAttrList ) override;
+    virtual css::uno::Reference<css::xml::sax::XFastContextHandler> SAL_CALL 
createFastChildContext(
+            sal_Int32 nElement,
+            const Reference< xml::sax::XFastAttributeList > & xAttrList ) 
override;
 
     SwXMLImport& GetSwImport() { return 
static_cast<SwXMLImport&>(GetImport()); }
 };
@@ -992,32 +972,26 @@ public:
 }
 
 SwXMLTableRowsContext_Impl::SwXMLTableRowsContext_Impl( SwXMLImport& rImport,
-        sal_uInt16 nPrfx,
-        const OUString& rLName,
         SwXMLTableContext *pTable,
         bool bHead ) :
-    SvXMLImportContext( rImport, nPrfx, rLName ),
+    SvXMLImportContext( rImport ),
     xMyTable( pTable ),
     bHeader( bHead )
 {
 }
 
-SvXMLImportContextRef SwXMLTableRowsContext_Impl::CreateChildContext(
-        sal_uInt16 nPrefix,
-        const OUString& rLocalName,
-        const Reference< xml::sax::XAttributeList > & xAttrList )
+css::uno::Reference<css::xml::sax::XFastContextHandler> 
SwXMLTableRowsContext_Impl::createFastChildContext(
+    sal_Int32 nElement,
+    const Reference< xml::sax::XFastAttributeList > & xAttrList )
 {
-    SvXMLImportContext *pContext = nullptr;
-
-    if( XML_NAMESPACE_TABLE == nPrefix &&
-        IsXMLToken( rLocalName, XML_TABLE_ROW ) &&
+    if( nElement== XML_ELEMENT(TABLE, XML_TABLE_ROW ) &&
         GetTable()->IsInsertRowPossible() )
-        pContext = new SwXMLTableRowContext_Impl( GetSwImport(), nPrefix,
-                                                  rLocalName, xAttrList,
+        return new SwXMLTableRowContext_Impl( GetSwImport(), nElement,
+                                                  xAttrList,
                                                   GetTable(),
                                                   bHeader );
-
-    return pContext;
+    SAL_WARN("sw", "unknown element " << 
SvXMLImport::getPrefixAndNameFromToken(nElement));
+    return nullptr;
 }
 
 class SwXMLDDETableContext_Impl : public SvXMLImportContext
@@ -1223,10 +1197,8 @@ SwXMLTableCell_Impl *SwXMLTableContext::GetCell( 
sal_uInt32 nRow,
 
 
 SwXMLTableContext::SwXMLTableContext( SwXMLImport& rImport,
-        sal_uInt16 nPrfx,
-        const OUString& rLName,
         const Reference< xml::sax::XAttributeList > & xAttrList ) :
-    XMLTextTableContext( rImport, nPrfx, rLName ),
+    XMLTextTableContext( rImport ),
     m_pRows( new SwXMLTableRows_Impl ),
     m_pTableNode( nullptr ),
     m_pBox1( nullptr ),
@@ -1362,10 +1334,8 @@ SwXMLTableContext::SwXMLTableContext( SwXMLImport& 
rImport,
 }
 
 SwXMLTableContext::SwXMLTableContext( SwXMLImport& rImport,
-        sal_uInt16 nPrfx,
-        const OUString& rLName,
         SwXMLTableContext *pTable ) :
-    XMLTextTableContext( rImport, nPrfx, rLName ),
+    XMLTextTableContext( rImport ),
     m_pRows( new SwXMLTableRows_Impl ),
     m_pTableNode( pTable->m_pTableNode ),
     m_pBox1( nullptr ),
@@ -1396,6 +1366,28 @@ SwXMLTableContext::~SwXMLTableContext()
     GetImport().GetTextImport()->RedlineAdjustStartNodeCursor();
 }
 
+css::uno::Reference<css::xml::sax::XFastContextHandler> 
SwXMLTableContext::createFastChildContext(
+    sal_Int32 nElement,
+    const Reference< xml::sax::XFastAttributeList > & xAttrList )
+{
+    bool bHeader = false;
+    switch (nElement)
+    {
+    case XML_ELEMENT(TABLE, XML_TABLE_ROW):
+    case XML_ELEMENT(LO_EXT, XML_TABLE_ROW):
+        if( IsInsertRowPossible() )
+            return new SwXMLTableRowContext_Impl( GetSwImport(), nElement, 
xAttrList, this );
+        break;
+    case XML_ELEMENT(TABLE, XML_TABLE_HEADER_ROWS):
+        bHeader = true;
+        [[fallthrough]];
+    case XML_ELEMENT(TABLE, XML_TABLE_ROWS):
+        return new SwXMLTableRowsContext_Impl( GetSwImport(), this, bHeader );
+        break;
+    }
+    return nullptr;
+}
+
 SvXMLImportContextRef SwXMLTableContext::CreateChildContext( sal_uInt16 
nPrefix,
         const OUString& rLocalName,
         const Reference< xml::sax::XAttributeList > & xAttrList )
@@ -1403,7 +1395,6 @@ SvXMLImportContextRef 
SwXMLTableContext::CreateChildContext( sal_uInt16 nPrefix,
     SvXMLImportContext *pContext = nullptr;
 
     const SvXMLTokenMap& rTokenMap = GetSwImport().GetTableElemTokenMap();
-    bool bHeader = false;
     switch( rTokenMap.Get( nPrefix, rLocalName ) )
     {
     case XML_TOK_TABLE_HEADER_COLS:
@@ -1419,20 +1410,6 @@ SvXMLImportContextRef 
SwXMLTableContext::CreateChildContext( sal_uInt16 nPrefix,
                                                       rLocalName, xAttrList,
                                                       this );
         break;
-    case XML_TOK_TABLE_HEADER_ROWS:
-        bHeader = true;
-        [[fallthrough]];
-    case XML_TOK_TABLE_ROWS:
-        pContext = new SwXMLTableRowsContext_Impl( GetSwImport(), nPrefix,
-                                                   rLocalName,
-                                                   this, bHeader );
-        break;
-    case XML_TOK_TABLE_ROW:
-        if( IsInsertRowPossible() )
-            pContext = new SwXMLTableRowContext_Impl( GetSwImport(), nPrefix,
-                                                      rLocalName, xAttrList,
-                                                      this );
-        break;
     case XML_TOK_OFFICE_DDE_SOURCE:
         // save context for later processing (discard old context, if approp.)
         if( IsValid() )
diff --git a/sw/source/filter/xml/xmltbli.hxx b/sw/source/filter/xml/xmltbli.hxx
index 9dfaf06f1d74..31ca7e1ebb3a 100644
--- a/sw/source/filter/xml/xmltbli.hxx
+++ b/sw/source/filter/xml/xmltbli.hxx
@@ -136,15 +136,17 @@ class SwXMLTableContext : public XMLTextTableContext
 public:
 
 
-    SwXMLTableContext( SwXMLImport& rImport, sal_uInt16 nPrfx,
-                       const OUString& rLName,
+    SwXMLTableContext( SwXMLImport& rImport,
                        const css::uno::Reference< 
css::xml::sax::XAttributeList > & xAttrList );
-    SwXMLTableContext( SwXMLImport& rImport, sal_uInt16 nPrfx,
-                       const OUString& rLName,
+    SwXMLTableContext( SwXMLImport& rImport,
                        SwXMLTableContext *pTable );
 
     virtual ~SwXMLTableContext() override;
 
+    virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL 
createFastChildContext(
+        sal_Int32 Element,
+        const css::uno::Reference< css::xml::sax::XFastAttributeList > & 
xAttrList ) override;
+
     virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix,
                 const OUString& rLocalName,
                 const css::uno::Reference< css::xml::sax::XAttributeList > & 
xAttrList ) override;
diff --git a/sw/source/filter/xml/xmltexti.cxx 
b/sw/source/filter/xml/xmltexti.cxx
index cf0c7e6a85ba..13efb045f7b6 100644
--- a/sw/source/filter/xml/xmltexti.cxx
+++ b/sw/source/filter/xml/xmltexti.cxx
@@ -179,11 +179,10 @@ SwXMLTextImportHelper::~SwXMLTextImportHelper()
 
 SvXMLImportContext *SwXMLTextImportHelper::CreateTableChildContext(
                 SvXMLImport& rImport,
-                sal_uInt16 nPrefix, const OUString& rLocalName,
+                sal_uInt16 /*nPrefix*/, const OUString& /*rLocalName*/,
                 const uno::Reference< XAttributeList > & xAttrList )
 {
-    return new SwXMLTableContext(
-                static_cast<SwXMLImport&>(rImport), nPrefix, rLocalName, 
xAttrList );
+    return new SwXMLTableContext( static_cast<SwXMLImport&>(rImport), 
xAttrList );
 }
 
 bool SwXMLTextImportHelper::IsInHeaderFooter() const
diff --git a/xmloff/source/text/XMLTextTableContext.cxx 
b/xmloff/source/text/XMLTextTableContext.cxx
index 1b1dabe21d93..2a56c0e60bc3 100644
--- a/xmloff/source/text/XMLTextTableContext.cxx
+++ b/xmloff/source/text/XMLTextTableContext.cxx
@@ -23,10 +23,8 @@
 using namespace ::com::sun::star::uno;
 
 
-XMLTextTableContext::XMLTextTableContext(
-        SvXMLImport& rImport,
-        sal_uInt16 nPrfx, const OUString& rLName ) :
-    SvXMLImportContext( rImport, nPrfx, rLName )
+XMLTextTableContext::XMLTextTableContext( SvXMLImport& rImport ) :
+    SvXMLImportContext( rImport )
 {
 }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to