summaryrefslogtreecommitdiff
path: root/sw/source/filter/xml/xmlimp.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-01-22 10:46:35 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-01-22 11:57:57 +0100
commitda38bffa324a11441c1b8e3cd935d142141ae9ac (patch)
treec0adfbcf0ba64de37cb1bb865f80ace50e6369ed /sw/source/filter/xml/xmlimp.cxx
parentd768757872ad25219fa291acd623ab98924acaaa (diff)
use fastparser in SwXMLBodyContext_Impl
Change-Id: I0745fb6eb0a46b1c564cd0f1c596aed5206549b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87181 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/filter/xml/xmlimp.cxx')
-rw-r--r--sw/source/filter/xml/xmlimp.cxx37
1 files changed, 16 insertions, 21 deletions
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 743eb5ef1325..416dba1b12bc 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -129,19 +129,16 @@ class SwXMLBodyContext_Impl : public SvXMLImportContext
public:
- SwXMLBodyContext_Impl( SwXMLImport& rImport, sal_uInt16 nPrfx,
- const OUString& rLName );
+ SwXMLBodyContext_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 >& AttrList ) override;
};
}
-SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport,
- sal_uInt16 nPrfx, const OUString& rLName) :
- SvXMLImportContext( rImport, nPrfx, rLName )
+SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport ) :
+ SvXMLImportContext( rImport )
{
// tdf#107211: if at this point we don't have a defined char style "Default"
// or "Default Style", add a mapping for it as it is not written
@@ -169,12 +166,11 @@ SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport,
}
}
-SvXMLImportContextRef SwXMLBodyContext_Impl::CreateChildContext(
- sal_uInt16 /*nPrefix*/,
- const OUString& rLocalName,
- const Reference< xml::sax::XAttributeList > & /*xAttrList*/ )
+css::uno::Reference< css::xml::sax::XFastContextHandler > SwXMLBodyContext_Impl::createFastChildContext(
+ sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ )
{
- return GetSwImport().CreateBodyContentContext( rLocalName );
+ return GetSwImport().CreateBodyContentContext();
}
namespace {
@@ -238,6 +234,13 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SwXMLDocContext_Impl::c
case XML_ELEMENT(OFFICE, XML_FONT_FACE_DECLS):
return GetSwImport().CreateFontDeclsContext();
break;
+ case XML_ELEMENT(OFFICE, XML_META):
+ OSL_FAIL(" XML_ELEMENT(OFFICE, XML_META): should not have come here, maybe document is invalid?");
+ break;
+ case XML_ELEMENT(OFFICE, XML_BODY):
+ GetSwImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
+ return new SwXMLBodyContext_Impl( GetSwImport() );
+ break;
}
return nullptr;
}
@@ -252,14 +255,6 @@ SvXMLImportContextRef SwXMLDocContext_Impl::CreateChildContext(
const SvXMLTokenMap& rTokenMap = GetSwImport().GetDocElemTokenMap();
switch( rTokenMap.Get( nPrefix, rLocalName ) )
{
- case XML_TOK_DOC_META:
- OSL_FAIL("XML_TOK_DOC_META: should not have come here, maybe document is invalid?");
- break;
- case XML_TOK_DOC_BODY:
- GetSwImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
- pContext = new SwXMLBodyContext_Impl( GetSwImport(), nPrefix,
- rLocalName );
- break;
case XML_TOK_DOC_XFORMS:
pContext = createXFormsModelContext(GetImport(), nPrefix, rLocalName);
break;