summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-11-30 10:52:22 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-11-30 12:09:54 +0100
commitd05a4cfbdcece491f7385dbeaa7eca03f2fdc1d5 (patch)
treeb67ac6294fb550851e600b7918ce47c64e8ea15c
parentea8d6cd59670854cb153c4e984cb4044093e5994 (diff)
fastparser in shapeimport
Change-Id: I11227424647313ff5c5d54126bdc27a17da3932e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106851 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--include/xmloff/shapeimport.hxx2
-rw-r--r--xmloff/source/chart/SchXMLChartContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLPlotAreaContext.cxx254
-rw-r--r--xmloff/source/chart/SchXMLPlotAreaContext.hxx24
-rw-r--r--xmloff/source/chart/SchXMLPropertyMappingContext.cxx27
-rw-r--r--xmloff/source/chart/SchXMLPropertyMappingContext.hxx6
-rw-r--r--xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx53
-rw-r--r--xmloff/source/chart/SchXMLRegressionCurveObjectContext.hxx7
-rw-r--r--xmloff/source/chart/SchXMLSeries2Context.cxx33
-rw-r--r--xmloff/source/chart/SchXMLSeries2Context.hxx4
-rw-r--r--xmloff/source/chart/SchXMLTableContext.cxx107
-rw-r--r--xmloff/source/chart/SchXMLTableContext.hxx28
-rw-r--r--xmloff/source/draw/ximp3dobject.cxx36
-rw-r--r--xmloff/source/draw/ximp3dobject.hxx24
-rw-r--r--xmloff/source/draw/ximp3dscene.cxx186
-rw-r--r--xmloff/source/draw/ximp3dscene.hxx6
-rw-r--r--xmloff/source/draw/ximpgrp.cxx3
-rw-r--r--xmloff/source/draw/ximpgrp.hxx4
-rw-r--r--xmloff/source/draw/ximpshap.cxx106
-rw-r--r--xmloff/source/draw/ximpshap.hxx84
20 files changed, 529 insertions, 467 deletions
diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx
index b4bc6bf44c3a..dacd947a66d2 100644
--- a/include/xmloff/shapeimport.hxx
+++ b/include/xmloff/shapeimport.hxx
@@ -186,7 +186,7 @@ public:
SvXMLImportContext * create3DLightContext( const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList);
/** this should be called for each scene attribute */
- void processSceneAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue );
+ void processSceneAttribute( sal_Int32 nAttributeToken, const OUString& rValue );
/** this sets the scene attributes at this propertyset */
void setSceneAttributes( const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
diff --git a/xmloff/source/chart/SchXMLChartContext.cxx b/xmloff/source/chart/SchXMLChartContext.cxx
index 968bf0cfa76a..02c4df000d36 100644
--- a/xmloff/source/chart/SchXMLChartContext.cxx
+++ b/xmloff/source/chart/SchXMLChartContext.cxx
@@ -1073,7 +1073,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLChartContext::cr
case XML_ELEMENT(TABLE, XML_TABLE):
{
SchXMLTableContext * pTableContext =
- new SchXMLTableContext( mrImportHelper, GetImport(), maTable );
+ new SchXMLTableContext( GetImport(), maTable );
m_bHasTableElement = true;
// #i85913# take into account column- and row- mapping for
// charts with own data only for those which were not copied
diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.cxx b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
index 0391b4f4a8d3..2fe188eab45f 100644
--- a/xmloff/source/chart/SchXMLPlotAreaContext.cxx
+++ b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
@@ -206,37 +206,32 @@ SchXMLPlotAreaContext::SchXMLPlotAreaContext(
SchXMLPlotAreaContext::~SchXMLPlotAreaContext()
{}
-void SchXMLPlotAreaContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLPlotAreaContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// parse attributes
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
- const SvXMLTokenMap& rAttrTokenMap = mrImportHelper.GetPlotAreaAttrTokenMap();
uno::Reference< chart2::XChartDocument > xNewDoc( GetImport().GetModel(), uno::UNO_QUERY );
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- OUString aValue = xAttrList->getValueByIndex( i );
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- switch( rAttrTokenMap.Get( nPrefix, aLocalName ))
+ OUString aValue = aIter.toString();
+ switch( aIter.getToken() )
{
- case XML_TOK_PA_X:
- case XML_TOK_PA_Y:
- case XML_TOK_PA_WIDTH:
- case XML_TOK_PA_HEIGHT:
- m_aOuterPositioning.readPositioningAttribute( nPrefix, aLocalName, aValue );
+ case XML_ELEMENT(SVG, XML_X):
+ case XML_ELEMENT(SVG, XML_Y):
+ case XML_ELEMENT(SVG, XML_WIDTH):
+ case XML_ELEMENT(SVG, XML_HEIGHT):
+ m_aOuterPositioning.readPositioningAttribute( aIter.getToken(), aValue );
break;
- case XML_TOK_PA_STYLE_NAME:
+ case XML_ELEMENT(CHART, XML_STYLE_NAME):
msAutoStyleName = aValue;
break;
- case XML_TOK_PA_CHART_ADDRESS:
+ case XML_ELEMENT(TABLE, XML_CELL_RANGE_ADDRESS):
mrChartAddress = lcl_ConvertRange( aValue, xNewDoc );
// indicator for getting data from the outside
m_rbHasRangeAtPlotArea = true;
break;
- case XML_TOK_PA_DS_HAS_LABELS:
+ case XML_ELEMENT(CHART, XML_DATA_SOURCE_HAS_LABELS):
{
if( aValue == ::xmloff::token::GetXMLToken( ::xmloff::token::XML_BOTH ))
mrColHasLabels = mrRowHasLabels = true;
@@ -246,19 +241,21 @@ void SchXMLPlotAreaContext::StartElement( const uno::Reference< xml::sax::XAttri
mrColHasLabels = true;
}
break;
- case XML_TOK_PA_TRANSFORM:
- case XML_TOK_PA_VRP:
- case XML_TOK_PA_VPN:
- case XML_TOK_PA_VUP:
- case XML_TOK_PA_PROJECTION:
- case XML_TOK_PA_DISTANCE:
- case XML_TOK_PA_FOCAL_LENGTH:
- case XML_TOK_PA_SHADOW_SLANT:
- case XML_TOK_PA_SHADE_MODE:
- case XML_TOK_PA_AMBIENT_COLOR:
- case XML_TOK_PA_LIGHTING_MODE:
- maSceneImportHelper.processSceneAttribute( nPrefix, aLocalName, aValue );
+ case XML_ELEMENT(DR3D, XML_TRANSFORM):
+ case XML_ELEMENT(DR3D, XML_VRP):
+ case XML_ELEMENT(DR3D, XML_VPN):
+ case XML_ELEMENT(DR3D, XML_VUP):
+ case XML_ELEMENT(DR3D, XML_PROJECTION):
+ case XML_ELEMENT(DR3D, XML_DISTANCE):
+ case XML_ELEMENT(DR3D, XML_FOCAL_LENGTH):
+ case XML_ELEMENT(DR3D, XML_SHADOW_SLANT):
+ case XML_ELEMENT(DR3D, XML_SHADE_MODE):
+ case XML_ELEMENT(DR3D, XML_AMBIENT_COLOR):
+ case XML_ELEMENT(DR3D, XML_LIGHTING_MODE):
+ maSceneImportHelper.processSceneAttribute( aIter.getToken(), aValue );
break;
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
@@ -709,46 +706,43 @@ SchXMLDataPointContext::~SchXMLDataPointContext()
{
}
-void SchXMLDataPointContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLDataPointContext::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
OUString sAutoStyleName;
sal_Int32 nRepeat = 1;
OUString sCustomLabelField;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_CHART )
+ switch (aIter.getToken())
{
- if( IsXMLToken( aLocalName, XML_STYLE_NAME ) )
+ case XML_ELEMENT(CHART, XML_STYLE_NAME):
{
- sAutoStyleName = xAttrList->getValueByIndex( i );
+ sAutoStyleName = aIter.toString();
mDataPoint.msStyleName = sAutoStyleName;
mDataLabel.msStyleNameOfParent = sAutoStyleName;
+ break;
}
- else if( IsXMLToken( aLocalName, XML_REPEATED ) )
+ case XML_ELEMENT(CHART, XML_REPEATED):
{
- nRepeat = xAttrList->getValueByIndex( i ).toInt32();
+ nRepeat = aIter.toInt32();
mDataPoint.m_nPointRepeat = nRepeat;
mDataLabel.m_nPointRepeat = nRepeat;
+ break;
}
- }
- else if( nPrefix == XML_NAMESPACE_LO_EXT)
- {
// Deprecated. New documents use the chart:data-label element
// instead in order to store custom label text.
- if( IsXMLToken( aLocalName, XML_CUSTOM_LABEL_FIELD) && !mbHasLabelParagraph)
- {
- sCustomLabelField = xAttrList->getValueByIndex( i );
- mDataPoint.mCustomLabels.push_back(sCustomLabelField);
- }
- else if (IsXMLToken(aLocalName, XML_HIDE_LEGEND))
+ case XML_ELEMENT(LO_EXT, XML_CUSTOM_LABEL_FIELD):
+ if (!mbHasLabelParagraph)
+ {
+ sCustomLabelField = aIter.toString();
+ mDataPoint.mCustomLabels.push_back(sCustomLabelField);
+ }
+ break;
+ case XML_ELEMENT(LO_EXT, XML_HIDE_LEGEND):
{
- bool bHideLegend = xAttrList->getValueByIndex(i).toBoolean();
+ bool bHideLegend = aIter.toString().toBoolean();
if (bHideLegend)
{
uno::Sequence<sal_Int32> deletedLegendEntriesSeq;
@@ -762,15 +756,20 @@ void SchXMLDataPointContext::StartElement( const uno::Reference< xml::sax::XAttr
deletedLegendEntries.push_back(mDataPoint.m_nPointIndex);
xSeriesProp->setPropertyValue("DeletedLegendEntries", uno::makeAny(::oox::ContainerHelper::vectorToSequence(deletedLegendEntries)));
}
+ break;
}
- else if( IsXMLToken(aLocalName, XML_CUSTOM_LABEL_POS_X ) )
+ case XML_ELEMENT(LO_EXT, XML_CUSTOM_LABEL_POS_X):
{
- mDataPoint.mCustomLabelPos[0] = xAttrList->getValueByIndex(i).toDouble();
+ mDataPoint.mCustomLabelPos[0] = aIter.toDouble();
+ break;
}
- else if( IsXMLToken(aLocalName, XML_CUSTOM_LABEL_POS_Y) )
+ case XML_ELEMENT(LO_EXT, XML_CUSTOM_LABEL_POS_Y):
{
- mDataPoint.mCustomLabelPos[1] = xAttrList->getValueByIndex(i).toDouble();
+ mDataPoint.mCustomLabelPos[1] = aIter.toDouble();
+ break;
}
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
@@ -817,34 +816,43 @@ bool SchXMLPositionAttributesHelper::isAutomatic() const
return m_bAutoSize || m_bAutoPosition;
}
-void SchXMLPositionAttributesHelper::readPositioningAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, std::u16string_view rValue )
+void SchXMLPositionAttributesHelper::readPositioningAttribute( sal_Int32 nAttributeToken, std::u16string_view rValue )
{
- if( XML_NAMESPACE_SVG != nPrefix )
+ if( !IsTokenInNamespace(nAttributeToken, XML_NAMESPACE_SVG) && !IsTokenInNamespace(nAttributeToken, XML_NAMESPACE_SVG_COMPAT) )
return;
- if( IsXMLToken( rLocalName, XML_X ) )
- {
- m_rImport.GetMM100UnitConverter().convertMeasureToCore(
- m_aPosition.X, rValue );
- m_bHasPositionX = true;
- }
- else if( IsXMLToken( rLocalName, XML_Y ) )
+ switch (nAttributeToken & TOKEN_MASK)
{
- m_rImport.GetMM100UnitConverter().convertMeasureToCore(
- m_aPosition.Y, rValue );
- m_bHasPositionY = true;
- }
- else if( IsXMLToken( rLocalName, XML_WIDTH ) )
- {
- m_rImport.GetMM100UnitConverter().convertMeasureToCore(
- m_aSize.Width, rValue );
- m_bHasSizeWidth = true;
- }
- else if( IsXMLToken( rLocalName, XML_HEIGHT ) )
- {
- m_rImport.GetMM100UnitConverter().convertMeasureToCore(
- m_aSize.Height, rValue );
- m_bHasSizeHeight = true;
+ case XML_X:
+ {
+ m_rImport.GetMM100UnitConverter().convertMeasureToCore(
+ m_aPosition.X, rValue );
+ m_bHasPositionX = true;
+ break;
+ }
+ case XML_Y:
+ {
+ m_rImport.GetMM100UnitConverter().convertMeasureToCore(
+ m_aPosition.Y, rValue );
+ m_bHasPositionY = true;
+ break;
+ }
+ case XML_WIDTH:
+ {
+ m_rImport.GetMM100UnitConverter().convertMeasureToCore(
+ m_aSize.Width, rValue );
+ m_bHasSizeWidth = true;
+ break;
+ }
+ case XML_HEIGHT:
+ {
+ m_rImport.GetMM100UnitConverter().convertMeasureToCore(
+ m_aSize.Height, rValue );
+ m_bHasSizeHeight = true;
+ break;
+ }
+ default:
+ XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, OUString(rValue));
}
}
@@ -872,19 +880,12 @@ SchXMLCoordinateRegionContext::~SchXMLCoordinateRegionContext()
{
}
-void SchXMLCoordinateRegionContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLCoordinateRegionContext::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// parse attributes
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
-
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
- {
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- OUString aValue = xAttrList->getValueByIndex( i );
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
- m_rPositioning.readPositioningAttribute( nPrefix, aLocalName, aValue );
- }
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
+ m_rPositioning.readPositioningAttribute( aIter.getToken(), aIter.toString() );
}
SchXMLWallFloorContext::SchXMLWallFloorContext(
@@ -903,25 +904,20 @@ SchXMLWallFloorContext::~SchXMLWallFloorContext()
{
}
-void SchXMLWallFloorContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLWallFloorContext::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
if( !mxWallFloorSupplier.is())
return;
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
OUString sAutoStyleName;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_CHART &&
- IsXMLToken( aLocalName, XML_STYLE_NAME ) )
- {
- sAutoStyleName = xAttrList->getValueByIndex( i );
- }
+ if( aIter.getToken() == XML_ELEMENT(CHART, XML_STYLE_NAME) )
+ sAutoStyleName = aIter.toString();
+ else
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
// set properties
@@ -949,25 +945,20 @@ SchXMLStockContext::~SchXMLStockContext()
{
}
-void SchXMLStockContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLStockContext::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
if( !mxStockPropProvider.is())
return;
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
OUString sAutoStyleName;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_CHART &&
- IsXMLToken( aLocalName, XML_STYLE_NAME ) )
- {
- sAutoStyleName = xAttrList->getValueByIndex( i );
- }
+ if( aIter.getToken() == XML_ELEMENT(CHART, XML_STYLE_NAME) )
+ sAutoStyleName = aIter.toString();
+ else
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
if( sAutoStyleName.isEmpty())
@@ -1199,31 +1190,30 @@ void SetErrorBarPropertiesFromStyleName( const OUString& aStyleName, const uno::
}
-void SchXMLStatisticsObjectContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLStatisticsObjectContext::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
OUString sAutoStyleName;
OUString aPosRange;
OUString aNegRange;
bool bYError = true; /// Default errorbar, to be backward compatible with older files!
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
-
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_CHART )
+ switch (aIter.getToken())
{
- if( IsXMLToken( aLocalName, XML_STYLE_NAME ) )
- sAutoStyleName = xAttrList->getValueByIndex( i );
- else if( IsXMLToken( aLocalName, XML_DIMENSION ) )
- bYError = xAttrList->getValueByIndex(i) == "y";
- else if( IsXMLToken( aLocalName, XML_ERROR_UPPER_RANGE) )
- aPosRange = xAttrList->getValueByIndex(i);
- else if( IsXMLToken( aLocalName, XML_ERROR_LOWER_RANGE) )
- aNegRange = xAttrList->getValueByIndex(i);
+ case XML_ELEMENT(CHART, XML_STYLE_NAME):
+ sAutoStyleName = aIter.toString();
+ break;
+ case XML_ELEMENT(CHART, XML_DIMENSION):
+ bYError = aIter.toString() == "y";
+ break;
+ case XML_ELEMENT(CHART, XML_ERROR_UPPER_RANGE):
+ aPosRange = aIter.toString();
+ break;
+ case XML_ELEMENT(CHART, XML_ERROR_LOWER_RANGE):
+ aNegRange = aIter.toString();
+ break;
}
}
diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.hxx b/xmloff/source/chart/SchXMLPlotAreaContext.hxx
index 750eacb25ce7..ef5f840cc1a2 100644
--- a/xmloff/source/chart/SchXMLPlotAreaContext.hxx
+++ b/xmloff/source/chart/SchXMLPlotAreaContext.hxx
@@ -60,7 +60,7 @@ public:
explicit SchXMLPositionAttributesHelper( SvXMLImport& rImporter );
~SchXMLPositionAttributesHelper();
- void readPositioningAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, std::u16string_view rValue );
+ void readPositioningAttribute( sal_Int32 nAttributeToken, std::u16string_view rValue );
void readAutomaticPositioningProperties( XMLPropStyleContext const * pPropStyleContext, const SvXMLStylesContext* pStylesCtxt );
bool hasPosSize() const;
@@ -100,10 +100,12 @@ public:
const css::awt::Size & rChartSize );
virtual ~SchXMLPlotAreaContext() override;
- virtual void StartElement( 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 >& xAttrList ) override;
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
private:
@@ -194,11 +196,12 @@ public:
bool bSymbolSizeForSeriesIsMissingInFile );
virtual ~SchXMLDataPointContext() override;
- virtual void StartElement( 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 >& xAttrList ) override;
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
};
@@ -209,7 +212,9 @@ public:
SvXMLImport& rImport
, SchXMLPositionAttributesHelper& rPositioning );
virtual ~SchXMLCoordinateRegionContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
private:
SchXMLPositionAttributesHelper& m_rPositioning;
@@ -235,7 +240,8 @@ public:
css::uno::Reference< css::chart::XDiagram > const & xDiagram,
ContextType eContextType );
virtual ~SchXMLWallFloorContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement (sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override;
};
class SchXMLStockContext : public SvXMLImportContext
@@ -259,7 +265,8 @@ public:
css::uno::Reference< css::chart::XDiagram > const & xDiagram,
ContextType eContextType );
virtual ~SchXMLStockContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement (sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override;
};
class SchXMLStatisticsObjectContext : public SvXMLImportContext
@@ -282,7 +289,8 @@ public:
virtual ~SchXMLStatisticsObjectContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement (sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override;
private:
SchXMLImportHelper & mrImportHelper;
diff --git a/xmloff/source/chart/SchXMLPropertyMappingContext.cxx b/xmloff/source/chart/SchXMLPropertyMappingContext.cxx
index 8303d5bd660f..29810fd185d4 100644
--- a/xmloff/source/chart/SchXMLPropertyMappingContext.cxx
+++ b/xmloff/source/chart/SchXMLPropertyMappingContext.cxx
@@ -13,6 +13,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/namespacemap.hxx>
#include <SchXMLImport.hxx>
+#include <sal/log.hxx>
#include <com/sun/star/chart2/data/XLabeledDataSequence2.hpp>
#include <com/sun/star/chart2/data/XDataSource.hpp>
@@ -21,6 +22,7 @@
using namespace com::sun::star;
using namespace com::sun::star::uno;
+using namespace ::xmloff::token;
namespace {
@@ -60,13 +62,12 @@ Reference< chart2::data::XLabeledDataSequence2 > createAndAddSequenceToSeries( c
}
-SchXMLPropertyMappingContext::SchXMLPropertyMappingContext( SchXMLImportHelper& rImpHelper,
+SchXMLPropertyMappingContext::SchXMLPropertyMappingContext(
SvXMLImport& rImport,
tSchXMLLSequencesPerIndex & rLSequencesPerIndex,
uno::Reference<
chart2::XDataSeries > const & xSeries ):
SvXMLImportContext( rImport ),
- mrImportHelper( rImpHelper ),
mxDataSeries(xSeries),
mrLSequencesPerIndex(rLSequencesPerIndex)
{
@@ -77,29 +78,25 @@ SchXMLPropertyMappingContext::~SchXMLPropertyMappingContext()
{
}
-void SchXMLPropertyMappingContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList )
+void SchXMLPropertyMappingContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
OUString aRange;
OUString aRole;
// parse attributes
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
- const SvXMLTokenMap& rAttrTokenMap = mrImportHelper.GetPropMappingAttrTokenMap();
-
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- OUString aValue = xAttrList->getValueByIndex( i );
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- switch( rAttrTokenMap.Get( nPrefix, aLocalName ))
+ OUString aValue = aIter.toString();
+ switch( aIter.getToken() )
{
- case XML_TOK_PROPERTY_MAPPING_PROPERTY:
+ case XML_ELEMENT(LO_EXT, XML_PROPERTY):
aRole = aValue;
break;
- case XML_TOK_PROPERTY_MAPPING_RANGE:
+ case XML_ELEMENT(LO_EXT, XML_CELL_RANGE_ADDRESS):
aRange = aValue;
break;
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
diff --git a/xmloff/source/chart/SchXMLPropertyMappingContext.hxx b/xmloff/source/chart/SchXMLPropertyMappingContext.hxx
index 31ae90d3dd3e..41154d344d4c 100644
--- a/xmloff/source/chart/SchXMLPropertyMappingContext.hxx
+++ b/xmloff/source/chart/SchXMLPropertyMappingContext.hxx
@@ -25,7 +25,7 @@ class SchXMLPropertyMappingContext : public SvXMLImportContext
{
public:
- SchXMLPropertyMappingContext( SchXMLImportHelper& rImpHelper,
+ SchXMLPropertyMappingContext(
SvXMLImport& rImport,
tSchXMLLSequencesPerIndex& rLSequencesPerIndex,
css::uno::Reference<
@@ -33,10 +33,10 @@ public:
virtual ~SchXMLPropertyMappingContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement (sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override;
private:
- SchXMLImportHelper& mrImportHelper;
css::uno::Reference< css::chart2::XDataSeries > mxDataSeries;
tSchXMLLSequencesPerIndex& mrLSequencesPerIndex;
diff --git a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
index ec9253a74058..fcb95607b6aa 100644
--- a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
+++ b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
@@ -59,25 +59,16 @@ SchXMLRegressionCurveObjectContext::~SchXMLRegressionCurveObjectContext()
{
}
-void SchXMLRegressionCurveObjectContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttributeList )
+void SchXMLRegressionCurveObjectContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- sal_Int16 nAttributeCount = xAttributeList.is()? xAttributeList->getLength(): 0;
OUString sAutoStyleName;
-
- for( sal_Int16 i = 0; i < nAttributeCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttributeName = xAttributeList->getNameByIndex( i );
- OUString aLocalName;
-
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttributeName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_CHART )
- {
- if( IsXMLToken( aLocalName, XML_STYLE_NAME ) )
- {
- sAutoStyleName = xAttributeList->getValueByIndex( i );
- }
- }
+ if (aIter.getToken() == XML_ELEMENT(CHART, XML_STYLE_NAME) )
+ sAutoStyleName = aIter.toString();
+ else
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
RegressionStyle aStyle( mxSeries, sAutoStyleName );
@@ -112,48 +103,46 @@ SchXMLEquationContext::SchXMLEquationContext(
SchXMLEquationContext::~SchXMLEquationContext()
{}
-void SchXMLEquationContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLEquationContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// parse attributes
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
SchXMLImport& rImport = static_cast< SchXMLImport& >(GetImport());
- const SvXMLTokenMap& rAttrTokenMap = mrImportHelper.GetRegEquationAttrTokenMap();
OUString sAutoStyleName;
-
bool bShowEquation = true;
bool bShowRSquare = false;
awt::Point aPosition;
bool bHasXPos = false;
bool bHasYPos = false;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- OUString aValue = xAttrList->getValueByIndex( i );
- sal_uInt16 nPrefix = rImport.GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- switch( rAttrTokenMap.Get( nPrefix, aLocalName ))
+ OUString aValue = aIter.toString();
+ switch(aIter.getToken())
{
- case XML_TOK_REGEQ_POS_X:
+ case XML_ELEMENT(SVG, XML_X):
+ case XML_ELEMENT(SVG_COMPAT, XML_X):
rImport.GetMM100UnitConverter().convertMeasureToCore(
aPosition.X, aValue );
bHasXPos = true;
break;
- case XML_TOK_REGEQ_POS_Y:
+ case XML_ELEMENT(SVG, XML_Y):
+ case XML_ELEMENT(SVG_COMPAT, XML_Y):
rImport.GetMM100UnitConverter().convertMeasureToCore(
aPosition.Y, aValue );
bHasYPos = true;
break;
- case XML_TOK_REGEQ_DISPLAY_EQUATION:
+ case XML_ELEMENT(CHART, XML_DISPLAY_EQUATION):
(void)::sax::Converter::convertBool(bShowEquation, aValue);
break;
- case XML_TOK_REGEQ_DISPLAY_R_SQUARE:
+ case XML_ELEMENT(CHART, XML_DISPLAY_R_SQUARE):
(void)::sax::Converter::convertBool(bShowRSquare, aValue);
break;
- case XML_TOK_REGEQ_STYLE_NAME:
+ case XML_ELEMENT(CHART, XML_STYLE_NAME):
sAutoStyleName = aValue;
break;
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
diff --git a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.hxx b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.hxx
index 4c3effb3cdf7..f9e815eb9cb8 100644
--- a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.hxx
+++ b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.hxx
@@ -37,10 +37,12 @@ public:
virtual ~SchXMLRegressionCurveObjectContext() override;
- virtual void StartElement( 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 >& xAttrList ) override;
private:
@@ -61,7 +63,8 @@ public:
virtual ~SchXMLEquationContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement (sal_Int32 Element,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override;
private:
SchXMLImportHelper& mrImportHelper;
diff --git a/xmloff/source/chart/SchXMLSeries2Context.cxx b/xmloff/source/chart/SchXMLSeries2Context.cxx
index 36aae6c8fdab..572bbba89c42 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.cxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.cxx
@@ -304,11 +304,10 @@ SchXMLSeries2Context::~SchXMLSeries2Context()
SAL_WARN_IF( !maPostponedSequences.empty(), "xmloff.chart", "maPostponedSequences is NULL");
}
-void SchXMLSeries2Context::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLSeries2Context::startFastElement (sal_Int32 /*Element*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// parse attributes
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
- const SvXMLTokenMap& rAttrTokenMap = mrImportHelper.GetSeriesAttrTokenMap();
mnAttachedAxis = 1;
bool bHasRange = false;
@@ -316,26 +315,22 @@ void SchXMLSeries2Context::StartElement( const uno::Reference< xml::sax::XAttrib
OUString aSeriesLabelString;
bool bHideLegend = false;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- OUString aValue = xAttrList->getValueByIndex( i );
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- switch( rAttrTokenMap.Get( nPrefix, aLocalName ))
+ OUString aValue = aIter.toString();
+ switch(aIter.getToken())
{
- case XML_TOK_SERIES_CELL_RANGE:
+ case XML_ELEMENT(CHART, XML_VALUES_CELL_RANGE_ADDRESS):
m_aSeriesRange = aValue;
bHasRange = true;
break;
- case XML_TOK_SERIES_LABEL_ADDRESS:
+ case XML_ELEMENT(CHART, XML_LABEL_CELL_ADDRESS):
aSeriesLabelRange = aValue;
break;
- case XML_TOK_SERIES_LABEL_STRING:
+ case XML_ELEMENT(LO_EXT, XML_LABEL_STRING):
aSeriesLabelString = aValue;
break;
- case XML_TOK_SERIES_ATTACHED_AXIS:
+ case XML_ELEMENT(CHART, XML_ATTACHED_AXIS):
{
sal_Int32 nNumOfAxes = mrAxes.size();
for( sal_Int32 nCurrent = 0; nCurrent < nNumOfAxes; nCurrent++ )
@@ -348,10 +343,10 @@ void SchXMLSeries2Context::StartElement( const uno::Reference< xml::sax::XAttrib
}
}
break;
- case XML_TOK_SERIES_STYLE_NAME:
+ case XML_ELEMENT(CHART, XML_STYLE_NAME):
msAutoStyleName = aValue;
break;
- case XML_TOK_SERIES_CHART_CLASS:
+ case XML_ELEMENT(CHART, XML_CLASS):
{
OUString aClassName;
sal_uInt16 nClassPrefix =
@@ -364,9 +359,11 @@ void SchXMLSeries2Context::StartElement( const uno::Reference< xml::sax::XAttrib
maSeriesChartTypeName = aClassName;
}
break;
- case XML_TOK_SERIES_HIDE_LEGEND:
+ case XML_ELEMENT(LO_EXT, XML_HIDE_LEGEND):
bHideLegend = aValue.toBoolean();
break;
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
@@ -733,7 +730,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLSeries2Context::
break;
case XML_ELEMENT(LO_EXT, XML_PROPERTY_MAPPING):
- pContext = new SchXMLPropertyMappingContext( mrImportHelper,
+ pContext = new SchXMLPropertyMappingContext(
GetImport(),
mrLSequencesPerIndex, m_xSeries );
break;
diff --git a/xmloff/source/chart/SchXMLSeries2Context.hxx b/xmloff/source/chart/SchXMLSeries2Context.hxx
index 1bced37cfdeb..6b863bd39a53 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.hxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.hxx
@@ -85,10 +85,12 @@ public:
const css::awt::Size & rChartSize );
virtual ~SchXMLSeries2Context() override;
- virtual void StartElement( 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 >& xAttrList ) override;
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
static void initSeriesPropertySets( SeriesDefaultsAndStyles& rSeriesDefaultsAndStyles
diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
index 1c2b912a7717..e00245a2e2c3 100644
--- a/xmloff/source/chart/SchXMLTableContext.cxx
+++ b/xmloff/source/chart/SchXMLTableContext.cxx
@@ -195,11 +195,9 @@ bool lcl_tableOfRangeMatches(
} // anonymous namespace
// class SchXMLTableContext
-SchXMLTableContext::SchXMLTableContext( SchXMLImportHelper& rImpHelper,
- SvXMLImport& rImport,
+SchXMLTableContext::SchXMLTableContext( SvXMLImport& rImport,
SchXMLTable& aTable ) :
SvXMLImportContext( rImport ),
- mrImportHelper( rImpHelper ),
mrTable( aTable ),
mbHasRowPermutation( false ),
mbHasColumnPermutation( false )
@@ -237,11 +235,11 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLTableContext::cr
mrTable.bHasHeaderRow = true;
[[fallthrough]];
case XML_ELEMENT(TABLE, XML_TABLE_ROWS):
- pContext = new SchXMLTableRowsContext( mrImportHelper, GetImport(), mrTable );
+ pContext = new SchXMLTableRowsContext( GetImport(), mrTable );
break;
case XML_ELEMENT(TABLE, XML_TABLE_ROW):
- pContext = new SchXMLTableRowContext( mrImportHelper, GetImport(), mrTable );
+ pContext = new SchXMLTableRowContext( GetImport(), mrTable );
break;
default:
XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
@@ -250,29 +248,26 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLTableContext::cr
return pContext;
}
-void SchXMLTableContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLTableContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// get table-name
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
- if ( nPrefix == XML_NAMESPACE_TABLE )
+ switch(aIter.getToken())
{
- if ( IsXMLToken( aLocalName, XML_NAME ) )
- {
- mrTable.aTableNameOfFile = xAttrList->getValueByIndex( i );
- }
- else if ( IsXMLToken( aLocalName, XML_PROTECTED ) )
- {
- if ( IsXMLToken( xAttrList->getValueByIndex( i ), XML_TRUE ) )
+ case XML_ELEMENT(TABLE, XML_NAME):
+ mrTable.aTableNameOfFile = aIter.toString();
+ break;
+ case XML_ELEMENT(TABLE, XML_PROTECTED):
+ if ( IsXMLToken( aIter.toString(), XML_TRUE ) )
{
mrTable.bProtected = true;
}
- }
+ break;
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
}
@@ -419,31 +414,32 @@ SchXMLTableColumnContext::SchXMLTableColumnContext(
{
}
-void SchXMLTableColumnContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLTableColumnContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// get number-columns-repeated attribute
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
sal_Int32 nRepeated = 1;
bool bHidden = false;
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_TABLE &&
- IsXMLToken( aLocalName, XML_NUMBER_COLUMNS_REPEATED ) )
- {
- OUString aValue = xAttrList->getValueByIndex( i );
- if( !aValue.isEmpty())
- nRepeated = aValue.toInt32();
- }
- else if( nPrefix == XML_NAMESPACE_TABLE &&
- IsXMLToken( aLocalName, XML_VISIBILITY ) )
+ switch(aIter.getToken())
{
- OUString aVisibility = xAttrList->getValueByIndex( i );
- bHidden = aVisibility == GetXMLToken( XML_COLLAPSE );
+ case XML_ELEMENT(TABLE, XML_NUMBER_COLUMNS_REPEATED):
+ {
+ OUString aValue = aIter.toString();
+ if( !aValue.isEmpty())
+ nRepeated = aValue.toInt32();
+ break;
+ }
+ case XML_ELEMENT(TABLE, XML_VISIBILITY):
+ {
+ OUString aVisibility = aIter.toString();
+ bHidden = aVisibility == GetXMLToken( XML_COLLAPSE );
+ break;
+ }
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
@@ -471,11 +467,9 @@ SchXMLTableColumnContext::~SchXMLTableColumnContext()
// classes for rows
// class SchXMLTableRowsContext
SchXMLTableRowsContext::SchXMLTableRowsContext(
- SchXMLImportHelper& rImpHelper,
SvXMLImport& rImport,
SchXMLTable& aTable ) :
SvXMLImportContext( rImport ),
- mrImportHelper( rImpHelper ),
mrTable( aTable )
{
}
@@ -491,7 +485,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLTableRowsContext
SvXMLImportContext* pContext = nullptr;
if( nElement == XML_ELEMENT(TABLE, XML_TABLE_ROW) )
- pContext = new SchXMLTableRowContext( mrImportHelper, GetImport(), mrTable );
+ pContext = new SchXMLTableRowContext( GetImport(), mrTable );
else
XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement);
@@ -500,11 +494,9 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLTableRowsContext
// class SchXMLTableRowContext
SchXMLTableRowContext::SchXMLTableRowContext(
- SchXMLImportHelper& rImpHelper,
SvXMLImport& rImport,
SchXMLTable& aTable ) :
SvXMLImportContext( rImport ),
- mrImportHelper( rImpHelper ),
mrTable( aTable )
{
mrTable.nColumnIndex = -1;
@@ -529,7 +521,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLTableRowContext:
// <table:table-cell> element
if( nElement == XML_ELEMENT(TABLE, XML_TABLE_CELL) )
{
- pContext = new SchXMLTableCellContext( mrImportHelper, GetImport(), mrTable );
+ pContext = new SchXMLTableCellContext( GetImport(), mrTable );
}
else
{
@@ -568,10 +560,9 @@ public:
// classes for cells and their content
// class SchXMLTableCellContext
SchXMLTableCellContext::SchXMLTableCellContext(
- SchXMLImportHelper& rImpHelper, SvXMLImport& rImport,
+ SvXMLImport& rImport,
SchXMLTable& aTable)
: SvXMLImportContext(rImport)
- , mrImportHelper(rImpHelper)
, mrTable(aTable)
, mbReadText(false)
{
@@ -581,33 +572,31 @@ SchXMLTableCellContext::~SchXMLTableCellContext()
{
}
-void SchXMLTableCellContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SchXMLTableCellContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- sal_Int16 nAttrCount = xAttrList.is()? xAttrList->getLength(): 0;
OUString aValue;
- OUString aLocalName;
OUString aCellContent;
SchXMLCellType eValueType = SCH_CELL_TYPE_UNKNOWN;
- const SvXMLTokenMap& rAttrTokenMap = mrImportHelper.GetCellAttrTokenMap();
- for( sal_Int16 i = 0; i < nAttrCount; i++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sAttrName = xAttrList->getNameByIndex( i );
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
-
- switch( rAttrTokenMap.Get( nPrefix, aLocalName ))
+ switch(aIter.getToken())
{
- case XML_TOK_CELL_VAL_TYPE:
- aValue = xAttrList->getValueByIndex( i );
+ case XML_ELEMENT(OFFICE, XML_VALUE_TYPE):
+ aValue = aIter.toString();
if( IsXMLToken( aValue, XML_FLOAT ) )
eValueType = SCH_CELL_TYPE_FLOAT;
else if( IsXMLToken( aValue, XML_STRING ) )
eValueType = SCH_CELL_TYPE_STRING;
break;
- case XML_TOK_CELL_VALUE:
- aCellContent = xAttrList->getValueByIndex( i );
+ case XML_ELEMENT(OFFICE, XML_VALUE):
+ aCellContent = aIter.toString();
break;
+
+ default:
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
diff --git a/xmloff/source/chart/SchXMLTableContext.hxx b/xmloff/source/chart/SchXMLTableContext.hxx
index 179a071f3046..ed231db352ca 100644
--- a/xmloff/source/chart/SchXMLTableContext.hxx
+++ b/xmloff/source/chart/SchXMLTableContext.hxx
@@ -39,7 +39,6 @@ namespace com::sun::star {
class SchXMLTableContext : public SvXMLImportContext
{
private:
- SchXMLImportHelper& mrImportHelper;
SchXMLTable& mrTable;
bool mbHasRowPermutation;
@@ -48,15 +47,16 @@ private:
css::uno::Sequence< sal_Int32 > maColumnPermutation;
public:
- SchXMLTableContext( SchXMLImportHelper& rImpHelper,
- SvXMLImport& rImport,
+ SchXMLTableContext( SvXMLImport& rImport,
SchXMLTable& aTable );
virtual ~SchXMLTableContext() 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 StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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;
void setRowPermutation( const css::uno::Sequence< sal_Int32 > & rPermutation );
@@ -109,7 +109,9 @@ public:
SchXMLTableColumnContext( SvXMLImport& rImport,
SchXMLTable& aTable );
virtual ~SchXMLTableColumnContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// classes for rows
@@ -117,12 +119,10 @@ public:
class SchXMLTableRowsContext : public SvXMLImportContext
{
private:
- SchXMLImportHelper& mrImportHelper;
SchXMLTable& mrTable;
public:
- SchXMLTableRowsContext( SchXMLImportHelper& rImpHelper,
- SvXMLImport& rImport,
+ SchXMLTableRowsContext( SvXMLImport& rImport,
SchXMLTable& aTable );
virtual ~SchXMLTableRowsContext() override;
@@ -134,12 +134,10 @@ public:
class SchXMLTableRowContext : public SvXMLImportContext
{
private:
- SchXMLImportHelper& mrImportHelper;
SchXMLTable& mrTable;
public:
- SchXMLTableRowContext( SchXMLImportHelper& rImpHelper,
- SvXMLImport& rImport,
+ SchXMLTableRowContext( SvXMLImport& rImport,
SchXMLTable& aTable );
virtual ~SchXMLTableRowContext() override;
@@ -153,22 +151,22 @@ public:
class SchXMLTableCellContext : public SvXMLImportContext
{
private:
- SchXMLImportHelper& mrImportHelper;
SchXMLTable& mrTable;
OUString maCellContent;
OUString maRangeId;
bool mbReadText;
public:
- SchXMLTableCellContext( SchXMLImportHelper& rImpHelper,
- SvXMLImport& rImport,
+ SchXMLTableCellContext( SvXMLImport& rImport,
SchXMLTable& aTable );
virtual ~SchXMLTableCellContext() 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 StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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;
};
diff --git a/xmloff/source/draw/ximp3dobject.cxx b/xmloff/source/draw/ximp3dobject.cxx
index 00d0ca472050..b58e7c559578 100644
--- a/xmloff/source/draw/ximp3dobject.cxx
+++ b/xmloff/source/draw/ximp3dobject.cxx
@@ -70,7 +70,9 @@ SdXML3DObjectContext::~SdXML3DObjectContext()
{
}
-void SdXML3DObjectContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DObjectContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
if(xPropSet.is())
@@ -82,7 +84,7 @@ void SdXML3DObjectContext::StartElement(const uno::Reference< xml::sax::XAttribu
}
// call parent
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
}
@@ -131,7 +133,9 @@ SdXML3DCubeObjectShapeContext::~SdXML3DCubeObjectShapeContext()
{
}
-void SdXML3DCubeObjectShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DCubeObjectShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
// create shape
AddShape( "com.sun.star.drawing.Shape3DCubeObject" );
@@ -140,7 +144,7 @@ void SdXML3DCubeObjectShapeContext::StartElement(const uno::Reference< xml::sax:
// add, set style and properties from base shape
SetStyle();
- SdXML3DObjectContext::StartElement(xAttrList);
+ SdXML3DObjectContext::startFastElement(nElement, xAttrList);
// set local parameters on shape
uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
@@ -211,7 +215,9 @@ SdXML3DSphereObjectShapeContext::~SdXML3DSphereObjectShapeContext()
{
}
-void SdXML3DSphereObjectShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DSphereObjectShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
// create shape
AddShape( "com.sun.star.drawing.Shape3DSphereObject" );
@@ -220,7 +226,7 @@ void SdXML3DSphereObjectShapeContext::StartElement(const uno::Reference< xml::sa
// add, set style and properties from base shape
SetStyle();
- SdXML3DObjectContext::StartElement(xAttrList);
+ SdXML3DObjectContext::startFastElement(nElement, xAttrList);
// set local parameters on shape
uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
@@ -278,7 +284,9 @@ SdXML3DPolygonBasedShapeContext::~SdXML3DPolygonBasedShapeContext()
{
}
-void SdXML3DPolygonBasedShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DPolygonBasedShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
uno::Reference< beans::XPropertySet > xPropSet(mxShape, uno::UNO_QUERY);
@@ -314,7 +322,7 @@ void SdXML3DPolygonBasedShapeContext::StartElement(const uno::Reference< xml::sa
}
// call parent
- SdXML3DObjectContext::StartElement(xAttrList);
+ SdXML3DObjectContext::startFastElement(nElement, xAttrList);
}
@@ -330,7 +338,9 @@ SdXML3DLatheObjectShapeContext::~SdXML3DLatheObjectShapeContext()
{
}
-void SdXML3DLatheObjectShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DLatheObjectShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
// create shape
AddShape( "com.sun.star.drawing.Shape3DLatheObject" );
@@ -338,7 +348,7 @@ void SdXML3DLatheObjectShapeContext::StartElement(const uno::Reference< xml::sax
{
// add, set style and properties from base shape
SetStyle();
- SdXML3DPolygonBasedShapeContext::StartElement(xAttrList);
+ SdXML3DPolygonBasedShapeContext::startFastElement(nElement, xAttrList);
}
}
@@ -354,14 +364,16 @@ SdXML3DExtrudeObjectShapeContext::~SdXML3DExtrudeObjectShapeContext()
{
}
-void SdXML3DExtrudeObjectShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DExtrudeObjectShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
AddShape( "com.sun.star.drawing.Shape3DExtrudeObject" );
if(mxShape.is())
{
// add, set style and properties from base shape
SetStyle();
- SdXML3DPolygonBasedShapeContext::StartElement(xAttrList);
+ SdXML3DPolygonBasedShapeContext::startFastElement(nElement, xAttrList);
}
}
diff --git a/xmloff/source/draw/ximp3dobject.hxx b/xmloff/source/draw/ximp3dobject.hxx
index 5beca9c2ff97..ac40bd88b6ac 100644
--- a/xmloff/source/draw/ximp3dobject.hxx
+++ b/xmloff/source/draw/ximp3dobject.hxx
@@ -40,7 +40,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DObjectContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// dr3d:3dcube context
@@ -57,7 +59,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DCubeObjectShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// dr3d:3dsphere context
@@ -74,7 +78,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DSphereObjectShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// polygonbased context
@@ -91,7 +97,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DPolygonBasedShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// dr3d:3dlathe context
@@ -105,7 +113,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DLatheObjectShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
// dr3d:3dextrude context
@@ -119,7 +129,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXML3DExtrudeObjectShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
};
#endif // INCLUDED_XMLOFF_SOURCE_DRAW_XIMP3DOBJECT_HXX
diff --git a/xmloff/source/draw/ximp3dscene.cxx b/xmloff/source/draw/ximp3dscene.cxx
index 247dca10bfb2..b062898256ff 100644
--- a/xmloff/source/draw/ximp3dscene.cxx
+++ b/xmloff/source/draw/ximp3dscene.cxx
@@ -105,7 +105,9 @@ SdXML3DSceneShapeContext::~SdXML3DSceneShapeContext()
{
}
-void SdXML3DSceneShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXML3DSceneShapeContext::startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
// create new 3DScene shape and add it to rShapes, use it
// as base for the new 3DScene import
@@ -125,21 +127,14 @@ void SdXML3DSceneShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
}
// read attributes for the 3DScene
- sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
- for(sal_Int16 i=0; i < nAttrCount; i++)
- {
- OUString sAttrName = xAttrList->getNameByIndex( i );
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
- OUString sValue = xAttrList->getValueByIndex( i );
- processSceneAttribute( nPrefix, aLocalName, sValue );
- }
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
+ processSceneAttribute( aIter.getToken(), aIter.toString() );
// #91047# call parent function is missing here, added it
if(mxShape.is())
{
// call parent
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
}
@@ -243,100 +238,105 @@ SvXMLImportContext * SdXML3DSceneAttributesHelper::create3DLightContext( const c
}
/** this should be called for each scene attribute */
-void SdXML3DSceneAttributesHelper::processSceneAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue )
+void SdXML3DSceneAttributesHelper::processSceneAttribute( sal_Int32 nAttributeToken, const OUString& rValue )
{
- if( XML_NAMESPACE_DR3D != nPrefix )
+ if( !IsTokenInNamespace(nAttributeToken, XML_NAMESPACE_DR3D) )
return;
- if( IsXMLToken( rLocalName, XML_TRANSFORM ) )
- {
- SdXMLImExTransform3D aTransform(rValue, mrImport.GetMM100UnitConverter());
- if(aTransform.NeedsAction())
- mbSetTransform = aTransform.GetFullHomogenTransform(mxHomMat);
- return;
- }
- else if( IsXMLToken( rLocalName, XML_VRP ) )
+ switch(nAttributeToken & TOKEN_MASK)
{
- ::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
-
- if(aNewVec != maVRP)
+ case XML_TRANSFORM:
{
- maVRP = aNewVec;
- mbVRPUsed = true;
+ SdXMLImExTransform3D aTransform(rValue, mrImport.GetMM100UnitConverter());
+ if(aTransform.NeedsAction())
+ mbSetTransform = aTransform.GetFullHomogenTransform(mxHomMat);
+ return;
}
- return;
- }
- else if( IsXMLToken( rLocalName, XML_VPN ) )
- {
- ::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
+ case XML_VRP:
+ {
+ ::basegfx::B3DVector aNewVec;
+ SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
- if(aNewVec != maVPN)
+ if(aNewVec != maVRP)
+ {
+ maVRP = aNewVec;
+ mbVRPUsed = true;
+ }
+ return;
+ }
+ case XML_VPN:
{
- maVPN = aNewVec;
- mbVPNUsed = true;
+ ::basegfx::B3DVector aNewVec;
+ SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
+
+ if(aNewVec != maVPN)
+ {
+ maVPN = aNewVec;
+ mbVPNUsed = true;
+ }
+ return;
}
- return;
- }
- else if( IsXMLToken( rLocalName, XML_VUP ) )
- {
- ::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
+ case XML_VUP:
+ {
+ ::basegfx::B3DVector aNewVec;
+ SvXMLUnitConverter::convertB3DVector(aNewVec, rValue);
- if(aNewVec != maVUP)
+ if(aNewVec != maVUP)
+ {
+ maVUP = aNewVec;
+ mbVUPUsed = true;
+ }
+ return;
+ }
+ case XML_PROJECTION:
{
- maVUP = aNewVec;
- mbVUPUsed = true;
+ if( IsXMLToken( rValue, XML_PARALLEL ) )
+ mxPrjMode = drawing::ProjectionMode_PARALLEL;
+ else
+ mxPrjMode = drawing::ProjectionMode_PERSPECTIVE;
+ return;
}
- return;
- }
- else if( IsXMLToken( rLocalName, XML_PROJECTION ) )
- {
- if( IsXMLToken( rValue, XML_PARALLEL ) )
- mxPrjMode = drawing::ProjectionMode_PARALLEL;
- else
- mxPrjMode = drawing::ProjectionMode_PERSPECTIVE;
- return;
- }
- else if( IsXMLToken( rLocalName, XML_DISTANCE ) )
- {
- mrImport.GetMM100UnitConverter().convertMeasureToCore(mnDistance,
- rValue);
- return;
- }
- else if( IsXMLToken( rLocalName, XML_FOCAL_LENGTH ) )
- {
- mrImport.GetMM100UnitConverter().convertMeasureToCore(mnFocalLength,
- rValue);
- return;
- }
- else if( IsXMLToken( rLocalName, XML_SHADOW_SLANT ) )
- {
- ::sax::Converter::convertNumber(mnShadowSlant, rValue);
- return;
- }
- else if( IsXMLToken( rLocalName, XML_SHADE_MODE ) )
- {
- if( IsXMLToken( rValue, XML_FLAT ) )
- mxShadeMode = drawing::ShadeMode_FLAT;
- else if( IsXMLToken( rValue, XML_PHONG ) )
- mxShadeMode = drawing::ShadeMode_PHONG;
- else if( IsXMLToken( rValue, XML_GOURAUD ) )
- mxShadeMode = drawing::ShadeMode_SMOOTH;
- else
- mxShadeMode = drawing::ShadeMode_DRAFT;
- return;
- }
- else if( IsXMLToken( rLocalName, XML_AMBIENT_COLOR ) )
- {
- ::sax::Converter::convertColor(maAmbientColor, rValue);
- return;
- }
- else if( IsXMLToken( rLocalName, XML_LIGHTING_MODE ) )
- {
- (void)::sax::Converter::convertBool(mbLightingMode, rValue);
- return;
+ case XML_DISTANCE:
+ {
+ mrImport.GetMM100UnitConverter().convertMeasureToCore(mnDistance,
+ rValue);
+ return;
+ }
+ case XML_FOCAL_LENGTH:
+ {
+ mrImport.GetMM100UnitConverter().convertMeasureToCore(mnFocalLength,
+ rValue);
+ return;
+ }
+ case XML_SHADOW_SLANT:
+ {
+ ::sax::Converter::convertNumber(mnShadowSlant, rValue);
+ return;
+ }
+ case XML_SHADE_MODE:
+ {
+ if( IsXMLToken( rValue, XML_FLAT ) )
+ mxShadeMode = drawing::ShadeMode_FLAT;
+ else if( IsXMLToken( rValue, XML_PHONG ) )
+ mxShadeMode = drawing::ShadeMode_PHONG;
+ else if( IsXMLToken( rValue, XML_GOURAUD ) )
+ mxShadeMode = drawing::ShadeMode_SMOOTH;
+ else
+ mxShadeMode = drawing::ShadeMode_DRAFT;
+ return;
+ }
+ case XML_AMBIENT_COLOR:
+ {
+ ::sax::Converter::convertColor(maAmbientColor, rValue);
+ return;
+ }
+ case XML_LIGHTING_MODE:
+ {
+ (void)::sax::Converter::convertBool(mbLightingMode, rValue);
+ return;
+ }
+ default:
+ XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, rValue);
}
}
diff --git a/xmloff/source/draw/ximp3dscene.hxx b/xmloff/source/draw/ximp3dscene.hxx
index 2b8f15705d36..9d06f93990cf 100644
--- a/xmloff/source/draw/ximp3dscene.hxx
+++ b/xmloff/source/draw/ximp3dscene.hxx
@@ -41,11 +41,13 @@ public:
bool bTemporaryShape);
virtual ~SdXML3DSceneShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
- virtual void SAL_CALL endFastElement(sal_Int32 nElement) 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 >& xAttrList ) override;
+ virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
virtual SvXMLImportContextRef CreateChildContext(
sal_uInt16 nPrefix, const OUString& rLocalName,
diff --git a/xmloff/source/draw/ximpgrp.cxx b/xmloff/source/draw/ximpgrp.cxx
index 8eda3df0697a..6627cfacb692 100644
--- a/xmloff/source/draw/ximpgrp.cxx
+++ b/xmloff/source/draw/ximpgrp.cxx
@@ -71,7 +71,8 @@ SvXMLImportContextRef SdXMLGroupShapeContext::CreateChildContext( sal_uInt16 nPr
return xContext;
}
-void SdXMLGroupShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>&)
+void SdXMLGroupShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
// create new group shape and add it to rShapes, use it
// as base for the new group import
diff --git a/xmloff/source/draw/ximpgrp.hxx b/xmloff/source/draw/ximpgrp.hxx
index dfa2478c8ac2..e0c6802b9f08 100644
--- a/xmloff/source/draw/ximpgrp.hxx
+++ b/xmloff/source/draw/ximpgrp.hxx
@@ -42,7 +42,9 @@ public:
virtual SvXMLImportContextRef CreateChildContext(
sal_uInt16 nPrefix, const OUString& rLocalName,
const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) 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;
};
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index e9ff3b51b5cd..15e627ba3953 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -336,7 +336,8 @@ void SdXMLShapeContext::addGluePoint( const uno::Reference< xml::sax::XAttribute
}
}
-void SdXMLShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>&)
+void SdXMLShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
GetImport().GetShapeImport()->finishShape( mxShape, mxAttrList, mxShapes );
}
@@ -970,7 +971,8 @@ void SdXMLRectShapeContext::processAttribute( sal_uInt16 nPrefix, const OUString
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLRectShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLRectShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create rectangle shape
AddShape("com.sun.star.drawing.RectangleShape");
@@ -999,7 +1001,7 @@ void SdXMLRectShapeContext::StartElement(const uno::Reference< xml::sax::XAttrib
}
}
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1054,7 +1056,8 @@ void SdXMLLineShapeContext::processAttribute( sal_uInt16 nPrefix, const OUString
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLLineShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLLineShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// #85920# use SetTransformation() to handle import of simple lines.
// This is necessary to take into account all anchor positions and
@@ -1110,7 +1113,7 @@ void SdXMLLineShapeContext::StartElement(const uno::Reference< xml::sax::XAttrib
// set pos, size, shear and rotate and get copy of matrix
SetTransformation();
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1198,7 +1201,8 @@ void SdXMLEllipseShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLEllipseShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLEllipseShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create rectangle shape
AddShape("com.sun.star.drawing.EllipseShape");
@@ -1232,7 +1236,7 @@ void SdXMLEllipseShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
}
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1272,7 +1276,8 @@ SdXMLPolygonShapeContext::~SdXMLPolygonShapeContext()
{
}
-void SdXMLPolygonShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLPolygonShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// Add, set Style and properties from base shape
if(mbClosed)
@@ -1339,7 +1344,7 @@ void SdXMLPolygonShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
// set pos, size, shear and rotate and get copy of matrix
SetTransformation();
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1376,7 +1381,8 @@ void SdXMLPathShapeContext::processAttribute( sal_uInt16 nPrefix, const OUString
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLPathShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLPathShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create polygon shape
if(maD.isEmpty())
@@ -1490,7 +1496,7 @@ void SdXMLPathShapeContext::StartElement(const uno::Reference< xml::sax::XAttrib
// set pos, size, shear and rotate
SetTransformation();
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1531,7 +1537,8 @@ void SdXMLTextBoxShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLTextBoxShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>&)
+void SdXMLTextBoxShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create textbox shape
bool bIsPresShape = false;
@@ -1676,7 +1683,7 @@ void SdXMLTextBoxShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
}
}
- SdXMLShapeContext::StartElement(mxAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1708,7 +1715,8 @@ void SdXMLControlShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLControlShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLControlShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create Control shape
// add, set style and properties from base shape
@@ -1738,7 +1746,7 @@ void SdXMLControlShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
// set pos, size, shear and rotate
SetTransformation();
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -1891,7 +1899,8 @@ void SdXMLConnectorShapeContext::processAttribute( sal_uInt16 nPrefix, const OUS
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLConnectorShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLConnectorShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// For security reasons, do not add empty connectors. There may have been an error in EA2
// that created empty, far set off connectors (e.g. 63 meters below top of document). This
@@ -2042,7 +2051,7 @@ void SdXMLConnectorShapeContext::StartElement(const uno::Reference< xml::sax::XA
}
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -2098,7 +2107,8 @@ void SdXMLMeasureShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStr
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLMeasureShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLMeasureShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create Measure shape
// add, set style and properties from base shape
@@ -2123,7 +2133,7 @@ void SdXMLMeasureShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
xText->setString( " " );
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
void SdXMLMeasureShapeContext::endFastElement(sal_Int32 nElement)
@@ -2178,7 +2188,8 @@ void SdXMLPageShapeContext::processAttribute( sal_uInt16 nPrefix, const OUString
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLPageShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLPageShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create Page shape
// add, set style and properties from base shape
@@ -2230,7 +2241,7 @@ void SdXMLPageShapeContext::StartElement(const uno::Reference< xml::sax::XAttrib
xPropSet->setPropertyValue(aPageNumberStr, uno::makeAny( mnPageNumber ));
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
@@ -2249,7 +2260,8 @@ SdXMLCaptionShapeContext::~SdXMLCaptionShapeContext()
{
}
-void SdXMLCaptionShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLCaptionShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create Caption shape
// add, set style and properties from base shape
@@ -2301,7 +2313,7 @@ void SdXMLCaptionShapeContext::StartElement(const uno::Reference< xml::sax::XAtt
}
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
// this is called from the parent group for each unparsed attribute in the attribute list
@@ -2356,7 +2368,8 @@ void SdXMLGraphicObjectShapeContext::processAttribute( sal_uInt16 nPrefix, const
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLGraphicObjectShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& )
+void SdXMLGraphicObjectShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create graphic object shape
OUString service;
@@ -2427,7 +2440,7 @@ void SdXMLGraphicObjectShapeContext::StartElement( const css::uno::Reference< cs
// set pos, size, shear and rotate
SetTransformation();
- SdXMLShapeContext::StartElement(mxAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
void SdXMLGraphicObjectShapeContext::endFastElement(sal_Int32 nElement)
@@ -2490,7 +2503,8 @@ SdXMLChartShapeContext::SdXMLChartShapeContext(
{
}
-void SdXMLChartShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList)
+void SdXMLChartShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
const bool bIsPresentation = isPresentationShape();
@@ -2544,10 +2558,10 @@ void SdXMLChartShapeContext::StartElement(const uno::Reference< xml::sax::XAttri
// set pos, size, shear and rotate
SetTransformation();
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
if( mxChartContext.is() )
- mxChartContext->StartElement( xAttrList );
+ mxChartContext->startFastElement( nElement, xAttrList );
}
void SdXMLChartShapeContext::endFastElement(sal_Int32 nElement)
@@ -2585,7 +2599,8 @@ SdXMLObjectShapeContext::~SdXMLObjectShapeContext()
{
}
-void SdXMLObjectShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& )
+void SdXMLObjectShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
// #96717# in theorie, if we don't have a URL we shouldn't even
// export this OLE shape. But practically it's too risky right now
@@ -2798,7 +2813,8 @@ SdXMLAppletShapeContext::~SdXMLAppletShapeContext()
{
}
-void SdXMLAppletShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& )
+void SdXMLAppletShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
AddShape("com.sun.star.drawing.AppletShape");
@@ -2948,21 +2964,19 @@ SdXMLPluginShapeContext::~SdXMLPluginShapeContext()
{
}
-void SdXMLPluginShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList)
+void SdXMLPluginShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// watch for MimeType attribute to see if we have a media object
- for( sal_Int16 n = 0, nAttrCount = ( xAttrList.is() ? xAttrList->getLength() : 0 ); n < nAttrCount; ++n )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aLocalName;
- sal_uInt16 nPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( xAttrList->getNameByIndex( n ), &aLocalName );
-
- if( nPrefix == XML_NAMESPACE_DRAW && IsXMLToken( aLocalName, XML_MIME_TYPE ) )
+ if( aIter.getToken() == XML_ELEMENT(DRAW, XML_MIME_TYPE) )
{
- if( xAttrList->getValueByIndex( n ) == "application/vnd.sun.star.media" )
+ if( aIter.toString() == "application/vnd.sun.star.media" )
mbMedia = true;
// leave this loop
- n = nAttrCount - 1;
+ break;
}
}
@@ -3212,7 +3226,8 @@ SdXMLFloatingFrameShapeContext::~SdXMLFloatingFrameShapeContext()
{
}
-void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& )
+void SdXMLFloatingFrameShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
AddShape("com.sun.star.drawing.FrameShape");
@@ -3530,7 +3545,8 @@ SvXMLImportContextRef SdXMLFrameShapeContext::CreateChildContext( sal_uInt16 nPr
return xContext;
}
-void SdXMLFrameShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>&)
+void SdXMLFrameShapeContext::startFastElement (sal_Int32 /*nElement*/,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/)
{
// ignore
}
@@ -3685,7 +3701,8 @@ void SdXMLCustomShapeContext::processAttribute( sal_uInt16 nPrefix, const OUStri
SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue );
}
-void SdXMLCustomShapeContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
+void SdXMLCustomShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
// create rectangle shape
AddShape("com.sun.star.drawing.CustomShape");
@@ -3718,7 +3735,7 @@ void SdXMLCustomShapeContext::StartElement( const uno::Reference< xml::sax::XAtt
{
DBG_UNHANDLED_EXCEPTION( "xmloff", "setting enhanced customshape geometry" );
}
- SdXMLShapeContext::StartElement(xAttrList);
+ SdXMLShapeContext::startFastElement(nElement, xAttrList);
}
void SdXMLCustomShapeContext::endFastElement(sal_Int32 nElement)
@@ -3873,7 +3890,8 @@ SdXMLTableShapeContext::~SdXMLTableShapeContext()
{
}
-void SdXMLTableShapeContext::StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
+void SdXMLTableShapeContext::startFastElement (sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
OUString service("com.sun.star.drawing.TableShape");
@@ -3952,7 +3970,7 @@ void SdXMLTableShapeContext::StartElement( const css::uno::Reference< css::xml::
mxTableImportContext = xTableImport->CreateTableContext( xColumnRowRange );
if( mxTableImportContext.is() )
- mxTableImportContext->StartElement( xAttrList );
+ mxTableImportContext->startFastElement( nElement, xAttrList );
}
}
diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx
index 84a76b315d55..ca89d1ffc431 100644
--- a/xmloff/source/draw/ximpshap.hxx
+++ b/xmloff/source/draw/ximpshap.hxx
@@ -104,7 +104,9 @@ public:
bool bTemporaryShape);
virtual ~SdXMLShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
@@ -128,7 +130,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLRectShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -150,7 +154,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLLineShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -175,7 +181,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLEllipseShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -195,7 +203,9 @@ public:
const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList,
css::uno::Reference< css::drawing::XShapes > const & rShapes, bool bClosed, bool bTemporaryShape);
virtual ~SdXMLPolygonShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -215,7 +225,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLPathShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -234,7 +246,9 @@ public:
const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList,
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLTextBoxShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -254,7 +268,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLControlShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -289,7 +305,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLConnectorShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -310,7 +328,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLMeasureShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) 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;
// this is called from the parent group for each unparsed attribute in the attribute list
@@ -330,7 +350,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLPageShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -351,7 +373,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
virtual ~SdXMLCaptionShapeContext() override;
- virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList) override;
+ virtual void SAL_CALL startFastElement(
+ sal_Int32 nElement,
+ const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
// this is called from the parent group for each unparsed attribute in the attribute list
virtual void processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -372,7 +396,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLGraphicObjectShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) override;
@@ -394,7 +420,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes,
bool bTemporaryShape);
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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,
@@ -418,7 +446,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLObjectShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(
@@ -450,7 +480,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLAppletShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
@@ -478,7 +510,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLPluginShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
@@ -505,7 +539,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLFloatingFrameShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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;
// this is called from the parent group for each unparsed attribute in the attribute list
@@ -538,7 +574,9 @@ public:
virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 processAttribute( sal_uInt16 nPrefix, const OUString& rLocalName, const OUString& rValue ) override;
@@ -559,7 +597,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes);
virtual ~SdXMLCustomShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName,
@@ -580,7 +620,9 @@ public:
css::uno::Reference< css::drawing::XShapes > const & rShapes );
virtual ~SdXMLTableShapeContext() override;
- virtual void StartElement( const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList ) 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 SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const css::uno::Reference< css::xml::sax::XAttributeList>& xAttrList ) override;