summaryrefslogtreecommitdiff
path: root/xmloff/source/style
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-12-15 09:38:19 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-12-15 10:50:28 +0100
commita79e6a7cf1ce3be46e4339a54b013ddaa534dd39 (patch)
tree3de6cf2d804dfe0e929f999103fa1c2c01b9ec53 /xmloff/source/style
parent15e4427e8fb56a143caa28b8a3120f3761fc77a5 (diff)
use views to parse rather than allocating OUString
Change-Id: If0a848c64ce8077d1681661873629c83307cf8b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107736 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff/source/style')
-rw-r--r--xmloff/source/style/DashStyle.cxx30
-rw-r--r--xmloff/source/style/GradientStyle.cxx24
-rw-r--r--xmloff/source/style/HatchStyle.cxx13
-rw-r--r--xmloff/source/style/TransGradientStyle.cxx20
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorImport.cxx15
-rw-r--r--xmloff/source/style/xmlnumfi.cxx86
-rw-r--r--xmloff/source/style/xmlnumi.cxx78
-rw-r--r--xmloff/source/style/xmltabi.cxx26
8 files changed, 137 insertions, 155 deletions
diff --git a/xmloff/source/style/DashStyle.cxx b/xmloff/source/style/DashStyle.cxx
index 18462d82b4c4..68aeb7770966 100644
--- a/xmloff/source/style/DashStyle.cxx
+++ b/xmloff/source/style/DashStyle.cxx
@@ -78,66 +78,64 @@ void XMLDashStyleImport::importXML(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString aStrValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_NAME):
case XML_ELEMENT(DRAW_OOO, XML_NAME):
{
- rStrName = aStrValue;
+ rStrName = aIter.toString();
}
break;
case XML_ELEMENT(DRAW, XML_DISPLAY_NAME):
case XML_ELEMENT(DRAW_OOO, XML_DISPLAY_NAME):
{
- aDisplayName = aStrValue;
+ aDisplayName = aIter.toString();
}
break;
case XML_ELEMENT(DRAW, XML_STYLE):
case XML_ELEMENT(DRAW_OOO, XML_STYLE):
{
- SvXMLUnitConverter::convertEnum( aLineDash.Style, aStrValue, pXML_DashStyle_Enum );
+ SvXMLUnitConverter::convertEnum( aLineDash.Style, aIter.toString(), pXML_DashStyle_Enum );
}
break;
case XML_ELEMENT(DRAW, XML_DOTS1):
case XML_ELEMENT(DRAW_OOO, XML_DOTS1):
- aLineDash.Dots = static_cast<sal_Int16>(aStrValue.toInt32());
+ aLineDash.Dots = static_cast<sal_Int16>(aIter.toInt32());
break;
case XML_ELEMENT(DRAW, XML_DOTS1_LENGTH):
case XML_ELEMENT(DRAW_OOO, XML_DOTS1_LENGTH):
{
- if( aStrValue.indexOf( '%' ) != -1 ) // it's a percentage
+ if( aIter.toView().find( '%' ) != std::string_view::npos ) // it's a percentage
{
bIsRel = true;
- ::sax::Converter::convertPercent(aLineDash.DotLen, aStrValue);
+ ::sax::Converter::convertPercent(aLineDash.DotLen, aIter.toView());
}
else
{
rUnitConverter.convertMeasureToCore( aLineDash.DotLen,
- aStrValue );
+ aIter.toView() );
}
}
break;
case XML_ELEMENT(DRAW, XML_DOTS2):
case XML_ELEMENT(DRAW_OOO, XML_DOTS2):
- aLineDash.Dashes = static_cast<sal_Int16>(aStrValue.toInt32());
+ aLineDash.Dashes = static_cast<sal_Int16>(aIter.toInt32());
break;
case XML_ELEMENT(DRAW, XML_DOTS2_LENGTH):
case XML_ELEMENT(DRAW_OOO, XML_DOTS2_LENGTH):
{
- if( aStrValue.indexOf( '%' ) != -1 ) // it's a percentage
+ if( aIter.toView().find( '%' ) != std::string_view::npos ) // it's a percentage
{
bIsRel = true;
- ::sax::Converter::convertPercent(aLineDash.DashLen, aStrValue);
+ ::sax::Converter::convertPercent(aLineDash.DashLen, aIter.toView());
}
else
{
rUnitConverter.convertMeasureToCore( aLineDash.DashLen,
- aStrValue );
+ aIter.toView() );
}
}
break;
@@ -145,15 +143,15 @@ void XMLDashStyleImport::importXML(
case XML_ELEMENT(DRAW, XML_DISTANCE):
case XML_ELEMENT(DRAW_OOO, XML_DISTANCE):
{
- if( aStrValue.indexOf( '%' ) != -1 ) // it's a percentage
+ if( aIter.toView().find( '%' ) != std::string_view::npos ) // it's a percentage
{
bIsRel = true;
- ::sax::Converter::convertPercent(aLineDash.Distance, aStrValue);
+ ::sax::Converter::convertPercent(aLineDash.Distance, aIter.toView());
}
else
{
rUnitConverter.convertMeasureToCore( aLineDash.Distance,
- aStrValue );
+ aIter.toView() );
}
}
break;
diff --git a/xmloff/source/style/GradientStyle.cxx b/xmloff/source/style/GradientStyle.cxx
index 221023d6e072..47070f0ac67c 100644
--- a/xmloff/source/style/GradientStyle.cxx
+++ b/xmloff/source/style/GradientStyle.cxx
@@ -78,48 +78,46 @@ void XMLGradientStyleImport::importXML(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString aStrValue = aIter.toString();
-
sal_Int32 nTmpValue;
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_NAME):
- rStrName = aStrValue;
+ rStrName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_DISPLAY_NAME):
- aDisplayName = aStrValue;
+ aDisplayName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_STYLE):
- SvXMLUnitConverter::convertEnum( aGradient.Style, aStrValue, pXML_GradientStyle_Enum );
+ SvXMLUnitConverter::convertEnum( aGradient.Style, aIter.toString(), pXML_GradientStyle_Enum );
break;
case XML_ELEMENT(DRAW, XML_CX):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.XOffset = static_cast< sal_Int16 >( nTmpValue );
break;
case XML_ELEMENT(DRAW, XML_CY):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.YOffset = static_cast< sal_Int16 >( nTmpValue );
break;
case XML_ELEMENT(DRAW, XML_START_COLOR):
- ::sax::Converter::convertColor(aGradient.StartColor, aStrValue);
+ ::sax::Converter::convertColor(aGradient.StartColor, aIter.toString());
break;
case XML_ELEMENT(DRAW, XML_END_COLOR):
- ::sax::Converter::convertColor(aGradient.EndColor, aStrValue);
+ ::sax::Converter::convertColor(aGradient.EndColor, aIter.toString());
break;
case XML_ELEMENT(DRAW, XML_START_INTENSITY):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.StartIntensity = static_cast< sal_Int16 >( nTmpValue );
break;
case XML_ELEMENT(DRAW, XML_END_INTENSITY):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.EndIntensity = static_cast< sal_Int16 >( nTmpValue );
break;
case XML_ELEMENT(DRAW, XML_GRADIENT_ANGLE):
{
auto const cmp12(rImport.GetODFVersion().compareTo(u"" ODFVER_012_TEXT));
bool const bSuccess =
- ::sax::Converter::convertAngle(aGradient.Angle, aStrValue,
+ ::sax::Converter::convertAngle(aGradient.Angle, aIter.toView(),
// tdf#89475 try to detect borked OOo angles
(cmp12 < 0) || (cmp12 == 0
&& (rImport.isGeneratorVersionOlderThan(SvXMLImport::AOO_4x, SvXMLImport::LO_7x)
@@ -129,7 +127,7 @@ void XMLGradientStyleImport::importXML(
}
break;
case XML_ELEMENT(DRAW, XML_BORDER):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.Border = static_cast< sal_Int16 >( nTmpValue );
break;
diff --git a/xmloff/source/style/HatchStyle.cxx b/xmloff/source/style/HatchStyle.cxx
index eeee5edd2423..59d79a838551 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -75,34 +75,33 @@ void XMLHatchStyleImport::importXML(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString aStrValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_NAME):
case XML_ELEMENT(DRAW_OOO, XML_NAME):
- rStrName = aStrValue;
+ rStrName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_DISPLAY_NAME):
case XML_ELEMENT(DRAW_OOO, XML_DISPLAY_NAME):
- aDisplayName = aStrValue;
+ aDisplayName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_STYLE):
case XML_ELEMENT(DRAW_OOO, XML_STYLE):
- SvXMLUnitConverter::convertEnum( aHatch.Style, aStrValue, pXML_HatchStyle_Enum );
+ SvXMLUnitConverter::convertEnum( aHatch.Style, aIter.toString(), pXML_HatchStyle_Enum );
break;
case XML_ELEMENT(DRAW, XML_COLOR):
case XML_ELEMENT(DRAW_OOO, XML_COLOR):
- ::sax::Converter::convertColor(aHatch.Color, aStrValue);
+ ::sax::Converter::convertColor(aHatch.Color, aIter.toString());
break;
case XML_ELEMENT(DRAW, XML_DISTANCE):
case XML_ELEMENT(DRAW_OOO, XML_DISTANCE):
- rUnitConverter.convertMeasureToCore(aHatch.Distance, aStrValue);
+ rUnitConverter.convertMeasureToCore(aHatch.Distance, aIter.toView());
break;
case XML_ELEMENT(DRAW, XML_ROTATION):
case XML_ELEMENT(DRAW_OOO, XML_ROTATION):
{
sal_Int32 nValue;
- if (::sax::Converter::convertNumber(nValue, aStrValue, 0, 3600))
+ if (::sax::Converter::convertNumber(nValue, aIter.toView(), 0, 3600))
aHatch.Angle = sal_Int16(nValue);
break;
}
diff --git a/xmloff/source/style/TransGradientStyle.cxx b/xmloff/source/style/TransGradientStyle.cxx
index 8f7fe41d1444..f7cbb53a753a 100644
--- a/xmloff/source/style/TransGradientStyle.cxx
+++ b/xmloff/source/style/TransGradientStyle.cxx
@@ -79,39 +79,37 @@ void XMLTransGradientStyleImport::importXML(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString aStrValue = aIter.toString();
-
sal_Int32 nTmpValue;
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_NAME):
{
- rStrName = aStrValue;
+ rStrName = aIter.toString();
}
break;
case XML_ELEMENT(DRAW, XML_DISPLAY_NAME):
{
- aDisplayName = aStrValue;
+ aDisplayName = aIter.toString();
}
break;
case XML_ELEMENT(DRAW, XML_STYLE):
{
- SvXMLUnitConverter::convertEnum( aGradient.Style, aStrValue, pXML_GradientStyle_Enum );
+ SvXMLUnitConverter::convertEnum( aGradient.Style, aIter.toString(), pXML_GradientStyle_Enum );
}
break;
case XML_ELEMENT(DRAW, XML_CX):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.XOffset = sal::static_int_cast< sal_Int16 >(nTmpValue);
break;
case XML_ELEMENT(DRAW, XML_CY):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.YOffset = sal::static_int_cast< sal_Int16 >(nTmpValue);
break;
case XML_ELEMENT(DRAW, XML_START):
{
sal_Int32 aStartTransparency;
- ::sax::Converter::convertPercent( aStartTransparency, aStrValue );
+ ::sax::Converter::convertPercent( aStartTransparency, aIter.toView() );
sal_uInt8 n = sal::static_int_cast< sal_uInt8 >(
( (100 - aStartTransparency) * 255 ) / 100 );
@@ -123,7 +121,7 @@ void XMLTransGradientStyleImport::importXML(
case XML_ELEMENT(DRAW, XML_END):
{
sal_Int32 aEndTransparency;
- ::sax::Converter::convertPercent( aEndTransparency, aStrValue );
+ ::sax::Converter::convertPercent( aEndTransparency, aIter.toView() );
sal_uInt8 n = sal::static_int_cast< sal_uInt8 >(
( (100 - aEndTransparency) * 255 ) / 100 );
@@ -136,7 +134,7 @@ void XMLTransGradientStyleImport::importXML(
{
auto const cmp12(rImport.GetODFVersion().compareTo(u"" ODFVER_012_TEXT));
bool const bSuccess =
- ::sax::Converter::convertAngle(aGradient.Angle, aStrValue,
+ ::sax::Converter::convertAngle(aGradient.Angle, aIter.toView(),
// tdf#89475 try to detect borked OOo angles
(cmp12 < 0) || (cmp12 == 0
&& (rImport.isGeneratorVersionOlderThan(SvXMLImport::AOO_4x, SvXMLImport::LO_7x)
@@ -146,7 +144,7 @@ void XMLTransGradientStyleImport::importXML(
}
break;
case XML_ELEMENT(DRAW, XML_BORDER):
- ::sax::Converter::convertPercent( nTmpValue, aStrValue );
+ ::sax::Converter::convertPercent( nTmpValue, aIter.toView() );
aGradient.Border = sal::static_int_cast< sal_Int16 >(nTmpValue);
break;
diff --git a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
index f2b776510e6c..879f4d3ffa13 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
@@ -89,14 +89,13 @@ void XMLFootnoteSeparatorImport::startFastElement(
// iterate over xattribute list and fill values
for (auto &aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sAttrValue = aIter.toString();
sal_Int32 nTmp;
switch (aIter.getToken())
{
case XML_ELEMENT(STYLE, XML_WIDTH):
{
if (GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nTmp, sAttrValue))
+ nTmp, aIter.toView()))
{
nLineWeight = static_cast<sal_Int16>(nTmp);
}
@@ -105,14 +104,14 @@ void XMLFootnoteSeparatorImport::startFastElement(
case XML_ELEMENT(STYLE, XML_DISTANCE_BEFORE_SEP):
{
if (GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nTmp, sAttrValue))
+ nTmp, aIter.toView()))
nLineTextDistance = nTmp;
break;
}
case XML_ELEMENT(STYLE, XML_DISTANCE_AFTER_SEP):
{
if (GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nTmp, sAttrValue))
+ nTmp, aIter.toView()))
nLineDistance = nTmp;
break;
}
@@ -127,18 +126,18 @@ void XMLFootnoteSeparatorImport::startFastElement(
};
SvXMLUnitConverter::convertEnum(
- eLineAdjust, sAttrValue, aXML_HorizontalAdjust_Enum);
+ eLineAdjust, aIter.toString(), aXML_HorizontalAdjust_Enum);
break;
}
case XML_ELEMENT(STYLE, XML_REL_WIDTH ):
{
- if (::sax::Converter::convertPercent(nTmp, sAttrValue))
+ if (::sax::Converter::convertPercent(nTmp, aIter.toView()))
nLineRelWidth = static_cast<sal_uInt8>(nTmp);
break;
}
case XML_ELEMENT(STYLE, XML_COLOR):
{
- if (::sax::Converter::convertColor(nTmp, sAttrValue))
+ if (::sax::Converter::convertColor(nTmp, aIter.toView()))
{
nLineColor = nTmp;
}
@@ -155,7 +154,7 @@ void XMLFootnoteSeparatorImport::startFastElement(
{ XML_TOKEN_INVALID, 0 }
};
- SvXMLUnitConverter::convertEnum(nLineStyle, sAttrValue, aXML_LineStyle_Enum);
+ SvXMLUnitConverter::convertEnum(nLineStyle, aIter.toString(), aXML_LineStyle_Enum);
break;
}
default:
diff --git a/xmloff/source/style/xmlnumfi.cxx b/xmloff/source/style/xmlnumfi.cxx
index 1910950e9662..10c57aaa04f8 100644
--- a/xmloff/source/style/xmlnumfi.cxx
+++ b/xmloff/source/style/xmlnumfi.cxx
@@ -421,12 +421,11 @@ SvXMLNumFmtPropContext::SvXMLNumFmtPropContext( SvXMLImport& rImport,
{
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
- OUString sValue = aIter.toString();
switch ( aIter.getToken())
{
case XML_ELEMENT(FO, XML_COLOR):
case XML_ELEMENT(FO_COMPAT, XML_COLOR):
- bColSet = ::sax::Converter::convertColor( m_nColor, sValue );
+ bColSet = ::sax::Converter::convertColor( m_nColor, aIter.toString() );
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -456,10 +455,9 @@ SvXMLNumFmtEmbeddedTextContext::SvXMLNumFmtEmbeddedTextContext( SvXMLImport& rIm
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
- OUString sValue = aIter.toString();
if ( aIter.getToken() == XML_ELEMENT(NUMBER, XML_POSITION) )
{
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
nTextPosition = nAttrVal;
}
else
@@ -655,11 +653,10 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
case XML_ELEMENT(NUMBER, XML_DECIMAL_PLACES):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
{
// fdo#58539 & gnome#627420: limit number of digits during import
aNumInfo.nDecimals = std::min<sal_Int32>(nAttrVal, NF_MAX_FORMAT_SYMBOLS);
@@ -667,61 +664,61 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
break;
case XML_ELEMENT(LO_EXT, XML_MIN_DECIMAL_PLACES):
case XML_ELEMENT(NUMBER, XML_MIN_DECIMAL_PLACES):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nMinDecimalDigits = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_MIN_INTEGER_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nInteger = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_GROUPING):
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
aNumInfo.bGrouping = bAttrBool;
break;
case XML_ELEMENT(NUMBER, XML_DISPLAY_FACTOR):
- if (::sax::Converter::convertDouble( fAttrDouble, sValue ))
+ if (::sax::Converter::convertDouble( fAttrDouble, aIter.toView() ))
aNumInfo.fDisplayFactor = fAttrDouble;
break;
case XML_ELEMENT(NUMBER, XML_DECIMAL_REPLACEMENT):
- if ( sValue == " " )
+ if ( aIter.toView() == " " )
{
aNumInfo.bDecAlign = true; // space replacement for "?"
bVarDecimals = true;
}
else
- if ( sValue.isEmpty() )
+ if ( aIter.isEmpty() )
bVarDecimals = true; // empty replacement string: variable decimals
else // all other strings
aNumInfo.bDecReplace = true; // decimal replacement with dashes
break;
case XML_ELEMENT(NUMBER, XML_MIN_EXPONENT_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nExpDigits = std::min<sal_Int32>(nAttrVal, NF_MAX_FORMAT_SYMBOLS);
break;
case XML_ELEMENT(NUMBER, XML_EXPONENT_INTERVAL):
case XML_ELEMENT(LO_EXT, XML_EXPONENT_INTERVAL):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nExpInterval = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_FORCED_EXPONENT_SIGN):
case XML_ELEMENT(LO_EXT, XML_FORCED_EXPONENT_SIGN):
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
aNumInfo.bExpSign = bAttrBool;
break;
case XML_ELEMENT(NUMBER, XML_MIN_NUMERATOR_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nMinNumerDigits = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_MIN_DENOMINATOR_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nMinDenomDigits = nAttrVal;
break;
case XML_ELEMENT(LO_EXT, XML_MAX_NUMERATOR_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 1 )) // at least one '#'
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 1 )) // at least one '#'
aNumInfo.nMaxNumerDigits = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_DENOMINATOR_VALUE):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 1 )) // 0 is not valid
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 1 )) // 0 is not valid
{
aNumInfo.nFracDenominator = nAttrVal;
bIsMaxDenominator = false;
@@ -729,7 +726,7 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
break;
case XML_ELEMENT(NUMBER, XML_MAX_DENOMINATOR_VALUE): // part of ODF 1.3
case XML_ELEMENT(LO_EXT, XML_MAX_DENOMINATOR_VALUE):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 1 ) && aNumInfo.nFracDenominator <= 0)
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 1 ) && aNumInfo.nFracDenominator <= 0)
{ // if denominator value not yet defined
aNumInfo.nFracDenominator = nAttrVal;
bIsMaxDenominator = true;
@@ -737,39 +734,39 @@ SvXMLNumFmtElementContext::SvXMLNumFmtElementContext( SvXMLImport& rImport,
break;
case XML_ELEMENT(LO_EXT, XML_ZEROS_NUMERATOR_DIGITS):
case XML_ELEMENT(NUMBER, XML_ZEROS_NUMERATOR_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nZerosNumerDigits = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_ZEROS_DENOMINATOR_DIGITS):
case XML_ELEMENT(LO_EXT, XML_ZEROS_DENOMINATOR_DIGITS):
- if (::sax::Converter::convertNumber( nAttrVal, sValue, 0 ))
+ if (::sax::Converter::convertNumber( nAttrVal, aIter.toView(), 0 ))
aNumInfo.nZerosDenomDigits = nAttrVal;
break;
case XML_ELEMENT(NUMBER, XML_INTEGER_FRACTION_DELIMITER):
case XML_ELEMENT(LO_EXT, XML_INTEGER_FRACTION_DELIMITER):
- aNumInfo.aIntegerFractionDelimiter = sValue;
+ aNumInfo.aIntegerFractionDelimiter = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_RFC_LANGUAGE_TAG):
- aLanguageTagODF.maRfcLanguageTag = sValue;
+ aLanguageTagODF.maRfcLanguageTag = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_LANGUAGE):
- aLanguageTagODF.maLanguage = sValue;
+ aLanguageTagODF.maLanguage = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_SCRIPT):
- aLanguageTagODF.maScript = sValue;
+ aLanguageTagODF.maScript = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_COUNTRY):
- aLanguageTagODF.maCountry = sValue;
+ aLanguageTagODF.maCountry = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_STYLE):
- SvXMLUnitConverter::convertEnum( bLong, sValue, aStyleValueMap );
+ SvXMLUnitConverter::convertEnum( bLong, aIter.toString(), aStyleValueMap );
break;
case XML_ELEMENT(NUMBER, XML_TEXTUAL):
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
bTextual = bAttrBool;
break;
case XML_ELEMENT(NUMBER, XML_CALENDAR):
- sCalendar = sValue;
+ sCalendar = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -1146,59 +1143,58 @@ SvXMLNumFormatContext::SvXMLNumFormatContext( SvXMLImport& rImport,
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
// attributes for a style
case XML_ELEMENT(STYLE, XML_NAME):
break;
case XML_ELEMENT(NUMBER, XML_RFC_LANGUAGE_TAG):
- aLanguageTagODF.maRfcLanguageTag = sValue;
+ aLanguageTagODF.maRfcLanguageTag = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_LANGUAGE):
- aLanguageTagODF.maLanguage = sValue;
+ aLanguageTagODF.maLanguage = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_SCRIPT):
- aLanguageTagODF.maScript = sValue;
+ aLanguageTagODF.maScript = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_COUNTRY):
- aLanguageTagODF.maCountry = sValue;
+ aLanguageTagODF.maCountry = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_TITLE):
- sFormatTitle = sValue;
+ sFormatTitle = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_AUTOMATIC_ORDER):
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
bAutoOrder = bAttrBool;
break;
case XML_ELEMENT(NUMBER, XML_FORMAT_SOURCE):
- SvXMLUnitConverter::convertEnum( bFromSystem, sValue, aFormatSourceMap );
+ SvXMLUnitConverter::convertEnum( bFromSystem, aIter.toString(), aFormatSourceMap );
break;
case XML_ELEMENT(NUMBER, XML_TRUNCATE_ON_OVERFLOW):
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
bTruncate = bAttrBool;
break;
case XML_ELEMENT(STYLE, XML_VOLATILE):
// volatile formats can be removed after importing
// if not used in other styles
- if (::sax::Converter::convertBool( bAttrBool, sValue ))
+ if (::sax::Converter::convertBool( bAttrBool, aIter.toView() ))
bRemoveAfterUse = bAttrBool;
break;
case XML_ELEMENT(NUMBER, XML_TRANSLITERATION_FORMAT):
- aNatNumAttr.Format = sValue;
+ aNatNumAttr.Format = aIter.toString();
break;
case XML_ELEMENT(LO_EXT, XML_TRANSLITERATION_SPELLOUT):
case XML_ELEMENT(NUMBER, XML_TRANSLITERATION_SPELLOUT):
- aSpellout = sValue;
+ aSpellout = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_TRANSLITERATION_LANGUAGE):
- aNatNumAttr.Locale.Language = sValue;
+ aNatNumAttr.Locale.Language = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_TRANSLITERATION_COUNTRY):
- aNatNumAttr.Locale.Country = sValue;
+ aNatNumAttr.Locale.Country = aIter.toString();
break;
case XML_ELEMENT(NUMBER, XML_TRANSLITERATION_STYLE):
- aNatNumAttr.Style = sValue;
+ aNatNumAttr.Style = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
diff --git a/xmloff/source/style/xmlnumi.cxx b/xmloff/source/style/xmlnumi.cxx
index dae61e273821..3d2cc5807789 100644
--- a/xmloff/source/style/xmlnumi.cxx
+++ b/xmloff/source/style/xmlnumi.cxx
@@ -258,29 +258,28 @@ SvxXMLListLevelStyleContext_Impl::SvxXMLListLevelStyleContext_Impl(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(TEXT, XML_LEVEL):
- nLevel = sValue.toInt32();
+ nLevel = aIter.toInt32();
if( nLevel >= 1 )
nLevel--;
else
nLevel = 0;
break;
case XML_ELEMENT(TEXT, XML_STYLE_NAME):
- sTextStyleName = sValue;
+ sTextStyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_BULLET_CHAR):
- if (!sValue.isEmpty())
+ if (!aIter.isEmpty())
{
sal_Int32 nIndexUtf16 = 0;
- cBullet = sValue.iterateCodePoints(&nIndexUtf16);
+ cBullet = aIter.toString().iterateCodePoints(&nIndexUtf16);
}
break;
case XML_ELEMENT(XLINK, XML_HREF):
if( bImage )
- sImageURL = sValue;
+ sImageURL = aIter.toString();
break;
case XML_ELEMENT(XLINK, XML_TYPE):
case XML_ELEMENT(XLINK, XML_SHOW):
@@ -289,22 +288,22 @@ SvxXMLListLevelStyleContext_Impl::SvxXMLListLevelStyleContext_Impl(
break;
case XML_ELEMENT(STYLE, XML_NUM_FORMAT):
if( bNum )
- sNumFormat = sValue;
+ sNumFormat = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_NUM_PREFIX):
- sPrefix = sValue;
+ sPrefix = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_NUM_SUFFIX):
- sSuffix = sValue;
+ sSuffix = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_NUM_LETTER_SYNC):
if( bNum )
- sNumLetterSync = sValue;
+ sNumLetterSync = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_START_VALUE):
if( bNum )
{
- sal_Int32 nTmp = sValue.toInt32();
+ sal_Int32 nTmp = aIter.toInt32();
nNumStartValue =
(nTmp < 0) ? 1 : ( (nTmp>SHRT_MAX) ? SHRT_MAX
: static_cast<sal_Int16>(nTmp) );
@@ -313,7 +312,7 @@ SvxXMLListLevelStyleContext_Impl::SvxXMLListLevelStyleContext_Impl(
case XML_ELEMENT(TEXT, XML_DISPLAY_LEVELS):
if( bNum )
{
- sal_Int32 nTmp = sValue.toInt32();
+ sal_Int32 nTmp = aIter.toInt32();
nNumDisplayLevels =
(nTmp < 1) ? 1 : ( (nTmp>SHRT_MAX) ? SHRT_MAX
: static_cast<sal_Int16>(nTmp) );
@@ -553,74 +552,73 @@ SvxXMLListLevelStyleAttrContext_Impl::SvxXMLListLevelStyleAttrContext_Impl(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
sal_Int32 nVal;
switch( aIter.getToken() )
{
case XML_ELEMENT(TEXT, XML_SPACE_BEFORE):
- if (rUnitConv.convertMeasureToCore(nVal, sValue, SHRT_MIN, SHRT_MAX))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView(), SHRT_MIN, SHRT_MAX))
rListLevel.SetSpaceBefore( nVal );
break;
case XML_ELEMENT(TEXT, XML_MIN_LABEL_WIDTH):
- if (rUnitConv.convertMeasureToCore( nVal, sValue, 0, SHRT_MAX ))
+ if (rUnitConv.convertMeasureToCore( nVal, aIter.toView(), 0, SHRT_MAX ))
rListLevel.SetMinLabelWidth( nVal );
break;
case XML_ELEMENT(TEXT, XML_MIN_LABEL_DISTANCE):
- if (rUnitConv.convertMeasureToCore( nVal, sValue, 0, USHRT_MAX ))
+ if (rUnitConv.convertMeasureToCore( nVal, aIter.toView(), 0, USHRT_MAX ))
rListLevel.SetMinLabelDist( nVal );
break;
case XML_ELEMENT(FO, XML_TEXT_ALIGN):
case XML_ELEMENT(FO_COMPAT, XML_TEXT_ALIGN):
- if( !sValue.isEmpty() )
+ if( !aIter.isEmpty() )
{
sal_Int16 eAdjust = HoriOrientation::LEFT;
- if( IsXMLToken( sValue, XML_CENTER ) )
+ if( IsXMLToken( aIter, XML_CENTER ) )
eAdjust = HoriOrientation::CENTER;
- else if( IsXMLToken( sValue, XML_END ) )
+ else if( IsXMLToken( aIter, XML_END ) )
eAdjust = HoriOrientation::RIGHT;
rListLevel.SetAdjust( eAdjust );
}
break;
case XML_ELEMENT(STYLE, XML_FONT_NAME):
- sFontName = sValue;
+ sFontName = aIter.toString();
break;
case XML_ELEMENT(FO, XML_FONT_FAMILY):
case XML_ELEMENT(FO_COMPAT, XML_FONT_FAMILY):
- sFontFamily = sValue;
+ sFontFamily = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_FONT_FAMILY_GENERIC):
- sFontFamilyGeneric = sValue;
+ sFontFamilyGeneric = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_FONT_STYLE_NAME):
- sFontStyleName = sValue;
+ sFontStyleName = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_FONT_PITCH):
- sFontPitch = sValue;
+ sFontPitch = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_FONT_CHARSET):
- sFontCharset = sValue;
+ sFontCharset = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_VERTICAL_POS):
- sVerticalPos = sValue;
+ sVerticalPos = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_VERTICAL_REL):
- sVerticalRel = sValue;
+ sVerticalRel = aIter.toString();
break;
case XML_ELEMENT(FO, XML_WIDTH):
case XML_ELEMENT(FO_COMPAT, XML_WIDTH):
- if (rUnitConv.convertMeasureToCore(nVal, sValue))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView()))
rListLevel.SetImageWidth( nVal );
break;
case XML_ELEMENT(FO, XML_HEIGHT):
case XML_ELEMENT(FO_COMPAT, XML_HEIGHT):
- if (rUnitConv.convertMeasureToCore(nVal, sValue))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView()))
rListLevel.SetImageHeight( nVal );
break;
case XML_ELEMENT(FO, XML_COLOR):
case XML_ELEMENT(FO_COMPAT, XML_COLOR):
{
sal_Int32 nColor(0);
- if (::sax::Converter::convertColor( nColor, sValue ))
+ if (::sax::Converter::convertColor( nColor, aIter.toView() ))
{
rListLevel.SetColor( Color(nColor) );
}
@@ -628,19 +626,19 @@ SvxXMLListLevelStyleAttrContext_Impl::SvxXMLListLevelStyleAttrContext_Impl(
break;
case XML_ELEMENT(STYLE, XML_USE_WINDOW_FONT_COLOR):
{
- if( IsXMLToken( sValue, XML_TRUE ) )
+ if( IsXMLToken( aIter, XML_TRUE ) )
rListLevel.SetColor(COL_AUTO);
}
break;
case XML_ELEMENT(FO, XML_FONT_SIZE):
case XML_ELEMENT(FO_COMPAT, XML_FONT_SIZE):
- if (::sax::Converter::convertPercent( nVal, sValue ))
+ if (::sax::Converter::convertPercent( nVal, aIter.toView() ))
rListLevel.SetRelSize( static_cast<sal_Int16>(nVal) );
break;
case XML_ELEMENT(TEXT, XML_LIST_LEVEL_POSITION_AND_SPACE_MODE):
{
sal_Int16 ePosAndSpaceMode = PositionAndSpaceMode::LABEL_WIDTH_AND_POSITION;
- if( IsXMLToken( sValue, XML_LABEL_ALIGNMENT ) )
+ if( IsXMLToken( aIter, XML_LABEL_ALIGNMENT ) )
ePosAndSpaceMode = PositionAndSpaceMode::LABEL_ALIGNMENT;
rListLevel.SetPosAndSpaceMode( ePosAndSpaceMode );
}
@@ -805,8 +803,6 @@ SvxXMLListLevelStyleLabelAlignmentAttrContext_Impl::SvxXMLListLevelStyleLabelAli
sal_Int16 eLabelFollowedBy = LabelFollow::LISTTAB;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
-
sal_Int32 nVal;
switch( aIter.getToken() )
{
@@ -816,26 +812,26 @@ SvxXMLListLevelStyleLabelAlignmentAttrContext_Impl::SvxXMLListLevelStyleLabelAli
if( eLabelFollowedBy == LabelFollow::NEWLINE)
//NewLine from LO_EXT has precedence over other values of the Non LO_EXT namespace
break;
- if( IsXMLToken( sValue, XML_SPACE ) )
+ if( IsXMLToken( aIter, XML_SPACE ) )
eLabelFollowedBy = LabelFollow::SPACE;
- else if( IsXMLToken( sValue, XML_NOTHING ) )
+ else if( IsXMLToken( aIter, XML_NOTHING ) )
eLabelFollowedBy = LabelFollow::NOTHING;
- else if( IsXMLToken( sValue, XML_NEWLINE ) )
+ else if( IsXMLToken( aIter, XML_NEWLINE ) )
eLabelFollowedBy = LabelFollow::NEWLINE;
}
break;
case XML_ELEMENT(TEXT, XML_LIST_TAB_STOP_POSITION):
- if (rUnitConv.convertMeasureToCore(nVal, sValue, 0, SHRT_MAX))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView(), 0, SHRT_MAX))
rLLevel.SetListtabStopPosition( nVal );
break;
case XML_ELEMENT(FO, XML_TEXT_INDENT):
case XML_ELEMENT(FO_COMPAT, XML_TEXT_INDENT):
- if (rUnitConv.convertMeasureToCore(nVal, sValue, SHRT_MIN, SHRT_MAX))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView(), SHRT_MIN, SHRT_MAX))
rLLevel.SetFirstLineIndent( nVal );
break;
case XML_ELEMENT(FO, XML_MARGIN_LEFT):
case XML_ELEMENT(FO_COMPAT, XML_MARGIN_LEFT):
- if (rUnitConv.convertMeasureToCore(nVal, sValue, SHRT_MIN, SHRT_MAX))
+ if (rUnitConv.convertMeasureToCore(nVal, aIter.toView(), SHRT_MIN, SHRT_MAX))
rLLevel.SetIndentAt( nVal );
break;
default:
diff --git a/xmloff/source/style/xmltabi.cxx b/xmloff/source/style/xmltabi.cxx
index 5c8db3fc89c5..f93e7d86c9b1 100644
--- a/xmloff/source/style/xmltabi.cxx
+++ b/xmloff/source/style/xmltabi.cxx
@@ -59,55 +59,53 @@ SvxXMLTabStopContext_Impl::SvxXMLTabStopContext_Impl(
for (auto &aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- const OUString sValue = aIter.toString();
-
sal_Int32 nVal;
switch( aIter.getToken() )
{
case XML_ELEMENT(STYLE, XML_POSITION):
if (GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nVal, sValue))
+ nVal, aIter.toView()))
{
aTabStop.Position = nVal;
}
break;
case XML_ELEMENT(STYLE, XML_TYPE):
- if( IsXMLToken( sValue, XML_LEFT ) )
+ if( IsXMLToken( aIter, XML_LEFT ) )
{
aTabStop.Alignment = style::TabAlign_LEFT;
}
- else if( IsXMLToken( sValue, XML_RIGHT ) )
+ else if( IsXMLToken( aIter, XML_RIGHT ) )
{
aTabStop.Alignment = style::TabAlign_RIGHT;
}
- else if( IsXMLToken( sValue, XML_CENTER ) )
+ else if( IsXMLToken( aIter, XML_CENTER ) )
{
aTabStop.Alignment = style::TabAlign_CENTER;
}
- else if( IsXMLToken( sValue, XML_CHAR ) )
+ else if( IsXMLToken( aIter, XML_CHAR ) )
{
aTabStop.Alignment = style::TabAlign_DECIMAL;
}
- else if( IsXMLToken( sValue, XML_DEFAULT ) )
+ else if( IsXMLToken( aIter, XML_DEFAULT ) )
{
aTabStop.Alignment = style::TabAlign_DEFAULT;
}
break;
case XML_ELEMENT(STYLE, XML_CHAR):
- if( !sValue.isEmpty() )
- aTabStop.DecimalChar = sValue[0];
+ if( !aIter.isEmpty() )
+ aTabStop.DecimalChar = aIter.toString()[0];
break;
case XML_ELEMENT(STYLE, XML_LEADER_STYLE):
- if( IsXMLToken( sValue, XML_NONE ) )
+ if( IsXMLToken( aIter, XML_NONE ) )
aTabStop.FillChar = ' ';
- else if( IsXMLToken( sValue, XML_DOTTED ) )
+ else if( IsXMLToken( aIter, XML_DOTTED ) )
aTabStop.FillChar = '.';
else
aTabStop.FillChar = '_';
break;
case XML_ELEMENT(STYLE, XML_LEADER_TEXT):
- if( !sValue.isEmpty() )
- cTextFillChar = sValue[0];
+ if( !aIter.isEmpty() )
+ cTextFillChar = aIter.toString()[0];
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);