summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-08-28 20:21:42 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-08-30 08:09:30 +0200
commit36914a8b3a07391d225bce593236d6fcf0cc61d2 (patch)
treeb16632987a03eabb14d9c697ce3454575e1861ec /xmloff
parent977a97f3148c0aece0a54304aae81ec44ced07e0 (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.hxx5
-rw-r--r--xmloff/inc/XMLElementPropertyContext.hxx1
-rw-r--r--xmloff/inc/XMLTextColumnsContext.hxx5
-rw-r--r--xmloff/source/chart/SchXMLParagraphContext.cxx53
-rw-r--r--xmloff/source/chart/SchXMLParagraphContext.hxx13
-rw-r--r--xmloff/source/chart/XMLLabelSeparatorContext.cxx17
-rw-r--r--xmloff/source/chart/XMLLabelSeparatorContext.hxx6
-rw-r--r--xmloff/source/chart/XMLSymbolImageContext.cxx18
-rw-r--r--xmloff/source/chart/XMLSymbolImageContext.hxx6
-rw-r--r--xmloff/source/style/XMLBackgroundImageContext.cxx19
-rw-r--r--xmloff/source/text/XMLTextColumnsContext.cxx122
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 )