summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2020-11-14 18:04:18 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-11-14 20:15:30 +0100
commit4cc03d53ff5e72739f3cfb6fd3d713e4bb263f31 (patch)
treed25583b5d1603df976c603217a61fe4bf23be5f2 /xmloff
parent396196d6143e377f83a81557f4630ac7e7ad9471 (diff)
use fastparser in XMLImageMapObjectContext
Change-Id: Iefe6acbbacf308144372fb664943bd978225a0f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105839 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/draw/XMLImageMapContext.cxx47
1 files changed, 22 insertions, 25 deletions
diff --git a/xmloff/source/draw/XMLImageMapContext.cxx b/xmloff/source/draw/XMLImageMapContext.cxx
index 0585bd60407f..4852fbc19af4 100644
--- a/xmloff/source/draw/XMLImageMapContext.cxx
+++ b/xmloff/source/draw/XMLImageMapContext.cxx
@@ -127,10 +127,9 @@ public:
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
- SvXMLImportContextRef CreateChildContext(
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::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;
protected:
@@ -207,30 +206,28 @@ void XMLImageMapObjectContext::endFastElement(sal_Int32 )
// else: not valid -> don't create and insert
}
-SvXMLImportContextRef XMLImageMapObjectContext::CreateChildContext(
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList> & /*xAttrList*/ )
+css::uno::Reference< css::xml::sax::XFastContextHandler > XMLImageMapObjectContext::createFastChildContext(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
{
- if ( (XML_NAMESPACE_OFFICE == nPrefix) &&
- IsXMLToken(rLocalName, XML_EVENT_LISTENERS) )
- {
- Reference<XEventsSupplier> xEvents( xMapEntry, UNO_QUERY );
- return new XMLEventsImportContext(
- GetImport(), nPrefix, rLocalName, xEvents);
- }
- else if ( (XML_NAMESPACE_SVG == nPrefix) &&
- IsXMLToken(rLocalName, XML_TITLE) )
- {
- return new XMLStringBufferImportContext(
- GetImport(), nPrefix, rLocalName, sTitleBuffer);
- }
- else if ( (XML_NAMESPACE_SVG == nPrefix) &&
- IsXMLToken(rLocalName, XML_DESC) )
+ switch (nElement)
{
- return new XMLStringBufferImportContext(
- GetImport(), nPrefix, rLocalName, sDescriptionBuffer);
+ case XML_ELEMENT(OFFICE, XML_EVENT_LISTENERS):
+ {
+ Reference<XEventsSupplier> xEvents( xMapEntry, UNO_QUERY );
+ return new XMLEventsImportContext(
+ GetImport(), xEvents);
+ }
+ case XML_ELEMENT(SVG, XML_TITLE):
+ case XML_ELEMENT(SVG_COMPAT, XML_TITLE):
+ return new XMLStringBufferImportContext(
+ GetImport(), sTitleBuffer);
+ case XML_ELEMENT(SVG, XML_DESC):
+ case XML_ELEMENT(SVG_COMPAT, XML_DESC):
+ return new XMLStringBufferImportContext(
+ GetImport(), sDescriptionBuffer);
}
+ XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
return nullptr;
}