summaryrefslogtreecommitdiff
path: root/reportdesign/source/filter/xml/xmlColumn.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2020-01-21 21:44:49 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-01-22 08:36:51 +0100
commit357bf8984ada1259720903ad7c7c44c9a6551cc8 (patch)
treed2a0db94d9e5d465c71de70c8608c2bec7532c85 /reportdesign/source/filter/xml/xmlColumn.cxx
parentf6c01b471a08ad1cb38377b8d82dba89206ea8cb (diff)
Convert reportdesign to fastparser
Change-Id: I0703344aad4ca6c72e494160b019c13e24cc843a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87160 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'reportdesign/source/filter/xml/xmlColumn.cxx')
-rw-r--r--reportdesign/source/filter/xml/xmlColumn.cxx54
1 files changed, 22 insertions, 32 deletions
diff --git a/reportdesign/source/filter/xml/xmlColumn.cxx b/reportdesign/source/filter/xml/xmlColumn.cxx
index 6498296cc441..13e6b0767578 100644
--- a/reportdesign/source/filter/xml/xmlColumn.cxx
+++ b/reportdesign/source/filter/xml/xmlColumn.cxx
@@ -46,29 +46,21 @@ namespace rptxml
OXMLRowColumn::OXMLRowColumn( ORptFilter& rImport
- ,sal_uInt16 nPrfx
- ,const OUString& _sLocalName
- ,const Reference< XAttributeList > & _xAttrList
+ ,const Reference< XFastAttributeList > & _xAttrList
,OXMLTable* _pContainer
) :
- SvXMLImportContext( rImport, nPrfx, _sLocalName )
+ SvXMLImportContext( rImport )
,m_pContainer(_pContainer)
{
-
- const SvXMLNamespaceMap& rMap = rImport.GetNamespaceMap();
- const SvXMLTokenMap& rTokenMap = rImport.GetColumnTokenMap();
-
- const sal_Int16 nLength = (_xAttrList.is()) ? _xAttrList->getLength() : 0;
- for(sal_Int16 i = 0; i < nLength; ++i)
+ sax_fastparser::FastAttributeList *pAttribList =
+ sax_fastparser::FastAttributeList::castToFastAttributeList( _xAttrList );
+ for (auto &aIter : *pAttribList)
{
- OUString sLocalName;
- const OUString sAttrName = _xAttrList->getNameByIndex( i );
- const sal_uInt16 nPrefix = rMap.GetKeyByAttrName( sAttrName,&sLocalName );
- const OUString sValue = _xAttrList->getValueByIndex( i );
+ OUString sValue = aIter.toString();
- switch( rTokenMap.Get( nPrefix, sLocalName ) )
+ switch( aIter.getToken() )
{
- case XML_TOK_COLUMN_STYLE_NAME:
+ case XML_ELEMENT(TABLE, XML_STYLE_NAME):
fillStyle(sValue);
break;
default:
@@ -82,32 +74,30 @@ OXMLRowColumn::~OXMLRowColumn()
{
}
-SvXMLImportContextRef OXMLRowColumn::CreateChildContext(
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference< XAttributeList > & xAttrList )
+css::uno::Reference< css::xml::sax::XFastContextHandler > OXMLRowColumn::createFastChildContext(
+ sal_Int32 nElement,
+ const Reference< XFastAttributeList > & xAttrList )
{
- SvXMLImportContext *pContext = nullptr;
+ css::uno::Reference< css::xml::sax::XFastContextHandler > xContext;
ORptFilter& rImport = GetOwnImport();
- const SvXMLTokenMap& rTokenMap = rImport.GetColumnTokenMap();
- switch( rTokenMap.Get( nPrefix, rLocalName ) )
+ switch( nElement )
{
- case XML_TOK_COLUMN:
+ case XML_ELEMENT(TABLE, XML_TABLE_COLUMN):
rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
- pContext = new OXMLRowColumn( rImport, nPrefix, rLocalName,xAttrList,m_pContainer);
+ xContext = new OXMLRowColumn( rImport,xAttrList,m_pContainer);
break;
- case XML_TOK_ROW:
+ case XML_ELEMENT(TABLE, XML_TABLE_ROW):
m_pContainer->incrementRowIndex();
rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
- pContext = new OXMLRowColumn( rImport, nPrefix, rLocalName,xAttrList,m_pContainer);
+ xContext = new OXMLRowColumn( rImport,xAttrList,m_pContainer);
break;
- case XML_TOK_CELL:
+ case XML_ELEMENT(TABLE, XML_TABLE_CELL):
m_pContainer->incrementColumnIndex();
rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
- pContext = new OXMLCell( rImport, nPrefix, rLocalName,xAttrList,m_pContainer);
+ xContext = new OXMLCell( rImport,xAttrList,m_pContainer);
break;
- case XML_TOK_COV_CELL:
+ case XML_ELEMENT(TABLE, XML_COVERED_TABLE_CELL):
m_pContainer->incrementColumnIndex();
m_pContainer->addCell(nullptr);
break;
@@ -115,7 +105,7 @@ SvXMLImportContextRef OXMLRowColumn::CreateChildContext(
break;
}
- return pContext;
+ return xContext;
}
void OXMLRowColumn::fillStyle(const OUString& _sStyleName)
@@ -174,7 +164,7 @@ ORptFilter& OXMLRowColumn::GetOwnImport()
return static_cast<ORptFilter&>(GetImport());
}
-void OXMLRowColumn::EndElement()
+void OXMLRowColumn::endFastElement(sal_Int32 )
{
}