[Libreoffice-commits] core.git: sw/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Sun Nov 22 19:07:39 UTC 2020


 sw/source/filter/xml/xmlimp.cxx |   67 ++--------------------------------------
 sw/source/filter/xml/xmlimp.hxx |    2 -
 2 files changed, 5 insertions(+), 64 deletions(-)

New commits:
commit 91d4a87a2c617fd4612e116e3d87b34558213e45
Author:     Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sun Nov 22 19:28:23 2020 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Nov 22 20:07:01 2020 +0100

    fastparser in SwXMLDocContext_Impl
    
    Change-Id: I21fa16d473660e06b73a75964f3317b13e2e05e2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106359
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 0a7934c8b303..bb39dc917cc6 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -92,37 +92,6 @@ using namespace ::std;
 
 namespace {
 
-enum SwXMLDocTokens
-{
-    XML_TOK_DOC_FONTDECLS,
-    XML_TOK_DOC_STYLES,
-    XML_TOK_DOC_AUTOSTYLES,
-    XML_TOK_DOC_MASTERSTYLES,
-    XML_TOK_DOC_META,
-    XML_TOK_DOC_BODY,
-    XML_TOK_DOC_SCRIPT,
-    XML_TOK_DOC_SETTINGS,
-    XML_TOK_DOC_XFORMS,
-};
-
-}
-
-const SvXMLTokenMapEntry aDocTokenMap[] =
-{
-    { XML_NAMESPACE_OFFICE, XML_FONT_FACE_DECLS,     XML_TOK_DOC_FONTDECLS  },
-    { XML_NAMESPACE_OFFICE, XML_STYLES,         XML_TOK_DOC_STYLES      },
-    { XML_NAMESPACE_OFFICE, XML_AUTOMATIC_STYLES, XML_TOK_DOC_AUTOSTYLES    },
-    { XML_NAMESPACE_OFFICE, XML_MASTER_STYLES,   XML_TOK_DOC_MASTERSTYLES   },
-    { XML_NAMESPACE_OFFICE, XML_META,           XML_TOK_DOC_META        },
-    { XML_NAMESPACE_OFFICE, XML_BODY,           XML_TOK_DOC_BODY        },
-    { XML_NAMESPACE_OFFICE, XML_SCRIPTS,        XML_TOK_DOC_SCRIPT      },
-    { XML_NAMESPACE_OFFICE, XML_SETTINGS,       XML_TOK_DOC_SETTINGS    },
-    { XML_NAMESPACE_XFORMS, XML_MODEL,          XML_TOK_DOC_XFORMS      },
-    XML_TOKEN_MAP_END
-};
-
-namespace {
-
 class SwXMLBodyContext_Impl : public SvXMLImportContext
 {
     SwXMLImport& GetSwImport() { return static_cast<SwXMLImport&>(GetImport()); }
@@ -188,10 +157,6 @@ protected: // #i69629#
 public:
     SwXMLDocContext_Impl( SwXMLImport& rImport );
 
-    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 css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
 };
@@ -238,28 +203,15 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SwXMLDocContext_Impl::c
             GetSwImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
             return new SwXMLBodyContext_Impl( GetSwImport() );
             break;
+        case XML_ELEMENT(XFORMS, XML_MODEL):
+            return createXFormsModelContext(GetImport());
+            break;
+        default:
+            XMLOFF_WARN_UNKNOWN_ELEMENT("sw", nElement);
     }
     return nullptr;
 }
 
-SvXMLImportContextRef SwXMLDocContext_Impl::CreateChildContext(
-        sal_uInt16 nPrefix,
-        const OUString& rLocalName,
-        const Reference< xml::sax::XAttributeList > & /*xAttrList*/ )
-{
-    SvXMLImportContext *pContext = nullptr;
-
-    const SvXMLTokenMap& rTokenMap = GetSwImport().GetDocElemTokenMap();
-    switch( rTokenMap.Get( nPrefix, rLocalName ) )
-    {
-    case XML_TOK_DOC_XFORMS:
-        pContext = createXFormsModelContext(GetImport());
-        break;
-    }
-
-    return pContext;
-}
-
 namespace {
 
 // #i69629# - new subclass <SwXMLOfficeDocContext_Impl> of class <SwXMLDocContext_Impl>
@@ -338,14 +290,6 @@ void SwXMLDocStylesContext_Impl::endFastElement(sal_Int32 )
             bool(rSwImport.GetStyleFamilyMask() & SfxStyleFamily::Para));
 }
 
-const SvXMLTokenMap& SwXMLImport::GetDocElemTokenMap()
-{
-    if( !m_pDocElemTokenMap )
-        m_pDocElemTokenMap.reset( new SvXMLTokenMap( aDocTokenMap ) );
-
-    return *m_pDocElemTokenMap;
-}
-
 SvXMLImportContext *SwXMLImport::CreateFastContext( sal_Int32 nElement,
         const uno::Reference< xml::sax::XFastAttributeList >& /*xAttrList*/ )
 {
@@ -398,7 +342,6 @@ SwXMLImport::~SwXMLImport() throw ()
         SAL_WARN("sw", "endDocument skipped, dropping shapes now to avoid dangling SvTextShapeImportHelper pointing to this");
         ClearShapeImport();
     }
-    m_pDocElemTokenMap.reset();
     m_pTableElemTokenMap.reset();
     m_pTableCellAttrTokenMap.reset();
     FinitItemImport();
diff --git a/sw/source/filter/xml/xmlimp.hxx b/sw/source/filter/xml/xmlimp.hxx
index 3be18e1b5bfd..63313c2c155e 100644
--- a/sw/source/filter/xml/xmlimp.hxx
+++ b/sw/source/filter/xml/xmlimp.hxx
@@ -63,7 +63,6 @@ class SwXMLImport: public SvXMLImport
 
     std::unique_ptr<SvXMLUnitConverter> m_pTwipUnitConv;
     std::unique_ptr<SvXMLImportItemMapper> m_pTableItemMapper;// paragraph item import
-    std::unique_ptr<SvXMLTokenMap> m_pDocElemTokenMap;
     std::unique_ptr<SvXMLTokenMap> m_pTableElemTokenMap;
     std::unique_ptr<SvXMLTokenMap> m_pTableCellAttrTokenMap;
 
@@ -150,7 +149,6 @@ public:
                 const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList,
                 XmlStyleFamily nSubFamily, SfxItemSet& rItemSet );
 
-    const SvXMLTokenMap& GetDocElemTokenMap();
     const SvXMLTokenMap& GetTableElemTokenMap();
     const SvXMLTokenMap& GetTableCellAttrTokenMap();
 


More information about the Libreoffice-commits mailing list