diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-08-28 20:21:42 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-08-30 08:09:30 +0200 |
commit | 36914a8b3a07391d225bce593236d6fcf0cc61d2 (patch) | |
tree | b16632987a03eabb14d9c697ce3454575e1861ec /xmloff | |
parent | 977a97f3148c0aece0a54304aae81ec44ced07e0 (diff) |
use fastparser in XMLElementPropertyContext subclasses
Change-Id: Ib19b7372debb0a213bbe8f27c70ff9f0393797fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101631
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/inc/XMLBackgroundImageContext.hxx | 5 | ||||
-rw-r--r-- | xmloff/inc/XMLElementPropertyContext.hxx | 1 | ||||
-rw-r--r-- | xmloff/inc/XMLTextColumnsContext.hxx | 5 | ||||
-rw-r--r-- | xmloff/source/chart/SchXMLParagraphContext.cxx | 53 | ||||
-rw-r--r-- | xmloff/source/chart/SchXMLParagraphContext.hxx | 13 | ||||
-rw-r--r-- | xmloff/source/chart/XMLLabelSeparatorContext.cxx | 17 | ||||
-rw-r--r-- | xmloff/source/chart/XMLLabelSeparatorContext.hxx | 6 | ||||
-rw-r--r-- | xmloff/source/chart/XMLSymbolImageContext.cxx | 18 | ||||
-rw-r--r-- | xmloff/source/chart/XMLSymbolImageContext.hxx | 6 | ||||
-rw-r--r-- | xmloff/source/style/XMLBackgroundImageContext.cxx | 19 | ||||
-rw-r--r-- | xmloff/source/text/XMLTextColumnsContext.cxx | 122 |
11 files changed, 142 insertions, 123 deletions
diff --git a/xmloff/inc/XMLBackgroundImageContext.hxx b/xmloff/inc/XMLBackgroundImageContext.hxx index c5ffa768710d..3ad9509e7bca 100644 --- a/xmloff/inc/XMLBackgroundImageContext.hxx +++ b/xmloff/inc/XMLBackgroundImageContext.hxx @@ -60,9 +60,8 @@ public: virtual ~XMLBackgroundImageContext() 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; virtual void SAL_CALL startFastElement( sal_Int32 /*nElement*/, const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} diff --git a/xmloff/inc/XMLElementPropertyContext.hxx b/xmloff/inc/XMLElementPropertyContext.hxx index 5c09efc05559..427e6d0f46ac 100644 --- a/xmloff/inc/XMLElementPropertyContext.hxx +++ b/xmloff/inc/XMLElementPropertyContext.hxx @@ -48,7 +48,6 @@ public: virtual void SAL_CALL startFastElement( sal_Int32 /*nElement*/, const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; - }; diff --git a/xmloff/inc/XMLTextColumnsContext.hxx b/xmloff/inc/XMLTextColumnsContext.hxx index 82a64395040f..99e3bbaf07c3 100644 --- a/xmloff/inc/XMLTextColumnsContext.hxx +++ b/xmloff/inc/XMLTextColumnsContext.hxx @@ -50,9 +50,8 @@ public: const XMLPropertyState& rProp, ::std::vector< XMLPropertyState > &rProps ); - virtual 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; virtual void SAL_CALL startFastElement( sal_Int32 /*nElement*/, const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} diff --git a/xmloff/source/chart/SchXMLParagraphContext.cxx b/xmloff/source/chart/SchXMLParagraphContext.cxx index e99a5bedb7a0..f46d45cc5eb9 100644 --- a/xmloff/source/chart/SchXMLParagraphContext.cxx +++ b/xmloff/source/chart/SchXMLParagraphContext.cxx @@ -20,6 +20,7 @@ #include "SchXMLParagraphContext.hxx" +#include <sal/log.hxx> #include <xmloff/xmlimp.hxx> #include <xmloff/xmlnamespace.hxx> #include <xmloff/xmltoken.hxx> @@ -40,6 +41,15 @@ SchXMLParagraphContext::SchXMLParagraphContext( SvXMLImport& rImport, { } +SchXMLParagraphContext::SchXMLParagraphContext( SvXMLImport& rImport, + OUString& rText, + OUString * pOutId /* = 0 */ ) : + SvXMLImportContext( rImport ), + mrText( rText ), + mpId( pOutId ) +{ +} + SchXMLParagraphContext::~SchXMLParagraphContext() {} @@ -82,6 +92,44 @@ void SchXMLParagraphContext::EndElement() mrText = maBuffer.makeStringAndClear(); } +void SchXMLParagraphContext::startFastElement( + sal_Int32 /*nElement*/, + const uno::Reference< xml::sax::XFastAttributeList >& xAttrList ) +{ + // remember the id. It is used for storing the original cell range string in + // a local table (cached data) + if( !mpId ) + return; + + bool bHaveXmlId( false ); + + for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) ) + { + switch(aIter.getToken()) + { + case XML_ELEMENT(XML, XML_ID): + (*mpId) = aIter.toString(); + bHaveXmlId = true; + break; + case XML_ELEMENT(TEXT, XML_ID): + { // text:id shall be ignored if xml:id exists + if (!bHaveXmlId) + { + (*mpId) = aIter.toString(); + } + break; + } + default: + SAL_WARN("xmloff", "unknown attribute " << SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << aIter.toString()); + } + } +} + +void SchXMLParagraphContext::endFastElement(sal_Int32 ) +{ + mrText = maBuffer.makeStringAndClear(); +} + SvXMLImportContextRef SchXMLParagraphContext::CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, @@ -107,4 +155,9 @@ void SchXMLParagraphContext::Characters( const OUString& rChars ) maBuffer.append( rChars ); } +void SchXMLParagraphContext::characters( const OUString& rChars ) +{ + maBuffer.append( rChars ); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmloff/source/chart/SchXMLParagraphContext.hxx b/xmloff/source/chart/SchXMLParagraphContext.hxx index 655e7e33bd08..3f2b4d25708a 100644 --- a/xmloff/source/chart/SchXMLParagraphContext.hxx +++ b/xmloff/source/chart/SchXMLParagraphContext.hxx @@ -39,16 +39,25 @@ public: const OUString& rLocalName, OUString& rText, OUString * pOutId = nullptr ); + SchXMLParagraphContext( SvXMLImport& rImport, + OUString& rText, + OUString * pOutId = nullptr ); virtual ~SchXMLParagraphContext() override; + virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override; virtual void EndElement() override; + virtual void Characters( const OUString& rChars ) override; + + virtual void SAL_CALL startFastElement( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override; + virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; + virtual void SAL_CALL characters( const OUString& rChars ) override; virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override; - - virtual void Characters( const OUString& rChars ) override; }; #endif // INCLUDED_XMLOFF_SOURCE_CHART_SCHXMLPARAGRAPHCONTEXT_HXX diff --git a/xmloff/source/chart/XMLLabelSeparatorContext.cxx b/xmloff/source/chart/XMLLabelSeparatorContext.cxx index 90af4736b77b..b43abf82bfdc 100644 --- a/xmloff/source/chart/XMLLabelSeparatorContext.cxx +++ b/xmloff/source/chart/XMLLabelSeparatorContext.cxx @@ -20,6 +20,7 @@ #include "XMLLabelSeparatorContext.hxx" #include "SchXMLParagraphContext.hxx" +#include <sal/log.hxx> #include <xmloff/xmltoken.hxx> #include <xmloff/xmlimp.hxx> @@ -43,18 +44,16 @@ void XMLLabelSeparatorContext::startFastElement( sal_Int32 /*nElement*/, const u { } -SvXMLImportContextRef XMLLabelSeparatorContext::CreateChildContext( - sal_uInt16 /*nPrefix*/, const OUString& rLocalName, - const uno::Reference< xml::sax::XAttributeList > & /*xAttrList*/ ) +css::uno::Reference< css::xml::sax::XFastContextHandler > XMLLabelSeparatorContext::createFastChildContext( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) { - SvXMLImportContext* pContext = nullptr; - if( xmloff::token::IsXMLToken( rLocalName, xmloff::token::XML_P ) ) + if( (nElement & TOKEN_MASK) == xmloff::token::XML_P ) { - pContext = new SchXMLParagraphContext( GetImport(), - rLocalName, m_aSeparator ); + return new SchXMLParagraphContext( GetImport(), m_aSeparator ); } - - return pContext; + SAL_WARN("xmloff", "unknown element " << SvXMLImport::getPrefixAndNameFromToken(nElement)); + return nullptr; } void XMLLabelSeparatorContext::endFastElement(sal_Int32 nElement) diff --git a/xmloff/source/chart/XMLLabelSeparatorContext.hxx b/xmloff/source/chart/XMLLabelSeparatorContext.hxx index bd94d088be59..f66b6009b495 100644 --- a/xmloff/source/chart/XMLLabelSeparatorContext.hxx +++ b/xmloff/source/chart/XMLLabelSeparatorContext.hxx @@ -33,10 +33,8 @@ public: virtual void SAL_CALL startFastElement( sal_Int32 nElement, 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; + virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( + sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override; virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; private: diff --git a/xmloff/source/chart/XMLSymbolImageContext.cxx b/xmloff/source/chart/XMLSymbolImageContext.cxx index 881f821a89f5..50104efc8c04 100644 --- a/xmloff/source/chart/XMLSymbolImageContext.cxx +++ b/xmloff/source/chart/XMLSymbolImageContext.cxx @@ -89,25 +89,21 @@ void XMLSymbolImageContext::startFastElement( } } -SvXMLImportContextRef XMLSymbolImageContext::CreateChildContext( - sal_uInt16 nPrefix, const OUString& rLocalName, - const uno::Reference< xml::sax::XAttributeList > & xAttrList ) +css::uno::Reference< css::xml::sax::XFastContextHandler > XMLSymbolImageContext::createFastChildContext( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) { - SvXMLImportContext* pContext = nullptr; - if( xmloff::token::IsXMLToken( rLocalName, - xmloff::token::XML_BINARY_DATA ) ) + if( (nElement & TOKEN_MASK) == xmloff::token::XML_BINARY_DATA ) { if( msURL.isEmpty() && ! mxBase64Stream.is() ) { mxBase64Stream = GetImport().GetStreamForGraphicObjectURLFromBase64(); if( mxBase64Stream.is() ) - pContext = new XMLBase64ImportContext( GetImport(), nPrefix, - rLocalName, xAttrList, - mxBase64Stream ); + return new XMLBase64ImportContext( GetImport(), mxBase64Stream ); } } - - return pContext; + SAL_WARN("xmloff", "unknown element " << SvXMLImport::getPrefixAndNameFromToken(nElement)); + return nullptr; } void XMLSymbolImageContext::endFastElement(sal_Int32 nElement) diff --git a/xmloff/source/chart/XMLSymbolImageContext.hxx b/xmloff/source/chart/XMLSymbolImageContext.hxx index d2267db6b338..9cdc270360c6 100644 --- a/xmloff/source/chart/XMLSymbolImageContext.hxx +++ b/xmloff/source/chart/XMLSymbolImageContext.hxx @@ -37,10 +37,8 @@ public: virtual void SAL_CALL startFastElement( sal_Int32 nElement, 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; + virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( + sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override; virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; private: diff --git a/xmloff/source/style/XMLBackgroundImageContext.cxx b/xmloff/source/style/XMLBackgroundImageContext.cxx index fdfe43008081..60e61df32c5f 100644 --- a/xmloff/source/style/XMLBackgroundImageContext.cxx +++ b/xmloff/source/style/XMLBackgroundImageContext.cxx @@ -342,26 +342,21 @@ XMLBackgroundImageContext::~XMLBackgroundImageContext() { } -SvXMLImportContextRef XMLBackgroundImageContext::CreateChildContext( - sal_uInt16 nPrefix, const OUString& rLocalName, - const Reference< xml::sax::XAttributeList > & xAttrList ) +css::uno::Reference< css::xml::sax::XFastContextHandler > XMLBackgroundImageContext::createFastChildContext( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) { - SvXMLImportContext *pContext = nullptr; - if( (XML_NAMESPACE_OFFICE == nPrefix) && - xmloff::token::IsXMLToken( rLocalName, - xmloff::token::XML_BINARY_DATA ) ) + if( nElement == XML_ELEMENT(OFFICE, xmloff::token::XML_BINARY_DATA) ) { if( m_sURL.isEmpty() && !m_xBase64Stream.is() ) { m_xBase64Stream = GetImport().GetStreamForGraphicObjectURLFromBase64(); if( m_xBase64Stream.is() ) - pContext = new XMLBase64ImportContext( GetImport(), nPrefix, - rLocalName, xAttrList, - m_xBase64Stream ); + return new XMLBase64ImportContext( GetImport(), m_xBase64Stream ); } } - - return pContext; + SAL_WARN("xmloff", "unknown element " << SvXMLImport::getPrefixAndNameFromToken(nElement)); + return nullptr; } void XMLBackgroundImageContext::endFastElement(sal_Int32 nElement) diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx index 4bacea3ed965..ba19c7ff50d3 100644 --- a/xmloff/source/text/XMLTextColumnsContext.cxx +++ b/xmloff/source/text/XMLTextColumnsContext.cxx @@ -105,66 +105,55 @@ class XMLTextColumnContext_Impl: public SvXMLImportContext public: - XMLTextColumnContext_Impl( SvXMLImport& rImport, sal_uInt16 nPrfx, - const OUString& rLName, + XMLTextColumnContext_Impl( SvXMLImport& rImport, sal_Int32 nElement, const uno::Reference< - xml::sax::XAttributeList > & xAttrList, - const SvXMLTokenMap& rTokenMap ); + xml::sax::XFastAttributeList > & xAttrList ); text::TextColumn& getTextColumn() { return aColumn; } }; XMLTextColumnContext_Impl::XMLTextColumnContext_Impl( - SvXMLImport& rImport, sal_uInt16 nPrfx, - const OUString& rLName, + SvXMLImport& rImport, sal_Int32 /*nElement*/, const uno::Reference< - xml::sax::XAttributeList > & xAttrList, - const SvXMLTokenMap& rTokenMap ) : - SvXMLImportContext( rImport, nPrfx, rLName ) + xml::sax::XFastAttributeList > & xAttrList ) : + SvXMLImportContext( rImport ) { aColumn.Width = 0; aColumn.LeftMargin = 0; aColumn.RightMargin = 0; - 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; - sal_uInt16 nPrefix = - GetImport().GetNamespaceMap().GetKeyByAttrName( rAttrName, - &aLocalName ); - const OUString& rValue = xAttrList->getValueByIndex( i ); - + const OUString sValue = aIter.toString(); sal_Int32 nVal; - switch( rTokenMap.Get( nPrefix, aLocalName ) ) + switch( aIter.getToken() ) { - case XML_TOK_COLUMN_WIDTH: + case XML_ELEMENT(STYLE, XML_REL_WIDTH): { - sal_Int32 nPos = rValue.indexOf( '*' ); - if( nPos != -1 && nPos+1 == rValue.getLength() ) + sal_Int32 nPos = sValue.indexOf( '*' ); + if( nPos != -1 && nPos+1 == sValue.getLength() ) { if (::sax::Converter::convertNumber( nVal, - std::u16string_view(rValue).substr(0, nPos), + std::u16string_view(sValue).substr(0, nPos), 0, USHRT_MAX)) aColumn.Width = nVal; } } break; - case XML_TOK_COLUMN_MARGIN_LEFT: + case XML_ELEMENT(FO, XML_START_INDENT): if( GetImport().GetMM100UnitConverter(). - convertMeasureToCore( nVal, rValue ) ) + convertMeasureToCore( nVal, sValue ) ) aColumn.LeftMargin = nVal; break; - case XML_TOK_COLUMN_MARGIN_RIGHT: - + case XML_ELEMENT(FO, XML_END_INDENT): if( GetImport().GetMM100UnitConverter(). - convertMeasureToCore( nVal, rValue ) ) + convertMeasureToCore( nVal, sValue ) ) aColumn.RightMargin = nVal; break; default: + SAL_WARN("xmloff", "unknown attribute " << SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << sValue); break; } } @@ -180,11 +169,9 @@ class XMLTextColumnSepContext_Impl: public SvXMLImportContext public: - XMLTextColumnSepContext_Impl( SvXMLImport& rImport, sal_uInt16 nPrfx, - const OUString& rLName, + XMLTextColumnSepContext_Impl( SvXMLImport& rImport, sal_Int32 nElement, const uno::Reference< - xml::sax::XAttributeList > & xAttrList, - const SvXMLTokenMap& rTokenMap ); + xml::sax::XFastAttributeList > & xAttrList ); sal_Int32 GetWidth() const { return nWidth; } sal_Int32 GetColor() const { return nColor; } @@ -195,52 +182,46 @@ public: XMLTextColumnSepContext_Impl::XMLTextColumnSepContext_Impl( - SvXMLImport& rImport, sal_uInt16 nPrfx, - const OUString& rLName, + SvXMLImport& rImport, sal_Int32 /*nElement*/, const uno::Reference< - xml::sax::XAttributeList > & xAttrList, - const SvXMLTokenMap& rTokenMap ) : - SvXMLImportContext( rImport, nPrfx, rLName ), + xml::sax::XFastAttributeList > & xAttrList) : + SvXMLImportContext( rImport ), nWidth( 2 ), nColor( 0 ), nHeight( 100 ), nStyle( 1 ), eVertAlign( VerticalAlignment_TOP ) { - 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; - sal_uInt16 nPrefix = - GetImport().GetNamespaceMap().GetKeyByAttrName( rAttrName, - &aLocalName ); - const OUString& rValue = xAttrList->getValueByIndex( i ); + const OUString sValue = aIter.toString(); sal_Int32 nVal; - switch( rTokenMap.Get( nPrefix, aLocalName ) ) + switch( aIter.getToken() ) { - case XML_TOK_COLUMN_SEP_WIDTH: + case XML_ELEMENT(STYLE, XML_WIDTH): if( GetImport().GetMM100UnitConverter(). - convertMeasureToCore( nVal, rValue ) ) + convertMeasureToCore( nVal, sValue ) ) nWidth = nVal; break; - case XML_TOK_COLUMN_SEP_HEIGHT: - if (::sax::Converter::convertPercent( nVal, rValue ) && + case XML_ELEMENT(STYLE, XML_HEIGHT): + if (::sax::Converter::convertPercent( nVal, sValue ) && nVal >=1 && nVal <= 100 ) nHeight = static_cast<sal_Int8>(nVal); break; - case XML_TOK_COLUMN_SEP_COLOR: - ::sax::Converter::convertColor( nColor, rValue ); + case XML_ELEMENT(STYLE, XML_COLOR): + ::sax::Converter::convertColor( nColor, sValue ); break; - case XML_TOK_COLUMN_SEP_ALIGN: - SvXMLUnitConverter::convertEnum( eVertAlign, rValue, + case XML_ELEMENT(STYLE, XML_VERTICAL_ALIGN): + SvXMLUnitConverter::convertEnum( eVertAlign, sValue, pXML_Sep_Align_Enum ); break; - case XML_TOK_COLUMN_SEP_STYLE: - SvXMLUnitConverter::convertEnum( nStyle, rValue, + case XML_ELEMENT(STYLE, XML_STYLE): + SvXMLUnitConverter::convertEnum( nStyle, sValue, pXML_Sep_Style_Enum ); break; + default: + SAL_WARN("xmloff", "unknown attribute " << SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << sValue); } } } @@ -289,19 +270,14 @@ XMLTextColumnsContext::XMLTextColumnsContext( } } -SvXMLImportContextRef XMLTextColumnsContext::CreateChildContext( - sal_uInt16 nPrefix, - const OUString& rLocalName, - const uno::Reference< xml::sax::XAttributeList > & xAttrList ) +css::uno::Reference< css::xml::sax::XFastContextHandler > XMLTextColumnsContext::createFastChildContext( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) { - SvXMLImportContext *pContext = nullptr; - - if( XML_NAMESPACE_STYLE == nPrefix && - IsXMLToken( rLocalName, XML_COLUMN ) ) + if( nElement == XML_ELEMENT(STYLE, XML_COLUMN) ) { const rtl::Reference<XMLTextColumnContext_Impl> xColumn{ - new XMLTextColumnContext_Impl( GetImport(), nPrefix, rLocalName, - xAttrList, *pColumnAttrTokenMap )}; + new XMLTextColumnContext_Impl( GetImport(), nElement, xAttrList )}; // add new tabstop to array of tabstops if( !pColumns ) @@ -309,19 +285,17 @@ SvXMLImportContextRef XMLTextColumnsContext::CreateChildContext( pColumns->push_back( xColumn ); - pContext = xColumn.get(); + return xColumn.get(); } - else if( XML_NAMESPACE_STYLE == nPrefix && - IsXMLToken( rLocalName, XML_COLUMN_SEP ) ) + else if( nElement == XML_ELEMENT(STYLE, XML_COLUMN_SEP) ) { mxColumnSep.set( - new XMLTextColumnSepContext_Impl( GetImport(), nPrefix, rLocalName, - xAttrList, *pColumnSepAttrTokenMap )); + new XMLTextColumnSepContext_Impl( GetImport(), nElement, xAttrList )); - pContext = mxColumnSep.get(); + return mxColumnSep.get(); } - - return pContext; + SAL_WARN("xmloff", "unknown element " << SvXMLImport::getPrefixAndNameFromToken(nElement)); + return nullptr; } void XMLTextColumnsContext::endFastElement(sal_Int32 nElement ) |