summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dbaccess/source/filter/xml/xmlColumn.cxx22
-rw-r--r--dbaccess/source/filter/xml/xmlComponent.cxx11
-rw-r--r--dbaccess/source/filter/xml/xmlConnectionResource.cxx7
-rw-r--r--dbaccess/source/filter/xml/xmlDataSource.cxx37
-rw-r--r--dbaccess/source/filter/xml/xmlDataSourceInfo.cxx4
-rw-r--r--dbaccess/source/filter/xml/xmlDataSourceSetting.cxx10
-rw-r--r--dbaccess/source/filter/xml/xmlHierarchyCollection.cxx4
-rw-r--r--dbaccess/source/filter/xml/xmlLogin.cxx11
-rw-r--r--dbaccess/source/filter/xml/xmlQuery.cxx6
-rw-r--r--include/sax/fastattribs.hxx11
-rw-r--r--include/sax/tools/converter.hxx43
-rw-r--r--include/xmloff/xmluconv.hxx13
-rw-r--r--reportdesign/source/filter/xml/xmlColumn.cxx4
-rw-r--r--reportdesign/source/filter/xml/xmlComponent.cxx4
-rw-r--r--reportdesign/source/filter/xml/xmlCondPrtExpr.cxx4
-rw-r--r--reportdesign/source/filter/xml/xmlControlProperty.cxx8
-rw-r--r--reportdesign/source/filter/xml/xmlFormatCondition.cxx9
-rw-r--r--reportdesign/source/filter/xml/xmlFormattedField.cxx4
-rw-r--r--reportdesign/source/filter/xml/xmlFunction.cxx15
-rw-r--r--reportdesign/source/filter/xml/xmlGroup.cxx12
-rw-r--r--reportdesign/source/filter/xml/xmlImage.cxx12
-rw-r--r--reportdesign/source/filter/xml/xmlReport.cxx17
-rw-r--r--reportdesign/source/filter/xml/xmlReportElement.cxx7
-rw-r--r--reportdesign/source/filter/xml/xmlSection.cxx9
-rw-r--r--reportdesign/source/filter/xml/xmlTable.cxx15
-rw-r--r--sax/source/tools/converter.cxx442
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx8
-rw-r--r--sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx2
-rw-r--r--sc/source/filter/xml/XMLTableHeaderFooterContext.cxx2
-rw-r--r--sc/source/filter/xml/XMLTableShapeImportHelper.cxx14
-rw-r--r--sc/source/filter/xml/XMLTrackedChangesContext.cxx44
-rw-r--r--sc/source/filter/xml/xmlannoi.cxx12
-rw-r--r--starmath/source/mathmlimport.cxx38
-rw-r--r--sw/source/filter/xml/xmltbli.cxx15
-rw-r--r--xmloff/source/chart/SchXMLAxisContext.cxx24
-rw-r--r--xmloff/source/chart/SchXMLChartContext.cxx23
-rw-r--r--xmloff/source/chart/SchXMLLegendContext.cxx17
-rw-r--r--xmloff/source/chart/SchXMLPlotAreaContext.cxx27
-rw-r--r--xmloff/source/chart/SchXMLPlotAreaContext.hxx2
-rw-r--r--xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx11
-rw-r--r--xmloff/source/chart/SchXMLTableContext.cxx8
-rw-r--r--xmloff/source/core/xmluconv.cxx72
-rw-r--r--xmloff/source/draw/QRCodeContext.cxx2
-rw-r--r--xmloff/source/draw/XMLNumberStyles.cxx11
-rw-r--r--xmloff/source/draw/animationimport.cxx127
-rw-r--r--xmloff/source/draw/animimp.cxx20
-rw-r--r--xmloff/source/draw/eventimp.cxx30
-rw-r--r--xmloff/source/draw/ximp3dobject.cxx12
-rw-r--r--xmloff/source/draw/ximp3dscene.cxx11
-rw-r--r--xmloff/source/draw/ximpcustomshape.cxx130
-rw-r--r--xmloff/source/draw/ximppage.cxx10
-rw-r--r--xmloff/source/draw/ximpshap.cxx2
-rw-r--r--xmloff/source/draw/ximpshow.cxx28
-rw-r--r--xmloff/source/draw/ximpstyl.cxx27
-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
-rw-r--r--xmloff/source/text/XMLCalculationSettingsContext.cxx4
-rw-r--r--xmloff/source/text/XMLChangedRegionImportContext.cxx7
-rw-r--r--xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLFootnoteImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTOCContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTOCStylesContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTabStopEntryContext.cxx11
-rw-r--r--xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionFootnoteConfigImport.cxx14
-rw-r--r--xmloff/source/text/XMLSectionImportContext.cxx21
-rw-r--r--xmloff/source/text/XMLSectionSourceDDEImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextColumnsContext.cxx28
-rw-r--r--xmloff/source/text/XMLTextFrameContext.cxx96
-rw-r--r--xmloff/source/text/XMLTextFrameHyperlinkContext.cxx11
-rw-r--r--xmloff/source/text/XMLTextListBlockContext.cxx9
-rw-r--r--xmloff/source/text/XMLTextShapeImportHelper.cxx7
-rw-r--r--xmloff/source/text/XMLTrackedChangesImportContext.cxx2
-rw-r--r--xmloff/source/text/txtdropi.cxx12
-rw-r--r--xmloff/source/text/txtfldi.cxx7
-rw-r--r--xmloff/source/text/txtparai.cxx37
-rw-r--r--xmloff/source/text/txtvfldi.cxx2
85 files changed, 1244 insertions, 802 deletions
diff --git a/dbaccess/source/filter/xml/xmlColumn.cxx b/dbaccess/source/filter/xml/xmlColumn.cxx
index 9d8560cf1364..198a92f76fa4 100644
--- a/dbaccess/source/filter/xml/xmlColumn.cxx
+++ b/dbaccess/source/filter/xml/xmlColumn.cxx
@@ -48,38 +48,36 @@ OXMLColumn::OXMLColumn( ODBFilter& rImport
OUString sType;
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() & TOKEN_MASK )
{
case XML_NAME:
- m_sName = sValue;
+ m_sName = aIter.toString();
break;
case XML_STYLE_NAME:
- m_sStyleName = sValue;
+ m_sStyleName = aIter.toString();
break;
case XML_HELP_MESSAGE:
- m_sHelpMessage = sValue;
+ m_sHelpMessage = aIter.toString();
break;
case XML_VISIBILITY:
- m_bHidden = sValue != "visible";
+ m_bHidden = aIter.toView() != "visible";
break;
case XML_TYPE_NAME:
- sType = sValue;
+ sType = aIter.toString();
OSL_ENSURE(!sType.isEmpty(),"No type name set");
break;
case XML_DEFAULT_VALUE:
- if ( !(sValue.isEmpty() || sType.isEmpty()) )
- m_aDefaultValue <<= sValue;
+ if ( !(aIter.isEmpty() || sType.isEmpty()) )
+ m_aDefaultValue <<= aIter.toString();
break;
case XML_VISIBLE:
- m_bHidden = sValue == "false";
+ m_bHidden = aIter.toView() == "false";
break;
case XML_DEFAULT_CELL_STYLE_NAME:
- m_sCellStyleName = sValue;
+ m_sCellStyleName = aIter.toString();
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("dbaccess", aIter.getToken(), aIter.toString());
+ XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
}
}
}
diff --git a/dbaccess/source/filter/xml/xmlComponent.cxx b/dbaccess/source/filter/xml/xmlComponent.cxx
index 144eb4ec9234..a9ba7a708842 100644
--- a/dbaccess/source/filter/xml/xmlComponent.cxx
+++ b/dbaccess/source/filter/xml/xmlComponent.cxx
@@ -44,19 +44,16 @@ OXMLComponent::OXMLComponent( ODBFilter& rImport
OUString sName;
OUString sHREF;
bool bAsTemplate(false);
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(XLINK, XML_HREF):
- sHREF = sValue;
+ sHREF = aIter.toString();
break;
case XML_ELEMENT(DB, XML_NAME):
case XML_ELEMENT(DB_OASIS, XML_NAME):
- sName = sValue;
+ sName = aIter.toString();
// sanitize the name. Previously, we allowed to create forms/reports/queries which contain
// a / in their name, which nowadays is forbidden. To not lose such objects if they're contained
// in older files, we replace the slash with something less offending.
@@ -64,10 +61,10 @@ OXMLComponent::OXMLComponent( ODBFilter& rImport
break;
case XML_ELEMENT(DB, XML_AS_TEMPLATE):
case XML_ELEMENT(DB_OASIS, XML_AS_TEMPLATE):
- bAsTemplate = sValue == s_sTRUE;
+ bAsTemplate = IsXMLToken(aIter, XML_TRUE);
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("dbaccess", aIter.getToken(), aIter.toString());
+ XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
}
}
if ( !(!sHREF.isEmpty() && !sName.isEmpty() && _xParentContainer.is()) )
diff --git a/dbaccess/source/filter/xml/xmlConnectionResource.cxx b/dbaccess/source/filter/xml/xmlConnectionResource.cxx
index 70f7fe210415..e5d92a8d0a8e 100644
--- a/dbaccess/source/filter/xml/xmlConnectionResource.cxx
+++ b/dbaccess/source/filter/xml/xmlConnectionResource.cxx
@@ -42,7 +42,6 @@ OXMLConnectionResource::OXMLConnectionResource( ODBFilter& rImport,
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
aProperty.Name.clear();
aProperty.Value = Any();
@@ -51,7 +50,7 @@ OXMLConnectionResource::OXMLConnectionResource( ODBFilter& rImport,
case XML_ELEMENT(XLINK, XML_HREF):
try
{
- xDataSource->setPropertyValue(PROPERTY_URL,makeAny(sValue));
+ xDataSource->setPropertyValue(PROPERTY_URL,makeAny(aIter.toString()));
}
catch(const Exception&)
{
@@ -68,12 +67,12 @@ OXMLConnectionResource::OXMLConnectionResource( ODBFilter& rImport,
aProperty.Name = "Actuate";
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("dbaccess", aIter.getToken(), aIter.toString());
+ XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
}
if ( !aProperty.Name.isEmpty() )
{
if ( !aProperty.Value.hasValue() )
- aProperty.Value <<= sValue;
+ aProperty.Value <<= aIter.toString();
rImport.addInfo(aProperty);
}
}
diff --git a/dbaccess/source/filter/xml/xmlDataSource.cxx b/dbaccess/source/filter/xml/xmlDataSource.cxx
index c179cb23ded9..e133d09cbc29 100644
--- a/dbaccess/source/filter/xml/xmlDataSource.cxx
+++ b/dbaccess/source/filter/xml/xmlDataSource.cxx
@@ -49,13 +49,10 @@ OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
bool bFoundAppendTableAliasName = false;
bool bFoundSuppressVersionColumns = false;
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
if (xDataSource.is())
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
aProperty.Name.clear();
aProperty.Value = Any();
@@ -64,7 +61,7 @@ OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
case XML_CONNECTION_RESOURCE:
try
{
- xDataSource->setPropertyValue(PROPERTY_URL,makeAny(sValue));
+ xDataSource->setPropertyValue(PROPERTY_URL,makeAny(aIter.toString()));
}
catch(const Exception&)
{
@@ -74,7 +71,7 @@ OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
case XML_SUPPRESS_VERSION_COLUMNS:
try
{
- xDataSource->setPropertyValue(PROPERTY_SUPPRESSVERSIONCL,makeAny(sValue == s_sTRUE));
+ xDataSource->setPropertyValue(PROPERTY_SUPPRESSVERSIONCL,makeAny(IsXMLToken(aIter, XML_TRUE)));
bFoundSuppressVersionColumns = true;
}
catch(const Exception&)
@@ -90,15 +87,15 @@ OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
break;
case XML_IS_FIRST_ROW_HEADER_LINE:
aProperty.Name = INFO_TEXTFILEHEADER;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
break;
case XML_SHOW_DELETED:
aProperty.Name = INFO_SHOWDELETEDROWS;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
break;
case XML_IS_TABLE_NAME_LENGTH_LIMITED:
aProperty.Name = INFO_ALLOWLONGTABLENAMES;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
bFoundTableNameLengthLimited = true;
break;
case XML_SYSTEM_DRIVER_SETTINGS:
@@ -106,54 +103,54 @@ OXMLDataSource::OXMLDataSource( ODBFilter& rImport,
break;
case XML_ENABLE_SQL92_CHECK:
aProperty.Name = PROPERTY_ENABLESQL92CHECK;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
break;
case XML_APPEND_TABLE_ALIAS_NAME:
aProperty.Name = INFO_APPEND_TABLE_ALIAS;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
bFoundAppendTableAliasName = true;
break;
case XML_PARAMETER_NAME_SUBSTITUTION:
aProperty.Name = INFO_PARAMETERNAMESUBST;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
bFoundParamNameSubstitution = true;
break;
case XML_IGNORE_DRIVER_PRIVILEGES:
aProperty.Name = INFO_IGNOREDRIVER_PRIV;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
break;
case XML_BOOLEAN_COMPARISON_MODE:
aProperty.Name = PROPERTY_BOOLEANCOMPARISONMODE;
- if ( sValue == "equal-integer" )
+ if ( aIter.toView() == "equal-integer" )
aProperty.Value <<= sal_Int32(0);
- else if ( sValue == "is-boolean" )
+ else if ( aIter.toView() == "is-boolean" )
aProperty.Value <<= sal_Int32(1);
- else if ( sValue == "equal-boolean" )
+ else if ( aIter.toView() == "equal-boolean" )
aProperty.Value <<= sal_Int32(2);
- else if ( sValue == "equal-use-only-zero" )
+ else if ( aIter.toView() == "equal-use-only-zero" )
aProperty.Value <<= sal_Int32(3);
break;
case XML_USE_CATALOG:
aProperty.Name = INFO_USECATALOG;
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
break;
case XML_BASE_DN:
aProperty.Name = INFO_CONN_LDAP_BASEDN;
break;
case XML_MAX_ROW_COUNT:
aProperty.Name = INFO_CONN_LDAP_ROWCOUNT;
- aProperty.Value <<= sValue.toInt32();
+ aProperty.Value <<= aIter.toInt32();
break;
case XML_JAVA_CLASSPATH:
aProperty.Name = "JavaDriverClassPath";
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("dbaccess", aIter.getToken(), aIter.toString());
+ XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
}
if ( !aProperty.Name.isEmpty() )
{
if ( !aProperty.Value.hasValue() )
- aProperty.Value <<= sValue;
+ aProperty.Value <<= aIter.toString();
rImport.addInfo(aProperty);
}
}
diff --git a/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx b/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx
index ec1a42d6e9af..e7362ca5ba77 100644
--- a/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx
+++ b/dbaccess/source/filter/xml/xmlDataSourceInfo.cxx
@@ -39,8 +39,6 @@ OXMLDataSourceInfo::OXMLDataSourceInfo( ODBFilter& rImport
bool bFoundField = false,bFoundThousand = false, bFoundCharset = false;
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
aProperty.Name.clear();
switch( aIter.getToken() & TOKEN_MASK )
@@ -76,7 +74,7 @@ OXMLDataSourceInfo::OXMLDataSourceInfo( ODBFilter& rImport
}
if ( !aProperty.Name.isEmpty() )
{
- aProperty.Value <<= sValue;
+ aProperty.Value <<= aIter.toString();
rImport.addInfo(aProperty);
}
}
diff --git a/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx b/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx
index f709757a5f7d..525162664865 100644
--- a/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx
+++ b/dbaccess/source/filter/xml/xmlDataSourceSetting.cxx
@@ -47,12 +47,10 @@ OXMLDataSourceSetting::OXMLDataSourceSetting( ODBFilter& rImport
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() & TOKEN_MASK )
{
case XML_DATA_SOURCE_SETTING_IS_LIST:
- m_bIsList = sValue == "true";
+ m_bIsList = aIter.toView() == "true";
break;
case XML_DATA_SOURCE_SETTING_TYPE:
{
@@ -71,17 +69,17 @@ OXMLDataSourceSetting::OXMLDataSourceSetting( ODBFilter& rImport
return tmp;
}();
- const std::map< OUString, css::uno::Type >::const_iterator aTypePos = s_aTypeNameMap.find(sValue);
+ const std::map< OUString, css::uno::Type >::const_iterator aTypePos = s_aTypeNameMap.find(aIter.toString());
OSL_ENSURE(s_aTypeNameMap.end() != aTypePos, "OXMLDataSourceSetting::OXMLDataSourceSetting: invalid type!");
if (s_aTypeNameMap.end() != aTypePos)
m_aPropType = aTypePos->second;
}
break;
case XML_DATA_SOURCE_SETTING_NAME:
- m_aSetting.Name = sValue;
+ m_aSetting.Name = aIter.toString();
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("dbaccess", aIter.getToken(), aIter.toString());
+ XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
}
}
diff --git a/dbaccess/source/filter/xml/xmlHierarchyCollection.cxx b/dbaccess/source/filter/xml/xmlHierarchyCollection.cxx
index 7b2a8cc54e6b..879575482b54 100644
--- a/dbaccess/source/filter/xml/xmlHierarchyCollection.cxx
+++ b/dbaccess/source/filter/xml/xmlHierarchyCollection.cxx
@@ -50,12 +50,10 @@ OXMLHierarchyCollection::OXMLHierarchyCollection( ODBFilter& rImport
OUString sName;
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() & TOKEN_MASK )
{
case XML_NAME:
- sName = sValue;
+ sName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
diff --git a/dbaccess/source/filter/xml/xmlLogin.cxx b/dbaccess/source/filter/xml/xmlLogin.cxx
index a30988098595..cc7502301233 100644
--- a/dbaccess/source/filter/xml/xmlLogin.cxx
+++ b/dbaccess/source/filter/xml/xmlLogin.cxx
@@ -36,15 +36,12 @@ OXMLLogin::OXMLLogin( ODBFilter& rImport,
{
Reference<XPropertySet> xDataSource(rImport.getDataSource());
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
bool bUserFound = false;
if (!xDataSource.is())
return;
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
try
{
switch( aIter.getToken() & TOKEN_MASK )
@@ -55,7 +52,7 @@ OXMLLogin::OXMLLogin( ODBFilter& rImport,
bUserFound = true;
try
{
- xDataSource->setPropertyValue(PROPERTY_USER,makeAny(sValue));
+ xDataSource->setPropertyValue(PROPERTY_USER,makeAny(aIter.toString()));
}
catch(const Exception&)
{
@@ -66,7 +63,7 @@ OXMLLogin::OXMLLogin( ODBFilter& rImport,
case XML_IS_PASSWORD_REQUIRED:
try
{
- xDataSource->setPropertyValue(PROPERTY_ISPASSWORDREQUIRED,makeAny(sValue == s_sTRUE));
+ xDataSource->setPropertyValue(PROPERTY_ISPASSWORDREQUIRED,makeAny(IsXMLToken(aIter, XML_TRUE)));
}
catch(const Exception&)
{
@@ -79,14 +76,14 @@ OXMLLogin::OXMLLogin( ODBFilter& rImport,
bUserFound = true;
PropertyValue aProperty;
aProperty.Name = "UseSystemUser";
- aProperty.Value <<= (sValue == s_sTRUE);
+ aProperty.Value <<= IsXMLToken(aIter, XML_TRUE);
rImport.addInfo(aProperty);
}
break;
case XML_LOGIN_TIMEOUT:
try
{
- Reference< XDataSource>(xDataSource,UNO_QUERY_THROW)->setLoginTimeout(sValue.toInt32());
+ Reference< XDataSource>(xDataSource,UNO_QUERY_THROW)->setLoginTimeout(aIter.toInt32());
}
catch(const Exception&)
{
diff --git a/dbaccess/source/filter/xml/xmlQuery.cxx b/dbaccess/source/filter/xml/xmlQuery.cxx
index 722e650c3b58..8f91145d72e9 100644
--- a/dbaccess/source/filter/xml/xmlQuery.cxx
+++ b/dbaccess/source/filter/xml/xmlQuery.cxx
@@ -44,15 +44,13 @@ OXMLQuery::OXMLQuery( ODBFilter& rImport
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() & TOKEN_MASK )
{
case XML_COMMAND:
- m_sCommand = sValue;
+ m_sCommand = aIter.toString();
break;
case XML_ESCAPE_PROCESSING:
- m_bEscapeProcessing = sValue == "true";
+ m_bEscapeProcessing = aIter.toView() == "true";
break;
default:
XMLOFF_WARN_UNKNOWN("dbaccess", aIter);
diff --git a/include/sax/fastattribs.hxx b/include/sax/fastattribs.hxx
index e00452b0aa14..452280782067 100644
--- a/include/sax/fastattribs.hxx
+++ b/include/sax/fastattribs.hxx
@@ -27,6 +27,7 @@
#include <cppuhelper/implbase.hxx>
#include <sax/saxdllapi.h>
+#include <string_view>
#include <vector>
namespace com::sun::star::xml::sax { class XFastTokenHandler; }
@@ -171,6 +172,11 @@ public:
assert(mnIdx < mrList.maAttributeTokens.size());
return rtl_str_toDouble(mrList.getFastAttributeValue(mnIdx));
}
+ bool toBoolean() const
+ {
+ assert(mnIdx < mrList.maAttributeTokens.size());
+ return rtl_str_toBoolean(mrList.getFastAttributeValue(mnIdx));
+ }
OUString toString() const
{
assert(mnIdx < mrList.maAttributeTokens.size());
@@ -188,6 +194,11 @@ public:
assert(mnIdx < mrList.maAttributeTokens.size());
return mrList.AttributeValueLength(mnIdx);
}
+ std::string_view toView() const
+ {
+ assert(mnIdx < mrList.maAttributeTokens.size());
+ return std::string_view(mrList.getFastAttributeValue(mnIdx), mrList.AttributeValueLength(mnIdx));
+ }
bool isString(const char *str) const
{
assert(mnIdx < mrList.maAttributeTokens.size());
diff --git a/include/sax/tools/converter.hxx b/include/sax/tools/converter.hxx
index 6d2347ef289d..07c2fb3207b1 100644
--- a/include/sax/tools/converter.hxx
+++ b/include/sax/tools/converter.hxx
@@ -64,6 +64,13 @@ public:
sal_Int32 nMin = SAL_MIN_INT32,
sal_Int32 nMax = SAL_MAX_INT32 );
+ /** convert string to measure using optional min and max values*/
+ static bool convertMeasure( sal_Int32& rValue,
+ std::string_view rString,
+ sal_Int16 nTargetUnit = css::util::MeasureUnit::MM_100TH,
+ sal_Int32 nMin = SAL_MIN_INT32,
+ sal_Int32 nMax = SAL_MAX_INT32 );
+
/** convert measure to string */
static void convertMeasure( OUStringBuffer& rBuffer,
sal_Int32 nMeasure,
@@ -74,6 +81,10 @@ public:
static bool convertBool( bool& rBool,
std::u16string_view rString );
+ /** convert string to boolean */
+ static bool convertBool( bool& rBool,
+ std::string_view rString );
+
/** convert boolean to string */
static void convertBool( OUStringBuffer& rBuffer,
bool bValue );
@@ -82,14 +93,22 @@ public:
static bool convertPercent( sal_Int32& rValue,
std::u16string_view rString );
+ /** convert string to percent */
+ static bool convertPercent( sal_Int32& rValue,
+ std::string_view rString );
+
/** convert percent to string */
static void convertPercent( OUStringBuffer& rBuffer,
sal_Int32 nValue );
- /** convert string to pixel measure unite */
+ /** convert string to pixel measure unit */
static bool convertMeasurePx( sal_Int32& rValue,
std::u16string_view rString );
+ /** convert string to pixel measure unit */
+ static bool convertMeasurePx( sal_Int32& rValue,
+ std::string_view rString );
+
/** convert pixel measure unit to string */
static void convertMeasurePx( OUStringBuffer& rBuffer,
sal_Int32 nValue );
@@ -97,6 +116,8 @@ public:
/** convert string to rgb color */
static bool convertColor( sal_Int32& rColor,
std::u16string_view rValue );
+ static bool convertColor( sal_Int32& rColor,
+ std::string_view rValue );
static bool convertColor( ::Color& rColor,
std::u16string_view rValue )
{
@@ -120,11 +141,23 @@ public:
sal_Int32 nMax = SAL_MAX_INT32 );
/** convert string to number with optional min and max values */
+ static bool convertNumber( sal_Int32& rValue,
+ std::string_view aString,
+ sal_Int32 nMin = SAL_MIN_INT32,
+ sal_Int32 nMax = SAL_MAX_INT32 );
+
+ /** convert string to number with optional min and max values */
static bool convertNumber64(sal_Int64& rValue,
std::u16string_view aString,
sal_Int64 nMin = SAL_MIN_INT64,
sal_Int64 nMax = SAL_MAX_INT64);
+ /** convert string to number with optional min and max values */
+ static bool convertNumber64(sal_Int64& rValue,
+ std::string_view aString,
+ sal_Int64 nMin = SAL_MIN_INT64,
+ sal_Int64 nMax = SAL_MAX_INT64);
+
/** convert double number to string (using ::rtl::math) and
DO convert from source unit to target unit */
static void convertDouble( OUStringBuffer& rBuffer,
@@ -146,6 +179,9 @@ public:
/** convert string to double number (using ::rtl::math) without unit conversion */
static bool convertDouble(double& rValue, std::u16string_view rString);
+ /** convert string to double number (using ::rtl::math) without unit conversion */
+ static bool convertDouble(double& rValue, std::string_view rString);
+
/** convert number, 10th of degrees with range [0..3600] to SVG angle */
static void convertAngle(OUStringBuffer& rBuffer, sal_Int16 nAngle,
SvtSaveOptions::ODFSaneDefaultVersion nVersion);
@@ -154,6 +190,10 @@ public:
static bool convertAngle(sal_Int16& rAngle, std::u16string_view rString,
bool isWrongOOo10thDegAngle);
+ /** convert SVG angle to number, 10th of degrees with range [0..3600] */
+ static bool convertAngle(sal_Int16& rAngle, std::string_view rString,
+ bool isWrongOOo10thDegAngle);
+
/** convert double to XMLSchema-2 "duration" string; negative durations allowed */
static void convertDuration(OUStringBuffer& rBuffer,
const double fTime);
@@ -209,6 +249,7 @@ public:
static double GetConversionFactor(OUStringBuffer& rUnit, sal_Int16 nSourceUnit, sal_Int16 nTargetUnit);
static sal_Int16 GetUnitFromString(std::u16string_view rString, sal_Int16 nDefaultUnit);
+ static sal_Int16 GetUnitFromString(std::string_view rString, sal_Int16 nDefaultUnit);
/** convert an Any to string (typesafe) */
static bool convertAny(OUStringBuffer& rsValue,
diff --git a/include/xmloff/xmluconv.hxx b/include/xmloff/xmluconv.hxx
index d4796bb82d94..06e047648832 100644
--- a/include/xmloff/xmluconv.hxx
+++ b/include/xmloff/xmluconv.hxx
@@ -115,6 +115,13 @@ public:
sal_Int32 nMin = SAL_MIN_INT32,
sal_Int32 nMax = SAL_MAX_INT32) const;
+ /** convert string to measure with meCoreMeasureUnit,
+ using optional min and max values*/
+ bool convertMeasureToCore( sal_Int32& rValue,
+ std::string_view rString,
+ sal_Int32 nMin = SAL_MIN_INT32,
+ sal_Int32 nMax = SAL_MAX_INT32) const;
+
/** convert measure to string: from meCoreMeasureUnit to meXMLMeasureUnit */
void convertMeasureToXML( OUStringBuffer& rBuffer,
sal_Int32 nMeasure ) const;
@@ -205,13 +212,17 @@ public:
static bool convertB3DVector( ::basegfx::B3DVector& rVector,
const OUString& rValue );
+ /** convert string to ::basegfx::B3DVector */
+ static bool convertB3DVector( ::basegfx::B3DVector& rVector,
+ std::string_view rValue );
+
/** convert B3DVector to string */
static void convertB3DVector( OUStringBuffer &rBuffer,
const ::basegfx::B3DVector& rVector );
/** convert string to Position3D */
bool convertPosition3D( css::drawing::Position3D& rPosition,
- const OUString& rValue );
+ std::string_view rValue );
/** convert Position3D to string */
void convertPosition3D( OUStringBuffer &rBuffer,
diff --git a/reportdesign/source/filter/xml/xmlColumn.cxx b/reportdesign/source/filter/xml/xmlColumn.cxx
index f98f6507ffc5..9693ee3ceb0d 100644
--- a/reportdesign/source/filter/xml/xmlColumn.cxx
+++ b/reportdesign/source/filter/xml/xmlColumn.cxx
@@ -55,12 +55,10 @@ OXMLRowColumn::OXMLRowColumn( ORptFilter& rImport
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(TABLE, XML_STYLE_NAME):
- fillStyle(sValue);
+ fillStyle(aIter.toString());
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlComponent.cxx b/reportdesign/source/filter/xml/xmlComponent.cxx
index ab55e9215bf3..fc87f8da56e6 100644
--- a/reportdesign/source/filter/xml/xmlComponent.cxx
+++ b/reportdesign/source/filter/xml/xmlComponent.cxx
@@ -42,14 +42,12 @@ OXMLComponent::OXMLComponent( ORptFilter& _rImport
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
try
{
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_NAME):
- m_xComponent->setName(sValue);
+ m_xComponent->setName(aIter.toString());
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlCondPrtExpr.cxx b/reportdesign/source/filter/xml/xmlCondPrtExpr.cxx
index 35167e338095..0ef9c8d98f61 100644
--- a/reportdesign/source/filter/xml/xmlCondPrtExpr.cxx
+++ b/reportdesign/source/filter/xml/xmlCondPrtExpr.cxx
@@ -43,12 +43,10 @@ OXMLCondPrtExpr::OXMLCondPrtExpr( ORptFilter& _rImport
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_FORMULA):
- m_xComponent->setPropertyValue(PROPERTY_CONDITIONALPRINTEXPRESSION,uno::makeAny(ORptFilter::convertFormula(sValue)));
+ m_xComponent->setPropertyValue(PROPERTY_CONDITIONALPRINTEXPRESSION,uno::makeAny(ORptFilter::convertFormula(aIter.toString())));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlControlProperty.cxx b/reportdesign/source/filter/xml/xmlControlProperty.cxx
index fce0ef4cba11..1bc323d466c1 100644
--- a/reportdesign/source/filter/xml/xmlControlProperty.cxx
+++ b/reportdesign/source/filter/xml/xmlControlProperty.cxx
@@ -64,12 +64,10 @@ OXMLControlProperty::OXMLControlProperty( ORptFilter& rImport
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(FORM, XML_LIST_PROPERTY):
- m_bIsList = sValue == "true";
+ m_bIsList = aIter.toView() == "true";
break;
case XML_ELEMENT(OOO, XML_VALUE_TYPE):
{
@@ -88,14 +86,14 @@ OXMLControlProperty::OXMLControlProperty( ORptFilter& rImport
{ GetXMLToken( XML_VOID) , cppu::UnoType<void>::get() },
};
- const std::map< OUString, css::uno::Type >::const_iterator aTypePos = s_aTypeNameMap.find(sValue);
+ const std::map< OUString, css::uno::Type >::const_iterator aTypePos = s_aTypeNameMap.find(aIter.toString());
OSL_ENSURE(s_aTypeNameMap.end() != aTypePos, "OXMLControlProperty::OXMLControlProperty: invalid type!");
if (s_aTypeNameMap.end() != aTypePos)
m_aPropType = aTypePos->second;
}
break;
case XML_ELEMENT(FORM, XML_PROPERTY_NAME):
- m_aSetting.Name = sValue;
+ m_aSetting.Name = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlFormatCondition.cxx b/reportdesign/source/filter/xml/xmlFormatCondition.cxx
index 235f6931778f..63aae9301105 100644
--- a/reportdesign/source/filter/xml/xmlFormatCondition.cxx
+++ b/reportdesign/source/filter/xml/xmlFormatCondition.cxx
@@ -42,23 +42,20 @@ OXMLFormatCondition::OXMLFormatCondition( ORptFilter& rImport,
{
OSL_ENSURE(m_xComponent.is(),"Component is NULL!");
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_ENABLED):
- m_xComponent->setEnabled(sValue == s_sTRUE);
+ m_xComponent->setEnabled(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_FORMULA):
- m_xComponent->setFormula(ORptFilter::convertFormula(sValue));
+ m_xComponent->setFormula(ORptFilter::convertFormula(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_STYLE_NAME):
- m_sStyleName = sValue;
+ m_sStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlFormattedField.cxx b/reportdesign/source/filter/xml/xmlFormattedField.cxx
index c34f8adf2414..b453dbc4da79 100644
--- a/reportdesign/source/filter/xml/xmlFormattedField.cxx
+++ b/reportdesign/source/filter/xml/xmlFormattedField.cxx
@@ -43,12 +43,10 @@ OXMLFormattedField::OXMLFormattedField( ORptFilter& rImport
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_FORMULA):
- _xComponent->setDataField(ORptFilter::convertFormula(sValue));
+ _xComponent->setDataField(ORptFilter::convertFormula(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_SELECT_PAGE):
_xComponent->setDataField("rpt:PageNumber()");
diff --git a/reportdesign/source/filter/xml/xmlFunction.cxx b/reportdesign/source/filter/xml/xmlFunction.cxx
index 62dcaa9256f7..cd6d072d24ac 100644
--- a/reportdesign/source/filter/xml/xmlFunction.cxx
+++ b/reportdesign/source/filter/xml/xmlFunction.cxx
@@ -45,30 +45,27 @@ OXMLFunction::OXMLFunction( ORptFilter& _rImport
OSL_ENSURE(m_xFunctions.is(),"Functions is NULL!");
m_xFunction = m_xFunctions->createFunction();
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
try
{
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_NAME):
- m_xFunction->setName(sValue);
+ m_xFunction->setName(aIter.toString());
break;
case XML_ELEMENT(REPORT, XML_FORMULA):
- m_xFunction->setFormula(ORptFilter::convertFormula(sValue));
+ m_xFunction->setFormula(ORptFilter::convertFormula(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_PRE_EVALUATED):
- m_xFunction->setPreEvaluated(sValue == s_sTRUE);
+ m_xFunction->setPreEvaluated(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_INITIAL_FORMULA):
- if ( !sValue.isEmpty() )
- m_xFunction->setInitialFormula(beans::Optional< OUString>(true,ORptFilter::convertFormula(sValue)));
+ if ( !aIter.isEmpty() )
+ m_xFunction->setInitialFormula(beans::Optional< OUString>(true,ORptFilter::convertFormula(aIter.toString())));
break;
case XML_ELEMENT(REPORT, XML_DEEP_TRAVERSING):
- m_xFunction->setDeepTraversing(sValue == s_sTRUE);
+ m_xFunction->setDeepTraversing(IsXMLToken(aIter, XML_TRUE));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlGroup.cxx b/reportdesign/source/filter/xml/xmlGroup.cxx
index 94f6028494ce..b8a8e10abc10 100644
--- a/reportdesign/source/filter/xml/xmlGroup.cxx
+++ b/reportdesign/source/filter/xml/xmlGroup.cxx
@@ -58,26 +58,24 @@ OXMLGroup::OXMLGroup( ORptFilter& _rImport
m_xGroup = m_xGroups->createGroup();
m_xGroup->setSortAscending(false);// the default value has to be set
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
try
{
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_START_NEW_COLUMN):
- m_xGroup->setStartNewColumn(sValue == s_sTRUE);
+ m_xGroup->setStartNewColumn(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_RESET_PAGE_NUMBER):
- m_xGroup->setResetPageNumber(sValue == s_sTRUE);
+ m_xGroup->setResetPageNumber(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_SORT_ASCENDING):
- m_xGroup->setSortAscending(sValue == s_sTRUE);
+ m_xGroup->setSortAscending(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_GROUP_EXPRESSION):
{
+ OUString sValue = aIter.toString();
sal_Int32 nLen = sValue.getLength();
if ( nLen )
{
@@ -156,7 +154,7 @@ OXMLGroup::OXMLGroup( ORptFilter& _rImport
}
break;
case XML_ELEMENT(REPORT, XML_KEEP_TOGETHER):
- m_xGroup->setKeepTogether(lcl_getKeepTogetherOption(sValue));
+ m_xGroup->setKeepTogether(lcl_getKeepTogetherOption(aIter.toString()));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlImage.cxx b/reportdesign/source/filter/xml/xmlImage.cxx
index 9f27b6151e82..d8736f5ca032 100644
--- a/reportdesign/source/filter/xml/xmlImage.cxx
+++ b/reportdesign/source/filter/xml/xmlImage.cxx
@@ -44,44 +44,42 @@ OXMLImage::OXMLImage( ORptFilter& rImport,
{
OSL_ENSURE(m_xReportComponent.is(),"Component is NULL!");
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(FORM, XML_IMAGE_DATA):
{
SvtPathOptions aPathOptions;
+ OUString sValue = aIter.toString();
sValue = aPathOptions.SubstituteVariable(sValue);
_xComponent->setImageURL(rImport.GetAbsoluteReference( sValue ));
break;
}
case XML_ELEMENT(REPORT, XML_PRESERVE_IRI):
- _xComponent->setPreserveIRI(s_sTRUE == sValue);
+ _xComponent->setPreserveIRI(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_SCALE):
{
sal_Int16 nRet = awt::ImageScaleMode::NONE;
- if ( s_sTRUE == sValue )
+ if ( IsXMLToken(aIter, XML_TRUE) )
{
nRet = awt::ImageScaleMode::ANISOTROPIC;
}
else
{
const SvXMLEnumMapEntry<sal_Int16>* aXML_EnumMap = OXMLHelper::GetImageScaleOptions();
- bool bConvertOk = SvXMLUnitConverter::convertEnum( nRet, sValue, aXML_EnumMap );
+ bool bConvertOk = SvXMLUnitConverter::convertEnum( nRet, aIter.toString(), aXML_EnumMap );
SAL_WARN_IF(!bConvertOk, "reportdesign", "convertEnum failed");
}
_xComponent->setScaleMode( nRet );
break;
}
case XML_ELEMENT(REPORT, XML_FORMULA):
- _xComponent->setDataField(ORptFilter::convertFormula(sValue));
+ _xComponent->setDataField(ORptFilter::convertFormula(aIter.toString()));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlReport.cxx b/reportdesign/source/filter/xml/xmlReport.cxx
index a559946fc848..01a0a2a76765 100644
--- a/reportdesign/source/filter/xml/xmlReport.cxx
+++ b/reportdesign/source/filter/xml/xmlReport.cxx
@@ -49,42 +49,39 @@ OXMLReport::OXMLReport( ORptFilter& rImport,
impl_initRuntimeDefaults();
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_COMMAND_TYPE):
{
sal_Int32 nRet = sdb::CommandType::COMMAND;
const SvXMLEnumMapEntry<sal_Int32>* aXML_EnumMap = OXMLHelper::GetCommandTypeOptions();
- bool bConvertOk = SvXMLUnitConverter::convertEnum( nRet, sValue, aXML_EnumMap );
+ bool bConvertOk = SvXMLUnitConverter::convertEnum( nRet, aIter.toString(), aXML_EnumMap );
SAL_WARN_IF(!bConvertOk, "reportdesign", "convertEnum failed");
m_xReportDefinition->setCommandType(nRet);
}
break;
case XML_ELEMENT(REPORT, XML_COMMAND):
- m_xReportDefinition->setCommand(sValue);
+ m_xReportDefinition->setCommand(aIter.toString());
break;
case XML_ELEMENT(REPORT, XML_FILTER):
- m_xReportDefinition->setFilter(sValue);
+ m_xReportDefinition->setFilter(aIter.toString());
break;
case XML_ELEMENT(REPORT, XML_CAPTION):
case XML_ELEMENT(OFFICE, XML_CAPTION):
- m_xReportDefinition->setCaption(sValue);
+ m_xReportDefinition->setCaption(aIter.toString());
break;
case XML_ELEMENT(REPORT, XML_ESCAPE_PROCESSING):
- m_xReportDefinition->setEscapeProcessing(sValue == s_sTRUE);
+ m_xReportDefinition->setEscapeProcessing(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(OFFICE, XML_MIMETYPE):
- m_xReportDefinition->setMimeType(sValue);
+ m_xReportDefinition->setMimeType(aIter.toString());
break;
case XML_ELEMENT(DRAW, XML_NAME):
- m_xReportDefinition->setName(sValue);
+ m_xReportDefinition->setName(aIter.toString());
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlReportElement.cxx b/reportdesign/source/filter/xml/xmlReportElement.cxx
index 0c49c9fb47e3..e488fb50a41c 100644
--- a/reportdesign/source/filter/xml/xmlReportElement.cxx
+++ b/reportdesign/source/filter/xml/xmlReportElement.cxx
@@ -45,20 +45,17 @@ OXMLReportElement::OXMLReportElement( ORptFilter& rImport,
OSL_ENSURE(m_xComponent.is(),"Component is NULL!");
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_PRINT_WHEN_GROUP_CHANGE):
- m_xComponent->setPrintWhenGroupChange(s_sTRUE == sValue);
+ m_xComponent->setPrintWhenGroupChange(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_PRINT_REPEATED_VALUES):
- m_xComponent->setPrintRepeatedValues(sValue == s_sTRUE);
+ m_xComponent->setPrintRepeatedValues(IsXMLToken(aIter, XML_TRUE));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlSection.cxx b/reportdesign/source/filter/xml/xmlSection.cxx
index 6e1954ab0456..71a458947fdd 100644
--- a/reportdesign/source/filter/xml/xmlSection.cxx
+++ b/reportdesign/source/filter/xml/xmlSection.cxx
@@ -55,23 +55,20 @@ OXMLSection::OXMLSection( ORptFilter& rImport,
if (!m_xSection.is())
return;
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_PAGE_PRINT_OPTION):
if ( _bPageHeader )
- m_xSection->getReportDefinition()->setPageHeaderOption(lcl_getReportPrintOption(sValue));
+ m_xSection->getReportDefinition()->setPageHeaderOption(lcl_getReportPrintOption(aIter.toString()));
else
- m_xSection->getReportDefinition()->setPageFooterOption(lcl_getReportPrintOption(sValue));
+ m_xSection->getReportDefinition()->setPageFooterOption(lcl_getReportPrintOption(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_REPEAT_SECTION):
- m_xSection->setRepeatSection(sValue == s_sTRUE );
+ m_xSection->setRepeatSection(IsXMLToken(aIter, XML_TRUE));
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/reportdesign/source/filter/xml/xmlTable.cxx b/reportdesign/source/filter/xml/xmlTable.cxx
index 2c3bc48cbdda..f6934e2a3ae6 100644
--- a/reportdesign/source/filter/xml/xmlTable.cxx
+++ b/reportdesign/source/filter/xml/xmlTable.cxx
@@ -72,32 +72,29 @@ OXMLTable::OXMLTable( ORptFilter& rImport
if (!m_xSection.is())
return;
- static const OUString s_sTRUE = ::xmloff::token::GetXMLToken(XML_TRUE);
try
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( _xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(REPORT, XML_VISIBLE):
- m_xSection->setVisible(sValue == s_sTRUE);
+ m_xSection->setVisible(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(REPORT, XML_FORCE_NEW_PAGE):
- m_xSection->setForceNewPage(lcl_getForceNewPageOption(sValue));
+ m_xSection->setForceNewPage(lcl_getForceNewPageOption(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_FORCE_NEW_COLUMN):
- m_xSection->setNewRowOrCol(lcl_getForceNewPageOption(sValue));
+ m_xSection->setNewRowOrCol(lcl_getForceNewPageOption(aIter.toString()));
break;
case XML_ELEMENT(REPORT, XML_KEEP_TOGETHER):
- m_xSection->setKeepTogether(sValue == s_sTRUE);
+ m_xSection->setKeepTogether(IsXMLToken(aIter, XML_TRUE));
break;
case XML_ELEMENT(TABLE, XML_NAME):
- m_xSection->setName(sValue);
+ m_xSection->setName(aIter.toString());
break;
case XML_ELEMENT(TABLE, XML_STYLE_NAME):
- m_sStyleName = sValue;
+ m_sStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("reportdesign", aIter);
diff --git a/sax/source/tools/converter.cxx b/sax/source/tools/converter.cxx
index 07223cb01fb2..5caeb3161b8a 100644
--- a/sax/source/tools/converter.cxx
+++ b/sax/source/tools/converter.cxx
@@ -264,6 +264,219 @@ bool Converter::convertMeasure( sal_Int32& rValue,
return true;
}
+/** convert string to measure using optional min and max values*/
+bool Converter::convertMeasure( sal_Int32& rValue,
+ std::string_view rString,
+ sal_Int16 nTargetUnit /* = MeasureUnit::MM_100TH */,
+ sal_Int32 nMin /* = SAL_MIN_INT32 */,
+ sal_Int32 nMax /* = SAL_MAX_INT32 */ )
+{
+ bool bNeg = false;
+ double nVal = 0;
+
+ sal_Int32 nPos = 0;
+ sal_Int32 const nLen = rString.size();
+
+ // skip white space
+ while( (nPos < nLen) && (rString[nPos] <= ' ') )
+ nPos++;
+
+ if( nPos < nLen && '-' == rString[nPos] )
+ {
+ bNeg = true;
+ nPos++;
+ }
+
+ // get number
+ while( nPos < nLen &&
+ '0' <= rString[nPos] &&
+ '9' >= rString[nPos] )
+ {
+ // TODO: check overflow!
+ nVal *= 10;
+ nVal += (rString[nPos] - '0');
+ nPos++;
+ }
+ if( nPos < nLen && '.' == rString[nPos] )
+ {
+ nPos++;
+ double nDiv = 1.;
+
+ while( nPos < nLen &&
+ '0' <= rString[nPos] &&
+ '9' >= rString[nPos] )
+ {
+ // TODO: check overflow!
+ nDiv *= 10;
+ nVal += ( static_cast<double>(rString[nPos] - '0') / nDiv );
+ nPos++;
+ }
+ }
+
+ // skip white space
+ while( (nPos < nLen) && (rString[nPos] <= ' ') )
+ nPos++;
+
+ if( nPos < nLen )
+ {
+
+ if( MeasureUnit::PERCENT == nTargetUnit )
+ {
+ if( '%' != rString[nPos] )
+ return false;
+ }
+ else if( MeasureUnit::PIXEL == nTargetUnit )
+ {
+ if( nPos + 1 >= nLen ||
+ ('p' != rString[nPos] &&
+ 'P' != rString[nPos])||
+ ('x' != rString[nPos+1] &&
+ 'X' != rString[nPos+1]) )
+ return false;
+ }
+ else
+ {
+ OSL_ENSURE( MeasureUnit::TWIP == nTargetUnit || MeasureUnit::POINT == nTargetUnit ||
+ MeasureUnit::MM_100TH == nTargetUnit || MeasureUnit::MM_10TH == nTargetUnit ||
+ MeasureUnit::PIXEL == nTargetUnit, "unit is not supported");
+ const char *aCmpsL[3] = { nullptr, nullptr, nullptr };
+ const char *aCmpsU[3] = { nullptr, nullptr, nullptr };
+ double aScales[3] = { 1., 1., 1. };
+
+ if( MeasureUnit::TWIP == nTargetUnit )
+ {
+ switch( rString[nPos] )
+ {
+ case u'c':
+ case u'C':
+ aCmpsL[0] = "cm";
+ aCmpsU[0] = "CM";
+ aScales[0] = (72.*20.)/2.54; // twip
+ break;
+ case u'i':
+ case u'I':
+ aCmpsL[0] = "in";
+ aCmpsU[0] = "IN";
+ aScales[0] = 72.*20.; // twip
+ break;
+ case u'm':
+ case u'M':
+ aCmpsL[0] = "mm";
+ aCmpsU[0] = "MM";
+ aScales[0] = (72.*20.)/25.4; // twip
+ break;
+ case u'p':
+ case u'P':
+ aCmpsL[0] = "pt";
+ aCmpsU[0] = "PT";
+ aScales[0] = 20.; // twip
+
+ aCmpsL[1] = "pc";
+ aCmpsU[1] = "PC";
+ aScales[1] = 12.*20.; // twip
+ break;
+ }
+ }
+ else if( MeasureUnit::MM_100TH == nTargetUnit || MeasureUnit::MM_10TH == nTargetUnit )
+ {
+ double nScaleFactor = (MeasureUnit::MM_100TH == nTargetUnit) ? 100.0 : 10.0;
+ switch( rString[nPos] )
+ {
+ case u'c':
+ case u'C':
+ aCmpsL[0] = "cm";
+ aCmpsU[0] = "CM";
+ aScales[0] = 10.0 * nScaleFactor; // mm/100
+ break;
+ case u'i':
+ case u'I':
+ aCmpsL[0] = "in";
+ aCmpsU[0] = "IN";
+ aScales[0] = 1000.*2.54; // mm/100
+ break;
+ case u'm':
+ case u'M':
+ aCmpsL[0] = "mm";
+ aCmpsU[0] = "MM";
+ aScales[0] = 1.0 * nScaleFactor; // mm/100
+ break;
+ case u'p':
+ case u'P':
+ aCmpsL[0] = "pt";
+ aCmpsU[0] = "PT";
+ aScales[0] = (10.0 * nScaleFactor*2.54)/72.; // mm/100
+
+ aCmpsL[1] = "pc";
+ aCmpsU[1] = "PC";
+ aScales[1] = (10.0 * nScaleFactor*2.54)/12.; // mm/100
+
+ aCmpsL[2] = "px";
+ aCmpsU[2] = "PX";
+ aScales[2] = 0.28 * nScaleFactor; // mm/100
+ break;
+ }
+ }
+ else if( MeasureUnit::POINT == nTargetUnit )
+ {
+ if( rString[nPos] == 'p' || rString[nPos] == 'P' )
+ {
+ aCmpsL[0] = "pt";
+ aCmpsU[0] = "PT";
+ aScales[0] = 1;
+ }
+ }
+
+ if( aCmpsL[0] == nullptr )
+ return false;
+
+ double nScale = 0.;
+ for( sal_uInt16 i= 0; i < 3; i++ )
+ {
+ sal_Int32 nTmp = nPos; // come back to the initial position before each iteration
+ const char *pL = aCmpsL[i];
+ if( pL )
+ {
+ const char *pU = aCmpsU[i];
+ while( nTmp < nLen && *pL )
+ {
+ sal_Unicode c = rString[nTmp];
+ if( c != *pL && c != *pU )
+ break;
+ pL++;
+ pU++;
+ nTmp++;
+ }
+ if( !*pL && (nTmp == nLen || ' ' == rString[nTmp]) )
+ {
+ nScale = aScales[i];
+ break;
+ }
+ }
+ }
+
+ if( 0. == nScale )
+ return false;
+
+ // TODO: check overflow
+ if( nScale != 1. )
+ nVal *= nScale;
+ }
+ }
+
+ nVal += .5;
+ if( bNeg )
+ nVal = -nVal;
+
+ if( nVal <= static_cast<double>(nMin) )
+ rValue = nMin;
+ else if( nVal >= static_cast<double>(nMax) )
+ rValue = nMax;
+ else
+ rValue = static_cast<sal_Int32>(nVal);
+
+ return true;
+}
+
/** convert measure in given unit to string with given unit */
void Converter::convertMeasure( OUStringBuffer& rBuffer,
sal_Int32 nMeasure,
@@ -431,6 +644,14 @@ bool Converter::convertBool( bool& rBool, std::u16string_view rString )
return rBool || (rString == u"false");
}
+/** convert string to boolean */
+bool Converter::convertBool( bool& rBool, std::string_view rString )
+{
+ rBool = rString == "true";
+
+ return rBool || (rString == "false");
+}
+
/** convert boolean to string */
void Converter::convertBool( OUStringBuffer& rBuffer, bool bValue )
{
@@ -443,6 +664,12 @@ bool Converter::convertPercent( sal_Int32& rPercent, std::u16string_view rString
return convertMeasure( rPercent, rString, MeasureUnit::PERCENT );
}
+/** convert string to percent */
+bool Converter::convertPercent( sal_Int32& rPercent, std::string_view rString )
+{
+ return convertMeasure( rPercent, rString, MeasureUnit::PERCENT );
+}
+
/** convert percent to string */
void Converter::convertPercent( OUStringBuffer& rBuffer, sal_Int32 nValue )
{
@@ -456,6 +683,12 @@ bool Converter::convertMeasurePx( sal_Int32& rPixel, std::u16string_view rString
return convertMeasure( rPixel, rString, MeasureUnit::PIXEL );
}
+/** convert string to pixel measure */
+bool Converter::convertMeasurePx( sal_Int32& rPixel, std::string_view rString )
+{
+ return convertMeasure( rPixel, rString, MeasureUnit::PIXEL );
+}
+
/** convert pixel measure to string */
void Converter::convertMeasurePx( OUStringBuffer& rBuffer, sal_Int32 nValue )
{
@@ -493,6 +726,23 @@ bool Converter::convertColor( sal_Int32& rColor, std::u16string_view rValue )
return true;
}
+/** convert string to rgb color */
+bool Converter::convertColor( sal_Int32& rColor, std::string_view rValue )
+{
+ if( rValue.size() != 7 || rValue[0] != '#' )
+ return false;
+
+ rColor = lcl_gethex( rValue[1] ) * 16 + lcl_gethex( rValue[2] );
+ rColor <<= 8;
+
+ rColor |= ( lcl_gethex( rValue[3] ) * 16 + lcl_gethex( rValue[4] ) );
+ rColor <<= 8;
+
+ rColor |= ( lcl_gethex( rValue[5] ) * 16 + lcl_gethex( rValue[6] ) );
+
+ return true;
+}
+
const char aHexTab[] = "0123456789abcdef";
/** convert color to string */
@@ -526,6 +776,19 @@ bool Converter::convertNumber( sal_Int32& rValue,
return bRet;
}
+/** convert string to number with optional min and max values */
+bool Converter::convertNumber( sal_Int32& rValue,
+ std::string_view aString,
+ sal_Int32 nMin, sal_Int32 nMax )
+{
+ rValue = 0;
+ sal_Int64 nNumber = 0;
+ bool bRet = convertNumber64(nNumber,aString,nMin,nMax);
+ if ( bRet )
+ rValue = static_cast<sal_Int32>(nNumber);
+ return bRet;
+}
+
/** convert string to 64-bit number with optional min and max values */
bool Converter::convertNumber64( sal_Int64& rValue,
std::u16string_view aString,
@@ -563,6 +826,43 @@ bool Converter::convertNumber64( sal_Int64& rValue,
return ( nPos == nLen && rValue >= nMin && rValue <= nMax );
}
+/** convert string to 64-bit number with optional min and max values */
+bool Converter::convertNumber64( sal_Int64& rValue,
+ std::string_view aString,
+ sal_Int64 nMin, sal_Int64 nMax )
+{
+ sal_Int32 nPos = 0;
+ sal_Int32 const nLen = aString.size();
+
+ // skip white space
+ while( (nPos < nLen) && (aString[nPos] <= ' ') )
+ nPos++;
+
+ sal_Int32 nNumberStartPos = nPos;
+
+ if( nPos < nLen && '-' == aString[nPos] )
+ {
+ nPos++;
+ }
+
+ // get number
+ while( nPos < nLen &&
+ '0' <= aString[nPos] &&
+ '9' >= aString[nPos] )
+ {
+ nPos++;
+ }
+
+ rValue = rtl_str_toInt64_WithLength(aString.data() + nNumberStartPos, 10, nPos - nNumberStartPos);
+
+ if( rValue < nMin )
+ rValue = nMin;
+ else if( rValue > nMax )
+ rValue = nMax;
+
+ return ( nPos == nLen && rValue >= nMin && rValue <= nMax );
+}
+
/** convert double number to string (using ::rtl::math) */
void Converter::convertDouble( OUStringBuffer& rBuffer,
double fNumber,
@@ -623,6 +923,14 @@ bool Converter::convertDouble(double& rValue, std::u16string_view rString)
return ( eStatus == rtl_math_ConversionStatus_Ok );
}
+/** convert string to double number (using ::rtl::math) */
+bool Converter::convertDouble(double& rValue, std::string_view rString)
+{
+ rtl_math_ConversionStatus eStatus;
+ rValue = ::rtl::math::stringToDouble( rString, '.', ',', &eStatus );
+ return ( eStatus == rtl_math_ConversionStatus_Ok );
+}
+
/** convert number, 10th of degrees with range [0..3600] to SVG angle */
void Converter::convertAngle(OUStringBuffer& rBuffer, sal_Int16 const nAngle,
SvtSaveOptions::ODFSaneDefaultVersion const nVersion)
@@ -690,6 +998,56 @@ bool Converter::convertAngle(sal_Int16& rAngle, std::u16string_view rString,
return bRet;
}
+/** convert SVG angle to number, 10th of degrees with range [0..3600] */
+bool Converter::convertAngle(sal_Int16& rAngle, std::string_view rString,
+ bool const isWrongOOo10thDegAngle)
+{
+ // ODF 1.1 leaves it undefined what the number means, but ODF 1.2 says it's
+ // degrees, while OOo has historically used 10th of degrees :(
+ // So import degrees when we see the "deg" suffix but continue with 10th of
+ // degrees for now for the sake of existing OOo/LO documents, until the
+ // new versions that can read "deg" suffix are widely deployed and we can
+ // start to write the "deg" suffix.
+ sal_Int32 nValue(0);
+ double fValue(0.0);
+ bool bRet = ::sax::Converter::convertDouble(fValue, rString);
+ if (std::string_view::npos != rString.find("deg"))
+ {
+ nValue = fValue * 10.0;
+ }
+ else if (std::string_view::npos != rString.find("grad"))
+ {
+ nValue = (fValue * 9.0 / 10.0) * 10.0;
+ }
+ else if (std::string_view::npos != rString.find("rad"))
+ {
+ nValue = basegfx::rad2deg(fValue) * 10.0;
+ }
+ else // no explicit unit
+ {
+ if (isWrongOOo10thDegAngle)
+ {
+ nValue = fValue; // wrong, but backward compatible with OOo/LO < 7.0
+ }
+ else
+ {
+ nValue = fValue * 10.0; // ODF 1.2
+ }
+ }
+ // limit to valid range [0..3600]
+ nValue = nValue % 3600;
+ if (nValue < 0)
+ {
+ nValue += 3600;
+ }
+ assert(0 <= nValue && nValue <= 3600);
+ if (bRet)
+ {
+ rAngle = sal::static_int_cast<sal_Int16>(nValue);
+ }
+ return bRet;
+}
+
/** convert double to ISO "duration" string; negative durations allowed */
void Converter::convertDuration(OUStringBuffer& rBuffer,
const double fTime)
@@ -2342,6 +2700,90 @@ sal_Int16 Converter::GetUnitFromString(std::u16string_view rString, sal_Int16 nD
return nRetUnit;
}
+sal_Int16 Converter::GetUnitFromString(std::string_view rString, sal_Int16 nDefaultUnit)
+{
+ sal_Int32 nPos = 0;
+ sal_Int32 nLen = rString.size();
+ sal_Int16 nRetUnit = nDefaultUnit;
+
+ // skip white space
+ while( nPos < nLen && ' ' == rString[nPos] )
+ nPos++;
+
+ // skip negative
+ if( nPos < nLen && '-' == rString[nPos] )
+ nPos++;
+
+ // skip number
+ while( nPos < nLen && '0' <= rString[nPos] && '9' >= rString[nPos] )
+ nPos++;
+
+ if( nPos < nLen && '.' == rString[nPos] )
+ {
+ nPos++;
+ while( nPos < nLen && '0' <= rString[nPos] && '9' >= rString[nPos] )
+ nPos++;
+ }
+
+ // skip white space
+ while( nPos < nLen && ' ' == rString[nPos] )
+ nPos++;
+
+ if( nPos < nLen )
+ {
+ switch(rString[nPos])
+ {
+ case u'%' :
+ {
+ nRetUnit = MeasureUnit::PERCENT;
+ break;
+ }
+ case u'c':
+ case u'C':
+ {
+ if(nPos+1 < nLen && (rString[nPos+1] == 'm'
+ || rString[nPos+1] == 'M'))
+ nRetUnit = MeasureUnit::CM;
+ break;
+ }
+ case u'e':
+ case u'E':
+ {
+ // CSS1_EMS or CSS1_EMX later
+ break;
+ }
+ case u'i':
+ case u'I':
+ {
+ if(nPos+1 < nLen && (rString[nPos+1] == 'n'
+ || rString[nPos+1] == 'N'))
+ nRetUnit = MeasureUnit::INCH;
+ break;
+ }
+ case u'm':
+ case u'M':
+ {
+ if(nPos+1 < nLen && (rString[nPos+1] == 'm'
+ || rString[nPos+1] == 'M'))
+ nRetUnit = MeasureUnit::MM;
+ break;
+ }
+ case u'p':
+ case u'P':
+ {
+ if(nPos+1 < nLen && (rString[nPos+1] == 't'
+ || rString[nPos+1] == 'T'))
+ nRetUnit = MeasureUnit::POINT;
+ if(nPos+1 < nLen && (rString[nPos+1] == 'c'
+ || rString[nPos+1] == 'C'))
+ nRetUnit = MeasureUnit::TWIP;
+ break;
+ }
+ }
+ }
+
+ return nRetUnit;
+}
bool Converter::convertAny(OUStringBuffer& rsValue,
OUStringBuffer& rsType ,
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
index d2d00b35df44..80bf77187c0a 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
@@ -193,15 +193,15 @@ void ScXMLChangeTrackingImportHelper::StartChangeAction(const ScChangeActionType
}
}
-sal_uInt32 ScXMLChangeTrackingImportHelper::GetIDFromString(const OUString& sID)
+sal_uInt32 ScXMLChangeTrackingImportHelper::GetIDFromString(std::string_view sID)
{
sal_uInt32 nResult(0);
- if (!sID.isEmpty())
+ if (!sID.empty())
{
- if (sID.startsWith(SC_CHANGE_ID_PREFIX))
+ if (sID.substr(0, strlen(SC_CHANGE_ID_PREFIX)) == SC_CHANGE_ID_PREFIX)
{
sal_Int32 nValue;
- ::sax::Converter::convertNumber(nValue, std::u16string_view(sID).substr(strlen(SC_CHANGE_ID_PREFIX)));
+ ::sax::Converter::convertNumber(nValue, sID.substr(strlen(SC_CHANGE_ID_PREFIX)));
OSL_ENSURE(nValue > 0, "wrong change action ID");
nResult = nValue;
}
diff --git a/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx b/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
index 4c318df17919..36529dfa47b0 100644
--- a/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
+++ b/sc/source/filter/xml/XMLChangeTrackingImportHelper.hxx
@@ -187,7 +187,7 @@ public:
void SetProtection(const css::uno::Sequence<sal_Int8>& rProtect) { aProtect = rProtect; }
void StartChangeAction(const ScChangeActionType nActionType);
- static sal_uInt32 GetIDFromString(const OUString& sID);
+ static sal_uInt32 GetIDFromString(std::string_view sID);
void SetActionNumber(const sal_uInt32 nActionNumber) { pCurrentAction->nActionNumber = nActionNumber; }
void SetActionState(const ScChangeActionState nActionState) { pCurrentAction->nActionState = nActionState; }
diff --git a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
index 3d2fc8c9ec72..62d3a217bbce 100644
--- a/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
+++ b/sc/source/filter/xml/XMLTableHeaderFooterContext.cxx
@@ -56,7 +56,7 @@ XMLTableHeaderFooterContext::XMLTableHeaderFooterContext( SvXMLImport& rImport,
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
if( aIter.getToken() == XML_ELEMENT(STYLE, XML_DISPLAY) )
- bDisplay = IsXMLToken(aIter.toString(), XML_TRUE);
+ bDisplay = IsXMLToken(aIter, XML_TRUE);
else
XMLOFF_WARN_UNKNOWN("sc", aIter);
}
diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
index 443f23d611d2..966204506256 100644
--- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
+++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
@@ -97,8 +97,6 @@ void XMLTableShapeImportHelper::finishShape(
SdrLayerID nLayerID = SDRLAYER_NOTFOUND;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
-
switch(aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_END_CELL_ADDRESS):
@@ -106,7 +104,7 @@ void XMLTableShapeImportHelper::finishShape(
sal_Int32 nOffset(0);
ScDocument* pDoc = static_cast<ScXMLImport&>(mrImporter).GetDocument();
assert(pDoc);
- ScRangeStringConverter::GetAddressFromString(aAnchor.maEnd, sValue, *pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
+ ScRangeStringConverter::GetAddressFromString(aAnchor.maEnd, aIter.toString(), *pDoc, ::formula::FormulaGrammar::CONV_OOO, nOffset);
// When the cell end address is set, we let the shape resize with the cell
aAnchor.mbResizeWithCell = true;
break;
@@ -115,7 +113,7 @@ void XMLTableShapeImportHelper::finishShape(
{
static_cast<ScXMLImport&>(mrImporter).
GetMM100UnitConverter().convertMeasureToCore(
- nEndX, sValue);
+ nEndX, aIter.toView());
aAnchor.maEndOffset.setX( nEndX );
break;
}
@@ -123,16 +121,16 @@ void XMLTableShapeImportHelper::finishShape(
{
static_cast<ScXMLImport&>(mrImporter).
GetMM100UnitConverter().convertMeasureToCore(
- nEndY, sValue);
+ nEndY, aIter.toView());
aAnchor.maEndOffset.setY( nEndY );
break;
}
case XML_ELEMENT(TABLE, XML_TABLE_BACKGROUND):
- if (IsXMLToken(sValue, XML_TRUE))
+ if (IsXMLToken(aIter, XML_TRUE))
nLayerID = SC_LAYER_BACK;
break;
case XML_ELEMENT(DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES):
- xRangeList = sValue;
+ xRangeList = aIter.toString();
break;
default: ;
}
@@ -216,7 +214,7 @@ void XMLTableShapeImportHelper::finishShape(
{
if (aIter.getToken() == XML_ELEMENT(TABLE, XML_TABLE_BACKGROUND))
{
- if (IsXMLToken(aIter.toString(), XML_TRUE))
+ if (IsXMLToken(aIter, XML_TRUE))
nLayerID = SC_LAYER_BACK;
break;
}
diff --git a/sc/source/filter/xml/XMLTrackedChangesContext.cxx b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
index d8292c5feecd..3f8870ea32c2 100644
--- a/sc/source/filter/xml/XMLTrackedChangesContext.cxx
+++ b/sc/source/filter/xml/XMLTrackedChangesContext.cxx
@@ -522,7 +522,7 @@ ScXMLCellContentDeletionContext::ScXMLCellContentDeletionContext( ScXMLImport&
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
@@ -568,7 +568,7 @@ ScXMLDependenceContext::ScXMLDependenceContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toString());
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
}
pChangeTrackingImportHelper->AddDependence(nID);
}
@@ -608,7 +608,7 @@ ScXMLChangeDeletionContext::ScXMLChangeDeletionContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
pChangeTrackingImportHelper->AddDeleted(nID);
}
@@ -907,7 +907,7 @@ ScXMLPreviousContext::ScXMLPreviousContext( ScXMLImport& rImport,
{
auto aIter( rAttrList->find( XML_ELEMENT( TABLE, XML_ID ) ) );
if (aIter != rAttrList->end())
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
@@ -948,7 +948,7 @@ ScXMLContentChangeContext::ScXMLContentChangeContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -957,7 +957,7 @@ ScXMLContentChangeContext::ScXMLContentChangeContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
}
}
}
@@ -1024,7 +1024,7 @@ ScXMLInsertionContext::ScXMLInsertionContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1033,7 +1033,7 @@ ScXMLInsertionContext::ScXMLInsertionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_TYPE ):
if (IsXMLToken( aIter, XML_ROW ))
@@ -1098,15 +1098,13 @@ ScXMLInsertionCutOffContext::ScXMLInsertionCutOffContext( ScXMLImport& rImport,
sal_Int32 nPosition(0);
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_ID):
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(sValue);
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_POSITION):
- ::sax::Converter::convertNumber(nPosition, sValue);
+ ::sax::Converter::convertNumber(nPosition, aIter.toView());
break;
}
}
@@ -1126,22 +1124,20 @@ ScXMLMovementCutOffContext::ScXMLMovementCutOffContext( ScXMLImport& rImport,
bool bPosition(false);
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(TABLE, XML_ID):
- nID = ScXMLChangeTrackingImportHelper::GetIDFromString(sValue);
+ nID = ScXMLChangeTrackingImportHelper::GetIDFromString(aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_POSITION):
bPosition = true;
- ::sax::Converter::convertNumber(nPosition, sValue);
+ ::sax::Converter::convertNumber(nPosition, aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_START_POSITION):
- ::sax::Converter::convertNumber(nStartPosition, sValue);
+ ::sax::Converter::convertNumber(nStartPosition, aIter.toView());
break;
case XML_ELEMENT(TABLE, XML_END_POSITION):
- ::sax::Converter::convertNumber(nEndPosition, sValue);
+ ::sax::Converter::convertNumber(nEndPosition, aIter.toView());
break;
}
}
@@ -1193,7 +1189,7 @@ ScXMLDeletionContext::ScXMLDeletionContext( ScXMLImport& rImport,
switch (nToken)
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1202,7 +1198,7 @@ ScXMLDeletionContext::ScXMLDeletionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_TYPE ):
if (IsXMLToken( aIter, XML_ROW ))
@@ -1279,7 +1275,7 @@ ScXMLMovementContext::ScXMLMovementContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1288,7 +1284,7 @@ ScXMLMovementContext::ScXMLMovementContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
}
}
@@ -1352,7 +1348,7 @@ ScXMLRejectionContext::ScXMLRejectionContext( ScXMLImport& rImport,
switch (aIter.getToken())
{
case XML_ELEMENT( TABLE, XML_ID ):
- nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nActionNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
case XML_ELEMENT( TABLE, XML_ACCEPTANCE_STATE ):
if (IsXMLToken( aIter, XML_ACCEPTED ))
@@ -1361,7 +1357,7 @@ ScXMLRejectionContext::ScXMLRejectionContext( ScXMLImport& rImport,
nActionState = SC_CAS_REJECTED;
break;
case XML_ELEMENT( TABLE, XML_REJECTING_CHANGE_ID ):
- nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toString() );
+ nRejectingNumber = ScXMLChangeTrackingImportHelper::GetIDFromString( aIter.toView() );
break;
}
}
diff --git a/sc/source/filter/xml/xmlannoi.cxx b/sc/source/filter/xml/xmlannoi.cxx
index 143d60a414c1..5ce2980fbeaf 100644
--- a/sc/source/filter/xml/xmlannoi.cxx
+++ b/sc/source/filter/xml/xmlannoi.cxx
@@ -58,28 +58,26 @@ ScXMLAnnotationContext::ScXMLAnnotationContext( ScXMLImport& rImport,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(OFFICE, XML_AUTHOR):
{
- maAuthorBuffer = sValue;
+ maAuthorBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_CREATE_DATE):
{
- maCreateDateBuffer = sValue;
+ maCreateDateBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_CREATE_DATE_STRING):
{
- maCreateDateStringBuffer = sValue;
+ maCreateDateStringBuffer = aIter.toString();
}
break;
case XML_ELEMENT(OFFICE, XML_DISPLAY):
{
- mrAnnotationData.mbShown = IsXMLToken(sValue, XML_TRUE);
+ mrAnnotationData.mbShown = IsXMLToken(aIter, XML_TRUE);
}
break;
case XML_ELEMENT(SVG, XML_X):
@@ -95,7 +93,7 @@ ScXMLAnnotationContext::ScXMLAnnotationContext( ScXMLImport& rImport,
}
break;
default:
- SAL_WARN("xmloff", "unknown attribute " << SvXMLImport::getPrefixAndNameFromToken(aIter.getToken()) << "=" << aIter.toString());
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
}
diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx
index e68184660850..04c4bc6b8837 100644
--- a/starmath/source/mathmlimport.cxx
+++ b/starmath/source/mathmlimport.cxx
@@ -565,18 +565,19 @@ void SmXMLContext_Helper::RetrieveAttrs(
bool bMvFound = false;
for (auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
// sometimes they have namespace, sometimes not?
switch (aIter.getToken() & TOKEN_MASK)
{
case XML_FONTWEIGHT:
- nIsBold = sal_Int8(sValue == GetXMLToken(XML_BOLD));
+ nIsBold = sal_Int8(IsXMLToken(aIter, XML_BOLD));
break;
case XML_FONTSTYLE:
- nIsItalic = sal_Int8(sValue == GetXMLToken(XML_ITALIC));
+ nIsItalic = sal_Int8(IsXMLToken(aIter, XML_ITALIC));
break;
case XML_FONTSIZE:
case XML_MATHSIZE:
+ {
+ OUString sValue = aIter.toString();
::sax::Converter::convertDouble(nFontSize, sValue);
rContext.GetSmImport().GetMM100UnitConverter().SetXMLMeasureUnit(
util::MeasureUnit::POINT);
@@ -591,14 +592,15 @@ void SmXMLContext_Helper::RetrieveAttrs(
}
}
break;
+ }
case XML_FONTFAMILY:
- sFontFamily = sValue;
+ sFontFamily = aIter.toString();
break;
case XML_COLOR:
- sColor = sValue;
+ sColor = aIter.toString();
break;
case XML_MATHCOLOR:
- sColor = sValue;
+ sColor = aIter.toString();
break;
case XML_MATHVARIANT:
bMvFound = true;
@@ -1053,18 +1055,17 @@ void SmXMLFencedContext_Impl::startFastElement(
{
for (auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
//temp, starmath cannot handle multichar brackets (I think)
case XML_OPEN:
- cBegin = sValue[0];
+ cBegin = aIter.toString()[0];
break;
case XML_CLOSE:
- cEnd = sValue[0];
+ cEnd = aIter.toString()[0];
break;
case XML_STRETCHY:
- bIsStretchy = sValue == GetXMLToken(XML_TRUE);
+ bIsStretchy = IsXMLToken(aIter, XML_TRUE);
break;
default:
XMLOFF_WARN_UNKNOWN("starmath", aIter);
@@ -1210,12 +1211,11 @@ void SmXMLAnnotationContext_Impl::startFastElement(
{
for (auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
// sometimes they have namespace, sometimes not?
switch (aIter.getToken() & TOKEN_MASK)
{
case XML_ENCODING:
- bIsStarMath = sValue == "StarMath 5.0";
+ bIsStarMath = aIter.toView() == "StarMath 5.0";
break;
default:
XMLOFF_WARN_UNKNOWN("starmath", aIter);
@@ -1441,19 +1441,18 @@ void SmXMLOperatorContext_Impl::startFastElement(
for (auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
case XML_STRETCHY:
- bIsStretchy = sValue == GetXMLToken(XML_TRUE);
+ bIsStretchy = IsXMLToken(aIter, XML_TRUE);
break;
case XML_FENCE:
- bIsFenced = sValue == GetXMLToken(XML_TRUE);
+ bIsFenced = IsXMLToken(aIter, XML_TRUE);
break;
case XML_FORM:
- isPrefix = sValue == GetXMLToken(XML_PREFIX); // <
- isInfix = sValue == GetXMLToken(XML_INFIX); // |
- isPostfix = sValue == GetXMLToken(XML_POSTFIX); // >
+ isPrefix = IsXMLToken(aIter, XML_PREFIX); // <
+ isInfix = IsXMLToken(aIter, XML_INFIX); // |
+ isPostfix = IsXMLToken(aIter, XML_POSTFIX); // >
break;
default:
XMLOFF_WARN_UNKNOWN("starmath", aIter);
@@ -2494,12 +2493,11 @@ void SmXMLActionContext_Impl::startFastElement(
{
for (auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
case XML_SELECTION:
{
- sal_uInt32 n = sValue.toUInt32();
+ sal_Int32 n = aIter.toInt32();
if (n > 0)
mnSelection = static_cast<size_t>(n);
}
diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx
index be694b483d00..263fe55c188c 100644
--- a/sw/source/filter/xml/xmltbli.cxx
+++ b/sw/source/filter/xml/xmltbli.cxx
@@ -397,7 +397,7 @@ SwXMLTableCellContext_Impl::SwXMLTableCellContext_Impl(
case XML_ELEMENT(OFFICE, XML_VALUE):
{
double fTmp;
- if (::sax::Converter::convertDouble(fTmp, aIter.toString()))
+ if (::sax::Converter::convertDouble(fTmp, aIter.toView()))
{
m_fValue = fTmp;
m_bHasValue = true;
@@ -506,7 +506,7 @@ css::uno::Reference<css::xml::sax::XFastContextHandler> SwXMLTableCellContext_Im
{
if( aIter.getToken() == XML_ELEMENT(TABLE, XML_IS_SUB_TABLE) )
{
- if ( IsXMLToken( aIter.toString(), XML_TRUE ) )
+ if ( IsXMLToken( aIter, XML_TRUE ) )
bSubTable = true;
}
else
@@ -925,25 +925,24 @@ void SwXMLDDETableContext_Impl::startFastElement(
{
for( auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ) )
{
- OUString aValue = aIter.toString();
switch (aIter.getToken())
{
case XML_ELEMENT(OFFICE, XML_DDE_APPLICATION):
- sDDEApplication = aValue;
+ sDDEApplication = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_DDE_TOPIC):
- sDDETopic = aValue;
+ sDDETopic = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_DDE_ITEM):
- sDDEItem = aValue;
+ sDDEItem = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_NAME):
- sConnectionName = aValue;
+ sConnectionName = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_AUTOMATIC_UPDATE):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aValue))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bIsAutomaticUpdate = bTmp;
}
diff --git a/xmloff/source/chart/SchXMLAxisContext.cxx b/xmloff/source/chart/SchXMLAxisContext.cxx
index 17ba48af5c9e..dd6c1fd62596 100644
--- a/xmloff/source/chart/SchXMLAxisContext.cxx
+++ b/xmloff/source/chart/SchXMLAxisContext.cxx
@@ -235,30 +235,29 @@ void SchXMLAxisContext::startFastElement( sal_Int32 /*nElement*/,
// parse attributes
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(CHART, XML_DIMENSION):
{
SchXMLAxisDimension nEnumVal;
- if( SvXMLUnitConverter::convertEnum( nEnumVal, aValue, aXMLAxisDimensionMap ))
+ if( SvXMLUnitConverter::convertEnum( nEnumVal, aIter.toString(), aXMLAxisDimensionMap ))
m_aCurrentAxis.eDimension = nEnumVal;
}
break;
case XML_ELEMENT(CHART, XML_NAME):
- m_aCurrentAxis.aName = aValue;
+ m_aCurrentAxis.aName = aIter.toString();
break;
case XML_ELEMENT(CHART, XML_AXIS_TYPE):
case XML_ELEMENT(CHART_EXT, XML_AXIS_TYPE):
sal_uInt16 nEnumVal;
- if( SvXMLUnitConverter::convertEnum( nEnumVal, aValue, aXMLAxisTypeMap ))
+ if( SvXMLUnitConverter::convertEnum( nEnumVal, aIter.toString(), aXMLAxisTypeMap ))
{
m_nAxisType = nEnumVal;
m_bAxisTypeImported = true;
}
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- m_aAutoStyleName = aValue;
+ m_aAutoStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -611,7 +610,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > SchXMLAxisContext::cre
switch (aIter.getToken())
{
case XML_ELEMENT(CHART, XML_CLASS):
- if( IsXMLToken( aIter.toString(), XML_MINOR ) )
+ if( IsXMLToken( aIter, XML_MINOR ) )
bIsMajor = false;
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
@@ -819,7 +818,7 @@ DateScaleContext::DateScaleContext(
namespace
{
-sal_Int32 lcl_getTimeUnit( const OUString& rValue )
+sal_Int32 lcl_getTimeUnit( const sax_fastparser::FastAttributeList::FastAttributeIter& rValue )
{
sal_Int32 nTimeUnit = css::chart::TimeUnit::DAY;
if( IsXMLToken( rValue, XML_DAYS ) )
@@ -846,12 +845,11 @@ void DateScaleContext::startFastElement( sal_Int32 /*nElement*/,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(CHART, XML_BASE_TIME_UNIT):
{
- aIncrement.TimeResolution <<= lcl_getTimeUnit(aValue);
+ aIncrement.TimeResolution <<= lcl_getTimeUnit(aIter);
bSetNewIncrement = true;
}
break;
@@ -859,7 +857,7 @@ void DateScaleContext::startFastElement( sal_Int32 /*nElement*/,
{
chart::TimeInterval aInterval(1,0);
aIncrement.MajorTimeInterval >>= aInterval;
- ::sax::Converter::convertNumber( aInterval.Number, aValue );
+ ::sax::Converter::convertNumber( aInterval.Number, aIter.toView() );
aIncrement.MajorTimeInterval <<= aInterval;
bSetNewIncrement = true;
}
@@ -868,7 +866,7 @@ void DateScaleContext::startFastElement( sal_Int32 /*nElement*/,
{
chart::TimeInterval aInterval(1,0);
aIncrement.MajorTimeInterval >>= aInterval;
- aInterval.TimeUnit = lcl_getTimeUnit(aValue);
+ aInterval.TimeUnit = lcl_getTimeUnit(aIter);
aIncrement.MajorTimeInterval <<= aInterval;
bSetNewIncrement = true;
}
@@ -877,7 +875,7 @@ void DateScaleContext::startFastElement( sal_Int32 /*nElement*/,
{
chart::TimeInterval aInterval(1,0);
aIncrement.MinorTimeInterval >>= aInterval;
- ::sax::Converter::convertNumber( aInterval.Number, aValue );
+ ::sax::Converter::convertNumber( aInterval.Number, aIter.toView() );
aIncrement.MinorTimeInterval <<= aInterval;
bSetNewIncrement = true;
}
@@ -886,7 +884,7 @@ void DateScaleContext::startFastElement( sal_Int32 /*nElement*/,
{
chart::TimeInterval aInterval(1,0);
aIncrement.MinorTimeInterval >>= aInterval;
- aInterval.TimeUnit = lcl_getTimeUnit(aValue);
+ aInterval.TimeUnit = lcl_getTimeUnit(aIter);
aIncrement.MinorTimeInterval <<= aInterval;
bSetNewIncrement = true;
}
diff --git a/xmloff/source/chart/SchXMLChartContext.cxx b/xmloff/source/chart/SchXMLChartContext.cxx
index 8b4f79582138..9c97c64a5a29 100644
--- a/xmloff/source/chart/SchXMLChartContext.cxx
+++ b/xmloff/source/chart/SchXMLChartContext.cxx
@@ -319,17 +319,17 @@ void SchXMLChartContext::startFastElement( sal_Int32 /*nElement*/,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(LO_EXT, XML_DATA_PILOT_SOURCE):
- msDataPilotSource = aValue;
+ msDataPilotSource = aIter.toString();
break;
case XML_ELEMENT(XLINK, XML_HREF):
- m_aXLinkHRefAttributeToIndicateDataProvider = aValue;
+ m_aXLinkHRefAttributeToIndicateDataProvider = aIter.toString();
break;
case XML_ELEMENT(CHART, XML_CLASS):
{
+ OUString aValue = aIter.toString();
OUString sClassName;
sal_uInt16 nClassPrefix =
GetImport().GetNamespaceMap().GetKeyByAttrValueQName(
@@ -365,24 +365,24 @@ void SchXMLChartContext::startFastElement( sal_Int32 /*nElement*/,
case XML_ELEMENT(SVG, XML_WIDTH):
case XML_ELEMENT(SVG_COMPAT, XML_WIDTH):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- maChartSize.Width, aValue );
+ maChartSize.Width, aIter.toView() );
break;
case XML_ELEMENT(SVG, XML_HEIGHT):
case XML_ELEMENT(SVG_COMPAT, XML_HEIGHT):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- maChartSize.Height, aValue );
+ maChartSize.Height, aIter.toView() );
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- sAutoStyleName = aValue;
+ sAutoStyleName = aIter.toString();
break;
case XML_ELEMENT(CHART, XML_COLUMN_MAPPING):
- msColTrans = aValue;
+ msColTrans = aIter.toString();
break;
case XML_ELEMENT(CHART, XML_ROW_MAPPING):
- msRowTrans = aValue;
+ msRowTrans = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -1176,14 +1176,13 @@ void SchXMLTitleContext::startFastElement( sal_Int32 /*nElement*/,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch (aIter.getToken())
{
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aPosition.X, aValue );
+ aPosition.X, aIter.toView() );
bHasXPosition = true;
break;
}
@@ -1191,12 +1190,12 @@ void SchXMLTitleContext::startFastElement( sal_Int32 /*nElement*/,
case XML_ELEMENT(SVG_COMPAT, XML_Y):
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aPosition.Y, aValue );
+ aPosition.Y, aIter.toView() );
bHasYPosition = true;
break;
}
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- msAutoStyleName = aValue;
+ msAutoStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
diff --git a/xmloff/source/chart/SchXMLLegendContext.cxx b/xmloff/source/chart/SchXMLLegendContext.cxx
index 758863a688c6..4cc10dfe7a9e 100644
--- a/xmloff/source/chart/SchXMLLegendContext.cxx
+++ b/xmloff/source/chart/SchXMLLegendContext.cxx
@@ -85,13 +85,12 @@ void SchXMLLegendContext::startFastElement( sal_Int32 /*nElement*/,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(CHART, XML_LEGEND_POSITION):
try
{
- if( SchXMLEnumConverter::getLegendPositionConverter().importXML( aValue, aAny, GetImport().GetMM100UnitConverter() ) )
+ if( SchXMLEnumConverter::getLegendPositionConverter().importXML( aIter.toString(), aAny, GetImport().GetMM100UnitConverter() ) )
xLegendProps->setPropertyValue("Alignment", aAny );
}
catch(const beans::UnknownPropertyException&)
@@ -102,7 +101,7 @@ void SchXMLLegendContext::startFastElement( sal_Int32 /*nElement*/,
case XML_ELEMENT(LO_EXT, XML_OVERLAY):
try
{
- bOverlay = aValue.toBoolean();
+ bOverlay = aIter.toBoolean();
xLegendProps->setPropertyValue("Overlay", uno::makeAny(bOverlay));
}
catch(const beans::UnknownPropertyException&)
@@ -113,20 +112,20 @@ void SchXMLLegendContext::startFastElement( sal_Int32 /*nElement*/,
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aLegendPos.X, aValue );
+ aLegendPos.X, aIter.toView() );
bHasXPosition = true;
break;
case XML_ELEMENT(SVG, XML_Y):
case XML_ELEMENT(SVG_COMPAT, XML_Y):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aLegendPos.Y, aValue );
+ aLegendPos.Y, aIter.toView() );
bHasYPosition = true;
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- sAutoStyleName = aValue;
+ sAutoStyleName = aIter.toString();
break;
case XML_ELEMENT(STYLE, XML_LEGEND_EXPANSION):
- SchXMLEnumConverter::getLegendPositionConverter().importXML( aValue, aAny, GetImport().GetMM100UnitConverter() );
+ SchXMLEnumConverter::getLegendPositionConverter().importXML( aIter.toString(), aAny, GetImport().GetMM100UnitConverter() );
bHasExpansion = (aAny>>=nLegendExpansion);
break;
case XML_ELEMENT(STYLE, XML_LEGEND_EXPANSION_ASPECT_RATIO):
@@ -135,14 +134,14 @@ void SchXMLLegendContext::startFastElement( sal_Int32 /*nElement*/,
case XML_ELEMENT(SVG_COMPAT, XML_WIDTH):
case XML_ELEMENT(CHART_EXT, XML_WIDTH):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aLegendSize.Width, aValue );
+ aLegendSize.Width, aIter.toView() );
bHasWidth = true;
break;
case XML_ELEMENT(SVG, XML_HEIGHT):
case XML_ELEMENT(SVG_COMPAT, XML_HEIGHT):
case XML_ELEMENT(CHART_EXT, XML_HEIGHT):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- aLegendSize.Height, aValue );
+ aLegendSize.Height, aIter.toView() );
bHasHeight = true;
break;
default:
diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.cxx b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
index 985a4a633212..2d870e9b2f8e 100644
--- a/xmloff/source/chart/SchXMLPlotAreaContext.cxx
+++ b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
@@ -225,23 +225,23 @@ void SchXMLPlotAreaContext::startFastElement (sal_Int32 /*nElement*/,
case XML_ELEMENT(SVG_COMPAT, XML_WIDTH):
case XML_ELEMENT(SVG, XML_HEIGHT):
case XML_ELEMENT(SVG_COMPAT, XML_HEIGHT):
- m_aOuterPositioning.readPositioningAttribute( aIter.getToken(), aValue );
+ m_aOuterPositioning.readPositioningAttribute( aIter.getToken(), aIter.toView() );
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- msAutoStyleName = aValue;
+ msAutoStyleName = aIter.toString();
break;
case XML_ELEMENT(TABLE, XML_CELL_RANGE_ADDRESS):
- mrChartAddress = lcl_ConvertRange( aValue, xNewDoc );
+ mrChartAddress = lcl_ConvertRange( aIter.toString(), xNewDoc );
// indicator for getting data from the outside
m_rbHasRangeAtPlotArea = true;
break;
case XML_ELEMENT(CHART, XML_DATA_SOURCE_HAS_LABELS):
{
- if( aValue == ::xmloff::token::GetXMLToken( ::xmloff::token::XML_BOTH ))
+ if( IsXMLToken(aIter, XML_BOTH) )
mrColHasLabels = mrRowHasLabels = true;
- else if( aValue == ::xmloff::token::GetXMLToken( ::xmloff::token::XML_ROW ))
+ else if( IsXMLToken(aIter, XML_ROW) )
mrRowHasLabels = true;
- else if( aValue == ::xmloff::token::GetXMLToken( ::xmloff::token::XML_COLUMN ))
+ else if( IsXMLToken(aIter, XML_COLUMN) )
mrColHasLabels = true;
}
break;
@@ -643,14 +643,13 @@ void SchXMLDataLabelContext::startFastElement(
{
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
{
sal_Int32 nResultValue;
- GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, sValue);
+ GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, aIter.toView());
mrDataLabelStyle.mo_nLabelAbsolutePosX = nResultValue;
break;
}
@@ -658,12 +657,12 @@ void SchXMLDataLabelContext::startFastElement(
case XML_ELEMENT(SVG_COMPAT, XML_Y):
{
sal_Int32 nResultValue;
- GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, sValue);
+ GetImport().GetMM100UnitConverter().convertMeasureToCore(nResultValue, aIter.toView());
mrDataLabelStyle.mo_nLabelAbsolutePosY = nResultValue;
break;
}
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- mrDataLabelStyle.msStyleName = sValue;
+ mrDataLabelStyle.msStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -744,7 +743,7 @@ void SchXMLDataPointContext::startFastElement (sal_Int32 /*Element*/,
break;
case XML_ELEMENT(LO_EXT, XML_HIDE_LEGEND):
{
- bool bHideLegend = aIter.toString().toBoolean();
+ bool bHideLegend = aIter.toBoolean();
if (bHideLegend)
{
uno::Sequence<sal_Int32> deletedLegendEntriesSeq;
@@ -818,7 +817,7 @@ bool SchXMLPositionAttributesHelper::isAutomatic() const
return m_bAutoSize || m_bAutoPosition;
}
-void SchXMLPositionAttributesHelper::readPositioningAttribute( sal_Int32 nAttributeToken, std::u16string_view rValue )
+void SchXMLPositionAttributesHelper::readPositioningAttribute( sal_Int32 nAttributeToken, std::string_view rValue )
{
if( !IsTokenInNamespace(nAttributeToken, XML_NAMESPACE_SVG) && !IsTokenInNamespace(nAttributeToken, XML_NAMESPACE_SVG_COMPAT) )
return;
@@ -854,7 +853,7 @@ void SchXMLPositionAttributesHelper::readPositioningAttribute( sal_Int32 nAttrib
break;
}
default:
- XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, OUString(rValue));
+ XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, OUString::fromUtf8(rValue));
}
}
@@ -887,7 +886,7 @@ void SchXMLCoordinateRegionContext::startFastElement (sal_Int32 /*Element*/,
{
// parse attributes
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
- m_rPositioning.readPositioningAttribute( aIter.getToken(), aIter.toString() );
+ m_rPositioning.readPositioningAttribute( aIter.getToken(), aIter.toView() );
}
SchXMLWallFloorContext::SchXMLWallFloorContext(
diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.hxx b/xmloff/source/chart/SchXMLPlotAreaContext.hxx
index aeda126bd33d..137bbb45d6e8 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_Int32 nAttributeToken, std::u16string_view rValue );
+ void readPositioningAttribute( sal_Int32 nAttributeToken, std::string_view rValue );
void readAutomaticPositioningProperties( XMLPropStyleContext const * pPropStyleContext, const SvXMLStylesContext* pStylesCtxt );
bool hasPosSize() const;
diff --git a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
index fcb95607b6aa..aac03261fb29 100644
--- a/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
+++ b/xmloff/source/chart/SchXMLRegressionCurveObjectContext.cxx
@@ -117,29 +117,28 @@ void SchXMLEquationContext::startFastElement (sal_Int32 /*nElement*/,
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString aValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
rImport.GetMM100UnitConverter().convertMeasureToCore(
- aPosition.X, aValue );
+ aPosition.X, aIter.toView() );
bHasXPos = true;
break;
case XML_ELEMENT(SVG, XML_Y):
case XML_ELEMENT(SVG_COMPAT, XML_Y):
rImport.GetMM100UnitConverter().convertMeasureToCore(
- aPosition.Y, aValue );
+ aPosition.Y, aIter.toView() );
bHasYPos = true;
break;
case XML_ELEMENT(CHART, XML_DISPLAY_EQUATION):
- (void)::sax::Converter::convertBool(bShowEquation, aValue);
+ (void)::sax::Converter::convertBool(bShowEquation, aIter.toView());
break;
case XML_ELEMENT(CHART, XML_DISPLAY_R_SQUARE):
- (void)::sax::Converter::convertBool(bShowRSquare, aValue);
+ (void)::sax::Converter::convertBool(bShowRSquare, aIter.toView());
break;
case XML_ELEMENT(CHART, XML_STYLE_NAME):
- sAutoStyleName = aValue;
+ sAutoStyleName = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
index 8b128461bf35..ac5bcdbc2515 100644
--- a/xmloff/source/chart/SchXMLTableContext.cxx
+++ b/xmloff/source/chart/SchXMLTableContext.cxx
@@ -261,7 +261,7 @@ void SchXMLTableContext::startFastElement (sal_Int32 /*nElement*/,
mrTable.aTableNameOfFile = aIter.toString();
break;
case XML_ELEMENT(TABLE, XML_PROTECTED):
- if ( IsXMLToken( aIter.toString(), XML_TRUE ) )
+ if ( IsXMLToken( aIter, XML_TRUE ) )
{
mrTable.bProtected = true;
}
@@ -574,7 +574,6 @@ SchXMLTableCellContext::~SchXMLTableCellContext()
void SchXMLTableCellContext::startFastElement (sal_Int32 /*nElement*/,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList)
{
- OUString aValue;
OUString aCellContent;
SchXMLCellType eValueType = SCH_CELL_TYPE_UNKNOWN;
@@ -583,10 +582,9 @@ void SchXMLTableCellContext::startFastElement (sal_Int32 /*nElement*/,
switch(aIter.getToken())
{
case XML_ELEMENT(OFFICE, XML_VALUE_TYPE):
- aValue = aIter.toString();
- if( IsXMLToken( aValue, XML_FLOAT ) )
+ if( IsXMLToken( aIter, XML_FLOAT ) )
eValueType = SCH_CELL_TYPE_FLOAT;
- else if( IsXMLToken( aValue, XML_STRING ) )
+ else if( IsXMLToken( aIter, XML_STRING ) )
eValueType = SCH_CELL_TYPE_STRING;
break;
diff --git a/xmloff/source/core/xmluconv.cxx b/xmloff/source/core/xmluconv.cxx
index 98aa54df7b51..6b5a6b65634e 100644
--- a/xmloff/source/core/xmluconv.cxx
+++ b/xmloff/source/core/xmluconv.cxx
@@ -177,6 +177,16 @@ bool SvXMLUnitConverter::convertMeasureToCore( sal_Int32& nValue,
nMin, nMax );
}
+/** convert string to measure using optional min and max values*/
+bool SvXMLUnitConverter::convertMeasureToCore( sal_Int32& nValue,
+ std::string_view rString,
+ sal_Int32 nMin, sal_Int32 nMax ) const
+{
+ return ::sax::Converter::convertMeasure( nValue, rString,
+ m_pImpl->m_eCoreMeasureUnit,
+ nMin, nMax );
+}
+
/** convert measure to string */
void SvXMLUnitConverter::convertMeasureToXML( OUStringBuffer& rString,
sal_Int32 nMeasure ) const
@@ -501,8 +511,40 @@ static bool lcl_getPositions(const OUString& _sValue,OUString& _rContentX,OUStri
_rContentZ = _sValue.copy(nPos, nFound - nPos);
return true;
+}
+
+static bool lcl_getPositions(std::string_view _sValue,OUString& _rContentX,OUString& _rContentY,OUString& _rContentZ)
+{
+ if(_sValue.empty() || _sValue[0] != '(')
+ return false;
+
+ size_t nPos(1);
+ size_t nFound = _sValue.find(' ', nPos);
+
+ if(nFound == std::string_view::npos || nFound <= nPos)
+ return false;
+
+ _rContentX = OUString::fromUtf8(_sValue.substr(nPos, nFound - nPos));
+
+ nPos = nFound + 1;
+ nFound = _sValue.find(' ', nPos);
+
+ if(nFound == std::string_view::npos || nFound <= nPos)
+ return false;
+
+ _rContentY = OUString::fromUtf8(_sValue.substr(nPos, nFound - nPos));
+
+ nPos = nFound + 1;
+ nFound = _sValue.find(')', nPos);
+
+ if(nFound == std::string_view::npos || nFound <= nPos)
+ return false;
+
+ _rContentZ = OUString::fromUtf8(_sValue.substr(nPos, nFound - nPos));
+ return true;
}
+
/** convert string to ::basegfx::B3DVector */
bool SvXMLUnitConverter::convertB3DVector( ::basegfx::B3DVector& rVector, const OUString& rValue )
{
@@ -531,6 +573,34 @@ bool SvXMLUnitConverter::convertB3DVector( ::basegfx::B3DVector& rVector, const
return ( eStatus == rtl_math_ConversionStatus_Ok );
}
+/** convert string to ::basegfx::B3DVector */
+bool SvXMLUnitConverter::convertB3DVector( ::basegfx::B3DVector& rVector, std::string_view rValue )
+{
+ OUString aContentX,aContentY,aContentZ;
+ if ( !lcl_getPositions(rValue,aContentX,aContentY,aContentZ) )
+ return false;
+
+ rtl_math_ConversionStatus eStatus;
+
+ rVector.setX(::rtl::math::stringToDouble(aContentX, '.',
+ ',', &eStatus));
+
+ if( eStatus != rtl_math_ConversionStatus_Ok )
+ return false;
+
+ rVector.setY(::rtl::math::stringToDouble(aContentY, '.',
+ ',', &eStatus));
+
+ if( eStatus != rtl_math_ConversionStatus_Ok )
+ return false;
+
+ rVector.setZ(::rtl::math::stringToDouble(aContentZ, '.',
+ ',', &eStatus));
+
+
+ return ( eStatus == rtl_math_ConversionStatus_Ok );
+}
+
/** convert ::basegfx::B3DVector to string */
void SvXMLUnitConverter::convertB3DVector( OUStringBuffer &rBuffer, const ::basegfx::B3DVector& rVector )
{
@@ -545,7 +615,7 @@ void SvXMLUnitConverter::convertB3DVector( OUStringBuffer &rBuffer, const ::base
/** convert string to Position3D */
bool SvXMLUnitConverter::convertPosition3D( drawing::Position3D& rPosition,
- const OUString& rValue )
+ std::string_view rValue )
{
OUString aContentX,aContentY,aContentZ;
if ( !lcl_getPositions(rValue,aContentX,aContentY,aContentZ) )
diff --git a/xmloff/source/draw/QRCodeContext.cxx b/xmloff/source/draw/QRCodeContext.cxx
index 978737b34131..f217fcf17ffa 100644
--- a/xmloff/source/draw/QRCodeContext.cxx
+++ b/xmloff/source/draw/QRCodeContext.cxx
@@ -65,7 +65,7 @@ QRCodeContext::QRCodeContext(SvXMLImport& rImport, sal_Int32 /*nElement*/,
case XML_ELEMENT(LO_EXT, XML_QRCODE_BORDER):
{
sal_Int32 nAttrVal;
- if (sax::Converter::convertNumber(nAttrVal, aIter.toString(), 0))
+ if (sax::Converter::convertNumber(nAttrVal, aIter.toView(), 0))
aQRCode.Border = nAttrVal;
break;
}
diff --git a/xmloff/source/draw/XMLNumberStyles.cxx b/xmloff/source/draw/XMLNumberStyles.cxx
index db2f93e8b607..3d4407d8a5df 100644
--- a/xmloff/source/draw/XMLNumberStyles.cxx
+++ b/xmloff/source/draw/XMLNumberStyles.cxx
@@ -531,18 +531,16 @@ SdXMLNumberFormatMemberImportContext::SdXMLNumberFormatMemberImportContext(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(NUMBER, XML_DECIMAL_PLACES):
- mbDecimal02 = IsXMLToken( sValue, XML_2 );
+ mbDecimal02 = IsXMLToken( aIter, XML_2 );
break;
case XML_ELEMENT(NUMBER, XML_STYLE):
- mbLong = IsXMLToken( sValue, XML_LONG );
+ mbLong = IsXMLToken( aIter, XML_LONG );
break;
case XML_ELEMENT(NUMBER, XML_TEXTUAL):
- mbTextual = IsXMLToken( sValue, XML_TRUE );
+ mbTextual = IsXMLToken( aIter, XML_TRUE );
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -591,9 +589,8 @@ SdXMLNumberFormatImportContext::SdXMLNumberFormatImportContext( SdXMLImport& rIm
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
if( aIter.getToken() == XML_ELEMENT(NUMBER, XML_AUTOMATIC_ORDER) )
- mbAutomatic = IsXMLToken( sValue, XML_TRUE );
+ mbAutomatic = IsXMLToken( aIter, XML_TRUE );
else
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
diff --git a/xmloff/source/draw/animationimport.cxx b/xmloff/source/draw/animationimport.cxx
index 6c8672fa38b4..2813160d7691 100644
--- a/xmloff/source/draw/animationimport.cxx
+++ b/xmloff/source/draw/animationimport.cxx
@@ -122,10 +122,10 @@ AnimationsImportHelperImpl::AnimationsImportHelperImpl( SvXMLImport& rImport )
{
}
-static bool isDouble( const OUString& rValue )
+static bool isDouble( std::string_view rValue )
{
- sal_Int32 nLength = rValue.getLength();
- const sal_Unicode * pStr = rValue.getStr();
+ sal_Int32 nLength = rValue.size();
+ const char * pStr = rValue.data();
while( nLength )
{
if( (*pStr >= '0' && *pStr <= '9') || *pStr == '-' || *pStr == '.' || *pStr == '+' || *pStr == 'e' || *pStr == 'E' )
@@ -557,7 +557,6 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
sal_Int16 nEnum;
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString rValue = aIter.toString();
auto nToken = aIter.getToken();
switch( nToken )
{
@@ -565,28 +564,28 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_BEGIN):
case XML_ELEMENT(SMIL_SO52, XML_BEGIN):
{
- mxNode->setBegin( mpHelper->convertTiming( rValue ) );
+ mxNode->setBegin( mpHelper->convertTiming( aIter.toString() ) );
}
break;
case XML_ELEMENT(SMIL, XML_DUR):
case XML_ELEMENT(SMIL_COMPAT, XML_DUR):
case XML_ELEMENT(SMIL_SO52, XML_DUR):
{
- mxNode->setDuration( mpHelper->convertTiming( rValue ) );
+ mxNode->setDuration( mpHelper->convertTiming( aIter.toString() ) );
}
break;
case XML_ELEMENT(SMIL, XML_END):
case XML_ELEMENT(SMIL_COMPAT, XML_END):
case XML_ELEMENT(SMIL_SO52, XML_END):
{
- mxNode->setEnd( mpHelper->convertTiming( rValue ) );
+ mxNode->setEnd( mpHelper->convertTiming( aIter.toString() ) );
}
break;
case XML_ELEMENT(SMIL, XML_FILL):
case XML_ELEMENT(SMIL_COMPAT, XML_FILL):
case XML_ELEMENT(SMIL_SO52, XML_FILL):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Fill ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_Fill ) )
mxNode->setFill( nEnum );
}
break;
@@ -594,7 +593,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_FILLDEFAULT):
case XML_ELEMENT(SMIL_SO52, XML_FILLDEFAULT):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_FillDefault ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_FillDefault ) )
mxNode->setFillDefault( nEnum );
}
break;
@@ -602,7 +601,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_RESTART):
case XML_ELEMENT(SMIL_SO52, XML_RESTART):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Restart ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_Restart ) )
mxNode->setRestart( nEnum );
}
break;
@@ -610,7 +609,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_RESTARTDEFAULT):
case XML_ELEMENT(SMIL_SO52, XML_RESTARTDEFAULT):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_RestartDefault ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_RestartDefault ) )
mxNode->setRestartDefault( nEnum );
}
break;
@@ -618,16 +617,16 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_ACCELERATE):
case XML_ELEMENT(SMIL_SO52, XML_ACCELERATE):
{
- if( isDouble( rValue ) )
- mxNode->setAcceleration( rValue.toDouble() );
+ if( isDouble( aIter.toView() ) )
+ mxNode->setAcceleration( aIter.toDouble() );
}
break;
case XML_ELEMENT(SMIL, XML_DECELERATE):
case XML_ELEMENT(SMIL_COMPAT, XML_DECELERATE):
case XML_ELEMENT(SMIL_SO52, XML_DECELERATE):
{
- if( isDouble( rValue ) )
- mxNode->setDecelerate( rValue.toDouble() );
+ if( isDouble( aIter.toView() ) )
+ mxNode->setDecelerate( aIter.toDouble() );
}
break;
case XML_ELEMENT(SMIL, XML_AUTOREVERSE):
@@ -635,7 +634,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_AUTOREVERSE):
{
bool bTemp;
- if (::sax::Converter::convertBool( bTemp, rValue ))
+ if (::sax::Converter::convertBool( bTemp, aIter.toView() ))
mxNode->setAutoReverse( bTemp );
}
break;
@@ -643,21 +642,21 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_REPEATCOUNT):
case XML_ELEMENT(SMIL_SO52, XML_REPEATCOUNT):
{
- mxNode->setRepeatCount( mpHelper->convertTiming( rValue ) );
+ mxNode->setRepeatCount( mpHelper->convertTiming( aIter.toString() ) );
}
break;
case XML_ELEMENT(SMIL, XML_REPEATDUR):
case XML_ELEMENT(SMIL_COMPAT, XML_REPEATDUR):
case XML_ELEMENT(SMIL_SO52, XML_REPEATDUR):
{
- mxNode->setRepeatDuration( mpHelper->convertTiming( rValue ) );
+ mxNode->setRepeatDuration( mpHelper->convertTiming( aIter.toString() ) );
}
break;
case XML_ELEMENT(SMIL, XML_ENDSYNC):
case XML_ELEMENT(SMIL_COMPAT, XML_ENDSYNC):
case XML_ELEMENT(SMIL_SO52, XML_ENDSYNC):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Endsync ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_Endsync ) )
mxNode->setEndSync( makeAny( nEnum ) );
}
break;
@@ -666,7 +665,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_OOO, XML_NODE_TYPE):
case XML_ELEMENT(PRESENTATION_OASIS, XML_NODE_TYPE):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_EffectNodeType ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_EffectNodeType ) )
aUserData.emplace_back( GetXMLToken( XML_NODE_TYPE ), makeAny( nEnum ) );
}
break;
@@ -675,7 +674,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_OOO, XML_PRESET_ID):
case XML_ELEMENT(PRESENTATION_OASIS, XML_PRESET_ID):
{
- aUserData.emplace_back( GetXMLToken( XML_PRESET_ID ), makeAny( rValue ) );
+ aUserData.emplace_back( GetXMLToken( XML_PRESET_ID ), makeAny( aIter.toString() ) );
}
break;
case XML_ELEMENT(PRESENTATION, XML_PRESET_SUB_TYPE):
@@ -683,7 +682,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_OOO, XML_PRESET_SUB_TYPE):
case XML_ELEMENT(PRESENTATION_OASIS, XML_PRESET_SUB_TYPE):
{
- aUserData.emplace_back( GetXMLToken( XML_PRESET_SUB_TYPE ), makeAny( rValue ) );
+ aUserData.emplace_back( GetXMLToken( XML_PRESET_SUB_TYPE ), makeAny( aIter.toString() ) );
}
break;
case XML_ELEMENT(PRESENTATION, XML_PRESET_CLASS):
@@ -691,7 +690,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_OOO, XML_PRESET_CLASS):
case XML_ELEMENT(PRESENTATION_OASIS, XML_PRESET_CLASS):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_EffectPresetClass ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_EffectPresetClass ) )
aUserData.emplace_back( GetXMLToken( XML_PRESET_CLASS ), makeAny( nEnum ) );
}
break;
@@ -700,7 +699,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_OOO, XML_AFTER_EFFECT):
{
bool bTemp;
- if (::sax::Converter::convertBool( bTemp, rValue ))
+ if (::sax::Converter::convertBool( bTemp, aIter.toView() ))
aUserData.emplace_back( GetXMLToken( XML_AFTER_EFFECT ), makeAny( bTemp ) );
}
break;
@@ -709,7 +708,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
if( nNodeType == AnimationNodeType::AUDIO )
{
Reference< XAudio > xAudio( mxNode, UNO_QUERY_THROW );
- xAudio->setSource( makeAny(lcl_GetMediaReference(GetImport(), rValue)) );
+ xAudio->setSource( makeAny(lcl_GetMediaReference(GetImport(), aIter.toString())) );
break;
}
[[fallthrough]];
@@ -718,7 +717,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_TARGETELEMENT):
case XML_ELEMENT(SMIL_SO52, XML_TARGETELEMENT):
{
- Any aTarget( mpHelper->convertTarget( rValue ) );
+ Any aTarget( mpHelper->convertTarget( aIter.toString() ) );
if( xAnimate.is() )
{
@@ -740,10 +739,10 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( nNodeType == AnimationNodeType::AUDIO )
{
- if( isDouble( rValue ) )
+ if( isDouble( aIter.toView() ) )
{
Reference< XAudio > xAudio( mxNode, UNO_QUERY_THROW );
- xAudio->setVolume( rValue.toDouble() );
+ xAudio->setVolume( aIter.toDouble() );
}
}
}
@@ -753,7 +752,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_SO52, XML_MASTER_ELEMENT):
case XML_ELEMENT(PRESENTATION_OOO, XML_MASTER_ELEMENT):
{
- Reference< XAnimationNode > xMaster( GetImport().getInterfaceToIdentifierMapper().getReference( rValue ), UNO_QUERY );
+ Reference< XAnimationNode > xMaster( GetImport().getInterfaceToIdentifierMapper().getReference( aIter.toString() ), UNO_QUERY );
aUserData.emplace_back( GetXMLToken( XML_MASTER_ELEMENT ), makeAny( xMaster ) );
}
break;
@@ -761,7 +760,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(ANIMATION, XML_SUB_ITEM):
case XML_ELEMENT(ANIMATION_OOO, XML_SUB_ITEM):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_SubItem ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_SubItem ) )
{
if( xAnimate.is() )
{
@@ -781,12 +780,12 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xAnimate.is() )
{
- OUString aName( rValue );
+ OUString aName( aIter.toString() );
const struct ImplAttributeNameConversion* p = getAnimationAttributeNamesConversionList();
while( p->mpAPIName )
{
- if( IsXMLToken( aName, p->meXMLToken ) )
+ if( IsXMLToken( aIter, p->meXMLToken ) )
{
aName = OUString::createFromAscii( p->mpAPIName );
meAttributeName = p->meXMLToken;
@@ -805,7 +804,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_VALUES):
case XML_ELEMENT(SMIL_SO52, XML_VALUES):
{
- aValues = rValue;
+ aValues = aIter.toString();
}
break;
@@ -813,7 +812,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_FROM):
case XML_ELEMENT(SMIL_SO52, XML_FROM):
{
- aFrom = rValue;
+ aFrom = aIter.toString();
}
break;
@@ -821,7 +820,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_BY):
case XML_ELEMENT(SMIL_SO52, XML_BY):
{
- aBy = rValue;
+ aBy = aIter.toString();
}
break;
@@ -829,7 +828,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_COMPAT, XML_TO):
case XML_ELEMENT(SMIL_SO52, XML_TO):
{
- aTo = rValue;
+ aTo = aIter.toString();
}
break;
@@ -838,7 +837,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_KEYTIMES):
{
if( xAnimate.is() )
- xAnimate->setKeyTimes( AnimationsImportHelperImpl::convertKeyTimes( rValue ) );
+ xAnimate->setKeyTimes( AnimationsImportHelperImpl::convertKeyTimes( aIter.toString() ) );
}
break;
@@ -846,19 +845,19 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(ANIMATION_OOO, XML_FORMULA):
{
if( xAnimate.is() )
- xAnimate->setFormula( rValue );
+ xAnimate->setFormula( aIter.toString() );
}
break;
case XML_ELEMENT(ANIMATION, XML_ID):
case XML_ELEMENT(ANIMATION_OOO, XML_ID):
{
- if (!bHaveXmlId) { sXmlId = rValue; }
+ if (!bHaveXmlId) { sXmlId = aIter.toString(); }
}
break;
case XML_ELEMENT(XML, XML_ID):
{
- sXmlId = rValue;
+ sXmlId = aIter.toString();
bHaveXmlId = true;
}
break;
@@ -869,7 +868,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xAnimate.is() )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_CalcMode ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_CalcMode ) )
xAnimate->setCalcMode( nEnum );
}
}
@@ -880,7 +879,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_ACCUMULATE):
{
if( xAnimate.is() )
- xAnimate->setAccumulate( IsXMLToken( rValue, XML_SUM ) );
+ xAnimate->setAccumulate( IsXMLToken( aIter, XML_SUM ) );
}
break;
@@ -893,7 +892,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xAnimate.is() )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_AdditiveMode ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_AdditiveMode ) )
xAnimate->setAdditive( nEnum );
}
}
@@ -904,7 +903,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_KEYSPLINES):
{
if( xAnimate.is() )
- xAnimate->setTimeFilter( AnimationsImportHelperImpl::convertTimeFilter( rValue ) );
+ xAnimate->setTimeFilter( AnimationsImportHelperImpl::convertTimeFilter( aIter.toString() ) );
}
break;
@@ -913,7 +912,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimateMotion > xAnimateMotion( mxNode, UNO_QUERY );
if( xAnimateMotion.is() )
- xAnimateMotion->setPath( AnimationsImportHelperImpl::convertPath( rValue ) );
+ xAnimateMotion->setPath( AnimationsImportHelperImpl::convertPath( aIter.toString() ) );
}
break;
@@ -923,7 +922,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimatePhysics > xAnimatePhysics( mxNode, UNO_QUERY );
if( xAnimatePhysics.is() )
- xAnimatePhysics->setStartVelocityX( makeAny(rValue.toDouble()) );
+ xAnimatePhysics->setStartVelocityX( makeAny(aIter.toDouble()) );
}
break;
@@ -933,7 +932,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimatePhysics > xAnimatePhysics( mxNode, UNO_QUERY );
if( xAnimatePhysics.is() )
- xAnimatePhysics->setStartVelocityY( makeAny(rValue.toDouble()) );
+ xAnimatePhysics->setStartVelocityY( makeAny(aIter.toDouble()) );
}
break;
@@ -943,7 +942,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimatePhysics > xAnimatePhysics( mxNode, UNO_QUERY );
if( xAnimatePhysics.is() )
- xAnimatePhysics->setDensity( makeAny(rValue.toDouble()) );
+ xAnimatePhysics->setDensity( makeAny(aIter.toDouble()) );
}
break;
@@ -953,7 +952,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimatePhysics > xAnimatePhysics( mxNode, UNO_QUERY );
if( xAnimatePhysics.is() )
- xAnimatePhysics->setBounciness( makeAny(rValue.toDouble()) );
+ xAnimatePhysics->setBounciness( makeAny(aIter.toDouble()) );
}
break;
@@ -962,7 +961,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimateColor > xAnimateColor( mxNode, UNO_QUERY );
if( xAnimateColor.is() )
- xAnimateColor->setColorInterpolation( IsXMLToken( rValue, XML_HSL ) ? AnimationColorSpace::HSL : AnimationColorSpace::RGB );
+ xAnimateColor->setColorInterpolation( IsXMLToken( aIter, XML_HSL ) ? AnimationColorSpace::HSL : AnimationColorSpace::RGB );
}
break;
@@ -971,7 +970,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
Reference< XAnimateColor > xAnimateColor( mxNode, UNO_QUERY );
if( xAnimateColor.is() )
- xAnimateColor->setDirection( IsXMLToken( rValue, XML_CLOCKWISE ) );
+ xAnimateColor->setDirection( IsXMLToken( aIter, XML_CLOCKWISE ) );
}
break;
@@ -981,7 +980,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
Reference< XAnimateTransform > xTransform( mxNode, UNO_QUERY );
if( xTransform.is() )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_TransformType ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_TransformType ) )
{
xTransform->setTransformType( nEnum );
switch( nEnum )
@@ -1005,7 +1004,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xTransitionFilter.is() )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_TransitionType ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_TransitionType ) )
xTransitionFilter->setTransition( nEnum );
}
}
@@ -1017,7 +1016,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xTransitionFilter.is() )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_TransitionSubType ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_TransitionSubType ) )
xTransitionFilter->setSubtype( nEnum );
}
}
@@ -1028,7 +1027,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_MODE):
{
if( xTransitionFilter.is() )
- xTransitionFilter->setMode( IsXMLToken( rValue, XML_IN ) );
+ xTransitionFilter->setMode( IsXMLToken( aIter, XML_IN ) );
}
break;
@@ -1037,7 +1036,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(SMIL_SO52, XML_DIRECTION):
{
if( xTransitionFilter.is() )
- xTransitionFilter->setDirection( IsXMLToken( rValue, XML_FORWARD ) );
+ xTransitionFilter->setDirection( IsXMLToken( aIter, XML_FORWARD ) );
}
break;
@@ -1048,7 +1047,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
if( xTransitionFilter.is() )
{
sal_Int32 nColor(0);
- ::sax::Converter::convertColor(nColor, rValue);
+ ::sax::Converter::convertColor(nColor, aIter.toView());
xTransitionFilter->setFadeColor(nColor);
}
}
@@ -1057,7 +1056,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(ANIMATION, XML_ITERATE_TYPE):
case XML_ELEMENT(ANIMATION_OOO, XML_ITERATE_TYPE):
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_IterateType ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_IterateType ) )
{
if( xIter.is() )
xIter->setIterateType( nEnum );
@@ -1070,6 +1069,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xIter.is() )
{
+ OUString rValue = aIter.toString();
double fInterval = 0.0;
if( rValue.match("P") )
{
@@ -1083,7 +1083,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
}
else
{
- fInterval = rValue.toDouble();
+ fInterval = aIter.toDouble();
}
xIter->setIterateInterval( fInterval );
@@ -1095,7 +1095,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
case XML_ELEMENT(PRESENTATION_SO52, XML_GROUP_ID):
case XML_ELEMENT(PRESENTATION_OOO, XML_GROUP_ID):
{
- aUserData.emplace_back( "group-id", makeAny( rValue.toInt32() ) );
+ aUserData.emplace_back( "group-id", makeAny( aIter.toInt32() ) );
}
break;
@@ -1104,7 +1104,7 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
{
if( xCommand.is() && nNodeType == AnimationNodeType::COMMAND )
{
- if( SvXMLUnitConverter::convertEnum( nEnum, rValue, aAnimations_EnumMap_Command ) )
+ if( SvXMLUnitConverter::convertEnum( nEnum, aIter.toString(), aAnimations_EnumMap_Command ) )
{
xCommand->setCommand( nEnum );
}
@@ -1120,11 +1120,10 @@ void AnimationNodeContext::init_node( const css::uno::Reference< css::xml::sax:
|| IsTokenInNamespace(nToken, XML_NAMESPACE_PRESENTATION_OASIS)
|| IsTokenInNamespace(nToken, XML_NAMESPACE_PRESENTATION_OOO))
{
- aUserData.emplace_back( SvXMLImport::getNameFromToken(aIter.getToken()), makeAny( rValue ) );
+ aUserData.emplace_back( SvXMLImport::getNameFromToken(aIter.getToken()), makeAny( aIter.toString() ) );
}
else
- SAL_WARN("xmloff", "unknown token '" + SvXMLImport::getNameFromToken(aIter.getToken())
- << "' 0x" << std::hex << aIter.getToken());
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
}
diff --git a/xmloff/source/draw/animimp.cxx b/xmloff/source/draw/animimp.cxx
index 89cf45a37540..ca6d6cb28450 100644
--- a/xmloff/source/draw/animimp.cxx
+++ b/xmloff/source/draw/animimp.cxx
@@ -395,14 +395,13 @@ XMLAnimationsSoundContext::XMLAnimationsSoundContext( SvXMLImport& rImport, sal_
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XLINK, XML_HREF):
- pParent->maSoundURL = rImport.GetAbsoluteReference(sValue);
+ pParent->maSoundURL = rImport.GetAbsoluteReference(aIter.toString());
break;
case XML_ELEMENT(PRESENTATION, XML_PLAY_FULL):
- pParent->mbPlayFull = IsXMLToken( sValue, XML_TRUE );
+ pParent->mbPlayFull = IsXMLToken( aIter, XML_TRUE );
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -450,34 +449,33 @@ XMLAnimationsEffectContext::XMLAnimationsEffectContext( SvXMLImport& rImport,
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(DRAW, XML_SHAPE_ID):
- maShapeId = sValue;
+ maShapeId = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_COLOR):
- ::sax::Converter::convertColor(maDimColor, sValue);
+ ::sax::Converter::convertColor(maDimColor, aIter.toString());
break;
case XML_ELEMENT(PRESENTATION, XML_EFFECT):
- SvXMLUnitConverter::convertEnum( meEffect, sValue, aXML_AnimationEffect_EnumMap );
+ SvXMLUnitConverter::convertEnum( meEffect, aIter.toString(), aXML_AnimationEffect_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_DIRECTION):
- SvXMLUnitConverter::convertEnum( meDirection, sValue, aXML_AnimationDirection_EnumMap );
+ SvXMLUnitConverter::convertEnum( meDirection, aIter.toString(), aXML_AnimationDirection_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_START_SCALE):
{
sal_Int32 nScale;
- if (::sax::Converter::convertPercent( nScale, sValue ))
+ if (::sax::Converter::convertPercent( nScale, aIter.toView() ))
mnStartScale = static_cast<sal_Int16>(nScale);
break;
}
case XML_ELEMENT(PRESENTATION, XML_SPEED):
- SvXMLUnitConverter::convertEnum( meSpeed, sValue, aXML_AnimationSpeed_EnumMap );
+ SvXMLUnitConverter::convertEnum( meSpeed, aIter.toString(), aXML_AnimationSpeed_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_PATH_ID):
- maPathShapeId = sValue;
+ maPathShapeId = aIter.toString();
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
diff --git a/xmloff/source/draw/eventimp.cxx b/xmloff/source/draw/eventimp.cxx
index c71c71043cc2..2f90ed9e5e6c 100644
--- a/xmloff/source/draw/eventimp.cxx
+++ b/xmloff/source/draw/eventimp.cxx
@@ -106,14 +106,13 @@ XMLEventSoundContext::XMLEventSoundContext( SvXMLImport& rImp, const Reference<
{
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XLINK, XML_HREF):
- pParent->maData.msSoundURL = rImp.GetAbsoluteReference(sValue);
+ pParent->maData.msSoundURL = rImp.GetAbsoluteReference(aIter.toString());
break;
case XML_ELEMENT(PRESENTATION, XML_PLAY_FULL):
- pParent->maData.mbPlayFull = IsXMLToken( sValue, XML_TRUE );
+ pParent->maData.mbPlayFull = IsXMLToken( aIter, XML_TRUE );
break;
default:
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
@@ -145,36 +144,35 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp,
OUString sEventName;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(PRESENTATION, XML_ACTION):
- SvXMLUnitConverter::convertEnum( maData.meClickAction, sValue, aXML_EventActions_EnumMap );
+ SvXMLUnitConverter::convertEnum( maData.meClickAction, aIter.toString(), aXML_EventActions_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_EFFECT):
- SvXMLUnitConverter::convertEnum( maData.meEffect, sValue, aXML_AnimationEffect_EnumMap );
+ SvXMLUnitConverter::convertEnum( maData.meEffect, aIter.toString(), aXML_AnimationEffect_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_DIRECTION):
- SvXMLUnitConverter::convertEnum( maData.meDirection, sValue, aXML_AnimationDirection_EnumMap );
+ SvXMLUnitConverter::convertEnum( maData.meDirection, aIter.toString(), aXML_AnimationDirection_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_START_SCALE):
{
sal_Int32 nScale;
- if (::sax::Converter::convertPercent( nScale, sValue ))
+ if (::sax::Converter::convertPercent( nScale, aIter.toView() ))
maData.mnStartScale = static_cast<sal_Int16>(nScale);
}
break;
case XML_ELEMENT(PRESENTATION, XML_SPEED):
- SvXMLUnitConverter::convertEnum( maData.meSpeed, sValue, aXML_AnimationSpeed_EnumMap );
+ SvXMLUnitConverter::convertEnum( maData.meSpeed, aIter.toString(), aXML_AnimationSpeed_EnumMap );
break;
case XML_ELEMENT(PRESENTATION, XML_VERB):
- ::sax::Converter::convertNumber( maData.mnVerb, sValue );
+ ::sax::Converter::convertNumber( maData.mnVerb, aIter.toView() );
break;
case XML_ELEMENT(SCRIPT, XML_EVENT_NAME):
{
- sEventName = sValue;
+ sEventName = aIter.toString();
sal_uInt16 nScriptPrefix =
- GetImport().GetNamespaceMap().GetKeyByAttrValueQName(sValue, &sEventName);
+ GetImport().GetNamespaceMap().GetKeyByAttrValueQName(sEventName, &sEventName);
maData.mbValid = XML_NAMESPACE_DOM == nScriptPrefix && sEventName == "click";
}
break;
@@ -182,7 +180,7 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp,
{
// language is not evaluated!
OUString aScriptLanguage;
- maData.msLanguage = sValue;
+ maData.msLanguage = aIter.toString();
sal_uInt16 nScriptPrefix = rImp.GetNamespaceMap().
GetKeyByAttrValueQName(maData.msLanguage, &aScriptLanguage);
if( XML_NAMESPACE_OOO == nScriptPrefix )
@@ -190,18 +188,18 @@ SdXMLEventContext::SdXMLEventContext( SvXMLImport& rImp,
}
break;
case XML_ELEMENT(SCRIPT, XML_MACRO_NAME):
- maData.msMacroName = sValue;
+ maData.msMacroName = aIter.toString();
break;
case XML_ELEMENT(XLINK, XML_HREF):
{
if ( maData.mbScript )
{
- maData.msMacroName = sValue;
+ maData.msMacroName = aIter.toString();
}
else
{
const OUString &rTmp =
- rImp.GetAbsoluteReference(sValue);
+ rImp.GetAbsoluteReference(aIter.toString());
INetURLObject::translateToInternal( rTmp, maData.msBookmark,
INetURLObject::DecodeMechanism::Unambiguous );
}
diff --git a/xmloff/source/draw/ximp3dobject.cxx b/xmloff/source/draw/ximp3dobject.cxx
index abe34189c90d..c17defc2426b 100644
--- a/xmloff/source/draw/ximp3dobject.cxx
+++ b/xmloff/source/draw/ximp3dobject.cxx
@@ -97,14 +97,12 @@ SdXML3DCubeObjectShapeContext::SdXML3DCubeObjectShapeContext(
{
for(auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
-
switch(aIter.getToken())
{
case XML_ELEMENT(DR3D, XML_MIN_EDGE):
{
::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, sValue);
+ SvXMLUnitConverter::convertB3DVector(aNewVec, aIter.toView());
if(aNewVec != maMinEdge)
maMinEdge = aNewVec;
@@ -113,7 +111,7 @@ SdXML3DCubeObjectShapeContext::SdXML3DCubeObjectShapeContext(
case XML_ELEMENT(DR3D, XML_MAX_EDGE):
{
::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, sValue);
+ SvXMLUnitConverter::convertB3DVector(aNewVec, aIter.toView());
if(aNewVec != maMaxEdge)
maMaxEdge = aNewVec;
@@ -176,14 +174,12 @@ SdXML3DSphereObjectShapeContext::SdXML3DSphereObjectShapeContext(
{
for(auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sValue = aIter.toString();
-
switch(aIter.getToken())
{
case XML_ELEMENT(DR3D, XML_CENTER):
{
::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, sValue);
+ SvXMLUnitConverter::convertB3DVector(aNewVec, aIter.toView());
if(aNewVec != maCenter)
maCenter = aNewVec;
@@ -192,7 +188,7 @@ SdXML3DSphereObjectShapeContext::SdXML3DSphereObjectShapeContext(
case XML_ELEMENT(DR3D, XML_SIZE):
{
::basegfx::B3DVector aNewVec;
- SvXMLUnitConverter::convertB3DVector(aNewVec, sValue);
+ SvXMLUnitConverter::convertB3DVector(aNewVec, aIter.toView());
if(aNewVec != maSphereSize)
maSphereSize = aNewVec;
diff --git a/xmloff/source/draw/ximp3dscene.cxx b/xmloff/source/draw/ximp3dscene.cxx
index 9477481343e8..29a13ba961b3 100644
--- a/xmloff/source/draw/ximp3dscene.cxx
+++ b/xmloff/source/draw/ximp3dscene.cxx
@@ -49,36 +49,35 @@ SdXML3DLightContext::SdXML3DLightContext(
// read attributes for the 3DScene
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(DR3D, XML_DIFFUSE_COLOR):
{
- ::sax::Converter::convertColor(maDiffuseColor, sValue);
+ ::sax::Converter::convertColor(maDiffuseColor, aIter.toString());
break;
}
case XML_ELEMENT(DR3D, XML_DIRECTION):
{
::basegfx::B3DVector aVal;
- SvXMLUnitConverter::convertB3DVector(aVal, sValue);
+ SvXMLUnitConverter::convertB3DVector(aVal, aIter.toString());
if (!std::isnan(aVal.getX()) && !std::isnan(aVal.getY()) && !std::isnan(aVal.getZ()))
{
maDirection = aVal;
}
else
{
- SAL_WARN("xmloff", "NaNs found in light direction: " << sValue);
+ SAL_WARN("xmloff", "NaNs found in light direction: " << aIter.toString());
}
break;
}
case XML_ELEMENT(DR3D, XML_ENABLED):
{
- (void)::sax::Converter::convertBool(mbEnabled, sValue);
+ (void)::sax::Converter::convertBool(mbEnabled, aIter.toView());
break;
}
case XML_ELEMENT(DR3D, XML_SPECULAR):
{
- (void)::sax::Converter::convertBool(mbSpecular, sValue);
+ (void)::sax::Converter::convertBool(mbSpecular, aIter.toView());
break;
}
default:
diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
index 8e23b0ee844f..f53c513d7e26 100644
--- a/xmloff/source/draw/ximpcustomshape.cxx
+++ b/xmloff/source/draw/ximpcustomshape.cxx
@@ -72,7 +72,7 @@ const SvXMLEnumMapEntry<sal_uInt16> aXML_GluePointEnumMap[] =
{ XML_TOKEN_INVALID, 0 }
};
static void GetBool( std::vector< css::beans::PropertyValue >& rDest,
- std::u16string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
{
bool bAttrBool;
if (::sax::Converter::convertBool( bAttrBool, rValue ))
@@ -85,7 +85,7 @@ static void GetBool( std::vector< css::beans::PropertyValue >& rDest,
}
static void GetInt32( std::vector< css::beans::PropertyValue >& rDest,
- std::u16string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
{
sal_Int32 nAttrNumber;
if (::sax::Converter::convertNumber( nAttrNumber, rValue ))
@@ -98,7 +98,7 @@ static void GetInt32( std::vector< css::beans::PropertyValue >& rDest,
}
static void GetDouble( std::vector< css::beans::PropertyValue >& rDest,
- std::u16string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
{
double fAttrDouble;
if (::sax::Converter::convertDouble( fAttrDouble, rValue ))
@@ -135,7 +135,7 @@ static void GetEnum( std::vector< css::beans::PropertyValue >& rDest,
}
static void GetDoublePercentage( std::vector< css::beans::PropertyValue >& rDest,
- const OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp )
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
{
sal_Int16 const eSrcUnit = ::sax::Converter::GetUnitFromString(
rValue, util::MeasureUnit::MM_100TH);
@@ -155,7 +155,7 @@ static void GetDoublePercentage( std::vector< css::beans::PropertyValue >& rDest
}
static void GetB3DVector( std::vector< css::beans::PropertyValue >& rDest,
- const OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp )
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp )
{
::basegfx::B3DVector aB3DVector;
if ( SvXMLUnitConverter::convertB3DVector( aB3DVector, rValue ) )
@@ -424,7 +424,7 @@ static bool GetNextParameter( css::drawing::EnhancedCustomShapeParameter& rParam
}
static void GetPosition3D( std::vector< css::beans::PropertyValue >& rDest, // e.g. draw:extrusion-viewpoint
- const OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp,
+ std::string_view rValue, const EnhancedCustomShapeTokenEnum eDestProp,
SvXMLUnitConverter& rUnitConverter )
{
drawing::Position3D aPosition3D;
@@ -866,22 +866,20 @@ void XMLEnhancedCustomShapeContext::startFastElement(
sal_Int32 nAttrNumber;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString rValue = aIter.toString();
-
switch( EASGet( aIter.getToken() ) )
{
case EAS_type :
- GetString( mrCustomShapeGeometry, rValue, EAS_Type );
+ GetString( mrCustomShapeGeometry, aIter.toString(), EAS_Type );
break;
case EAS_mirror_horizontal :
- GetBool( mrCustomShapeGeometry, rValue, EAS_MirroredX );
+ GetBool( mrCustomShapeGeometry, aIter.toView(), EAS_MirroredX );
break;
case EAS_mirror_vertical :
- GetBool( mrCustomShapeGeometry, rValue, EAS_MirroredY );
+ GetBool( mrCustomShapeGeometry, aIter.toView(), EAS_MirroredY );
break;
case EAS_viewBox :
{
- SdXMLImExViewBox aViewBox( rValue, GetImport().GetMM100UnitConverter() );
+ SdXMLImExViewBox aViewBox( aIter.toString(), GetImport().GetMM100UnitConverter() );
awt::Rectangle aRect( aViewBox.GetX(), aViewBox.GetY(), aViewBox.GetWidth(), aViewBox.GetHeight() );
beans::PropertyValue aProp;
aProp.Name = EASGet( EAS_ViewBox );
@@ -890,28 +888,29 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_sub_view_size:
- GetSizeSequence( maPath, rValue, EAS_SubViewSize );
+ GetSizeSequence( maPath, aIter.toString(), EAS_SubViewSize );
break;
case EAS_text_rotate_angle :
- GetDouble( mrCustomShapeGeometry, rValue, EAS_TextRotateAngle );
+ GetDouble( mrCustomShapeGeometry, aIter.toView(), EAS_TextRotateAngle );
break;
case EAS_extrusion_allowed :
- GetBool( maPath, rValue, EAS_ExtrusionAllowed );
+ GetBool( maPath, aIter.toView(), EAS_ExtrusionAllowed );
break;
case EAS_text_path_allowed :
- GetBool( maPath, rValue, EAS_TextPathAllowed );
+ GetBool( maPath, aIter.toView(), EAS_TextPathAllowed );
break;
case EAS_concentric_gradient_fill_allowed :
- GetBool( maPath, rValue, EAS_ConcentricGradientFillAllowed );
+ GetBool( maPath, aIter.toView(), EAS_ConcentricGradientFillAllowed );
break;
case EAS_extrusion :
- GetBool( maExtrusion, rValue, EAS_Extrusion );
+ GetBool( maExtrusion, aIter.toView(), EAS_Extrusion );
break;
case EAS_extrusion_brightness :
- GetDoublePercentage( maExtrusion, rValue, EAS_Brightness );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_Brightness );
break;
case EAS_extrusion_depth :
{
+ OUString rValue = aIter.toString();
sal_Int32 nIndex = 0;
css::drawing::EnhancedCustomShapeParameterPair aParameterPair;
css::drawing::EnhancedCustomShapeParameter& rDepth = aParameterPair.First;
@@ -953,43 +952,43 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_extrusion_diffusion :
- GetDoublePercentage( maExtrusion, rValue, EAS_Diffusion );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_Diffusion );
break;
case EAS_extrusion_number_of_line_segments :
- GetInt32( maExtrusion, rValue, EAS_NumberOfLineSegments );
+ GetInt32( maExtrusion, aIter.toView(), EAS_NumberOfLineSegments );
break;
case EAS_extrusion_light_face :
- GetBool( maExtrusion, rValue, EAS_LightFace );
+ GetBool( maExtrusion, aIter.toView(), EAS_LightFace );
break;
case EAS_extrusion_first_light_harsh :
- GetBool( maExtrusion, rValue, EAS_FirstLightHarsh );
+ GetBool( maExtrusion, aIter.toView(), EAS_FirstLightHarsh );
break;
case EAS_extrusion_second_light_harsh :
- GetBool( maExtrusion, rValue, EAS_SecondLightHarsh );
+ GetBool( maExtrusion, aIter.toView(), EAS_SecondLightHarsh );
break;
case EAS_extrusion_first_light_level :
- GetDoublePercentage( maExtrusion, rValue, EAS_FirstLightLevel );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_FirstLightLevel );
break;
case EAS_extrusion_second_light_level :
- GetDoublePercentage( maExtrusion, rValue, EAS_SecondLightLevel );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_SecondLightLevel );
break;
case EAS_extrusion_first_light_direction :
- GetB3DVector( maExtrusion, rValue, EAS_FirstLightDirection );
+ GetB3DVector( maExtrusion, aIter.toView(), EAS_FirstLightDirection );
break;
case EAS_extrusion_second_light_direction :
- GetB3DVector( maExtrusion, rValue, EAS_SecondLightDirection );
+ GetB3DVector( maExtrusion, aIter.toView(), EAS_SecondLightDirection );
break;
case EAS_extrusion_metal :
- GetBool( maExtrusion, rValue, EAS_Metal );
+ GetBool( maExtrusion, aIter.toView(), EAS_Metal );
break;
case EAS_shade_mode :
{
drawing::ShadeMode eShadeMode( drawing::ShadeMode_FLAT );
- if( IsXMLToken( rValue, XML_PHONG ) )
+ if( IsXMLToken( aIter, XML_PHONG ) )
eShadeMode = drawing::ShadeMode_PHONG;
- else if ( IsXMLToken( rValue, XML_GOURAUD ) )
+ else if ( IsXMLToken( aIter, XML_GOURAUD ) )
eShadeMode = drawing::ShadeMode_SMOOTH;
- else if ( IsXMLToken( rValue, XML_DRAFT ) )
+ else if ( IsXMLToken( aIter, XML_DRAFT ) )
eShadeMode = drawing::ShadeMode_DRAFT;
beans::PropertyValue aProp;
@@ -999,24 +998,24 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_extrusion_rotation_angle :
- GetEnhancedParameterPair( maExtrusion, rValue, EAS_RotateAngle );
+ GetEnhancedParameterPair( maExtrusion, aIter.toString(), EAS_RotateAngle );
break;
case EAS_extrusion_rotation_center :
- GetB3DVector( maExtrusion, rValue, EAS_RotationCenter );
+ GetB3DVector( maExtrusion, aIter.toView(), EAS_RotationCenter );
break;
case EAS_extrusion_shininess :
- GetDoublePercentage( maExtrusion, rValue, EAS_Shininess );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_Shininess );
break;
case EAS_extrusion_skew :
- GetEnhancedParameterPair( maExtrusion, rValue, EAS_Skew );
+ GetEnhancedParameterPair( maExtrusion, aIter.toString(), EAS_Skew );
break;
case EAS_extrusion_specularity :
- GetDoublePercentage( maExtrusion, rValue, EAS_Specularity );
+ GetDoublePercentage( maExtrusion, aIter.toView(), EAS_Specularity );
break;
case EAS_projection :
{
drawing::ProjectionMode eProjectionMode( drawing::ProjectionMode_PERSPECTIVE );
- if( IsXMLToken( rValue, XML_PARALLEL ) )
+ if( IsXMLToken( aIter, XML_PARALLEL ) )
eProjectionMode = drawing::ProjectionMode_PARALLEL;
beans::PropertyValue aProp;
@@ -1026,20 +1025,20 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_extrusion_viewpoint :
- GetPosition3D( maExtrusion, rValue, EAS_ViewPoint, mrUnitConverter );
+ GetPosition3D( maExtrusion, aIter.toView(), EAS_ViewPoint, mrUnitConverter );
break;
case EAS_extrusion_origin :
- GetEnhancedParameterPair( maExtrusion, rValue, EAS_Origin );
+ GetEnhancedParameterPair( maExtrusion, aIter.toString(), EAS_Origin );
break;
case EAS_extrusion_color :
- GetBool( maExtrusion, rValue, EAS_Color );
+ GetBool( maExtrusion, aIter.toView(), EAS_Color );
break;
case EAS_enhanced_path :
- GetEnhancedPath( maPath, rValue );
+ GetEnhancedPath( maPath, aIter.toString() );
break;
case EAS_path_stretchpoint_x :
{
- if (::sax::Converter::convertNumber(nAttrNumber, rValue))
+ if (::sax::Converter::convertNumber(nAttrNumber, aIter.toView()))
{
beans::PropertyValue aProp;
aProp.Name = EASGet( EAS_StretchX );
@@ -1050,7 +1049,7 @@ void XMLEnhancedCustomShapeContext::startFastElement(
break;
case EAS_path_stretchpoint_y :
{
- if (::sax::Converter::convertNumber(nAttrNumber, rValue))
+ if (::sax::Converter::convertNumber(nAttrNumber, aIter.toView()))
{
beans::PropertyValue aProp;
aProp.Name = EASGet( EAS_StretchY );
@@ -1060,31 +1059,31 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_text_areas :
- GetEnhancedRectangleSequence( maPath, rValue, EAS_TextFrames );
+ GetEnhancedRectangleSequence( maPath, aIter.toString(), EAS_TextFrames );
break;
case EAS_glue_points :
{
- sal_Int32 i, nPairs = GetEnhancedParameterPairSequence( maPath, rValue, EAS_GluePoints );
+ sal_Int32 i, nPairs = GetEnhancedParameterPairSequence( maPath, aIter.toString(), EAS_GluePoints );
GetImport().GetShapeImport()->moveGluePointMapping( mrxShape, nPairs );
for ( i = 0; i < nPairs; i++ )
GetImport().GetShapeImport()->addGluePointMapping( mrxShape, i + 4, i + 4 );
}
break;
case EAS_glue_point_type :
- GetEnum( maPath, rValue, EAS_GluePointType, *aXML_GluePointEnumMap );
+ GetEnum( maPath, aIter.toString(), EAS_GluePointType, *aXML_GluePointEnumMap );
break;
case EAS_glue_point_leaving_directions :
- GetDoubleSequence( maPath, rValue, EAS_GluePointLeavingDirections );
+ GetDoubleSequence( maPath, aIter.toString(), EAS_GluePointLeavingDirections );
break;
case EAS_text_path :
- GetBool( maTextPath, rValue, EAS_TextPath );
+ GetBool( maTextPath, aIter.toView(), EAS_TextPath );
break;
case EAS_text_path_mode :
{
css::drawing::EnhancedCustomShapeTextPathMode eTextPathMode( css::drawing::EnhancedCustomShapeTextPathMode_NORMAL );
- if( IsXMLToken( rValue, XML_PATH ) )
+ if( IsXMLToken( aIter, XML_PATH ) )
eTextPathMode = css::drawing::EnhancedCustomShapeTextPathMode_PATH;
- else if ( IsXMLToken( rValue, XML_SHAPE ) )
+ else if ( IsXMLToken( aIter, XML_SHAPE ) )
eTextPathMode = css::drawing::EnhancedCustomShapeTextPathMode_SHAPE;
beans::PropertyValue aProp;
@@ -1095,7 +1094,7 @@ void XMLEnhancedCustomShapeContext::startFastElement(
break;
case EAS_text_path_scale :
{
- bool bScaleX = IsXMLToken( rValue, XML_SHAPE );
+ bool bScaleX = IsXMLToken( aIter, XML_SHAPE );
beans::PropertyValue aProp;
aProp.Name = EASGet( EAS_ScaleX );
aProp.Value <<= bScaleX;
@@ -1103,10 +1102,10 @@ void XMLEnhancedCustomShapeContext::startFastElement(
}
break;
case EAS_text_path_same_letter_heights :
- GetBool( maTextPath, rValue, EAS_SameLetterHeights );
+ GetBool( maTextPath, aIter.toView(), EAS_SameLetterHeights );
break;
case EAS_modifiers :
- GetAdjustmentValues( mrCustomShapeGeometry, rValue );
+ GetAdjustmentValues( mrCustomShapeGeometry, aIter.toString() );
break;
default:
break;
@@ -1329,41 +1328,40 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > XMLEnhancedCustomShape
std::vector< css::beans::PropertyValue > aHandle;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( EASGet( aIter.getToken() ) )
{
case EAS_handle_mirror_vertical :
- GetBool( aHandle, sValue, EAS_MirroredY );
+ GetBool( aHandle, aIter.toView(), EAS_MirroredY );
break;
case EAS_handle_mirror_horizontal :
- GetBool( aHandle, sValue, EAS_MirroredX );
+ GetBool( aHandle, aIter.toView(), EAS_MirroredX );
break;
case EAS_handle_switched :
- GetBool( aHandle, sValue, EAS_Switched );
+ GetBool( aHandle, aIter.toView(), EAS_Switched );
break;
case EAS_handle_position :
- GetEnhancedParameterPair( aHandle, sValue, EAS_Position );
+ GetEnhancedParameterPair( aHandle, aIter.toString(), EAS_Position );
break;
case EAS_handle_range_x_minimum :
- GetEnhancedParameter( aHandle, sValue, EAS_RangeXMinimum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RangeXMinimum );
break;
case EAS_handle_range_x_maximum :
- GetEnhancedParameter( aHandle, sValue, EAS_RangeXMaximum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RangeXMaximum );
break;
case EAS_handle_range_y_minimum :
- GetEnhancedParameter( aHandle, sValue, EAS_RangeYMinimum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RangeYMinimum );
break;
case EAS_handle_range_y_maximum :
- GetEnhancedParameter( aHandle, sValue, EAS_RangeYMaximum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RangeYMaximum );
break;
case EAS_handle_polar :
- GetEnhancedParameterPair( aHandle, sValue, EAS_Polar );
+ GetEnhancedParameterPair( aHandle, aIter.toString(), EAS_Polar );
break;
case EAS_handle_radius_range_minimum :
- GetEnhancedParameter( aHandle, sValue, EAS_RadiusRangeMinimum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RadiusRangeMinimum );
break;
case EAS_handle_radius_range_maximum :
- GetEnhancedParameter( aHandle, sValue, EAS_RadiusRangeMaximum );
+ GetEnhancedParameter( aHandle, aIter.toString(), EAS_RadiusRangeMaximum );
break;
default:
break;
diff --git a/xmloff/source/draw/ximppage.cxx b/xmloff/source/draw/ximppage.cxx
index b9492b96a776..2ddd5140545f 100644
--- a/xmloff/source/draw/ximppage.cxx
+++ b/xmloff/source/draw/ximppage.cxx
@@ -92,8 +92,6 @@ DrawAnnotationContext::DrawAnnotationContext( SvXMLImport& rImport, const Refere
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(SVG, XML_X):
@@ -101,7 +99,7 @@ DrawAnnotationContext::DrawAnnotationContext( SvXMLImport& rImport, const Refere
{
sal_Int32 x;
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- x, sValue);
+ x, aIter.toView());
aPosition.X = static_cast<double>(x) / 100.0;
break;
}
@@ -110,7 +108,7 @@ DrawAnnotationContext::DrawAnnotationContext( SvXMLImport& rImport, const Refere
{
sal_Int32 y;
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- y, sValue);
+ y, aIter.toView());
aPosition.Y = static_cast<double>(y) / 100.0;
break;
}
@@ -119,7 +117,7 @@ DrawAnnotationContext::DrawAnnotationContext( SvXMLImport& rImport, const Refere
{
sal_Int32 w;
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- w, sValue);
+ w, aIter.toView());
aSize.Width = static_cast<double>(w) / 100.0;
break;
}
@@ -128,7 +126,7 @@ DrawAnnotationContext::DrawAnnotationContext( SvXMLImport& rImport, const Refere
{
sal_Int32 h;
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- h, sValue);
+ h, aIter.toView());
aSize.Height = static_cast<double>(h) / 100.0;
}
break;
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 5ae4680332ae..cabf4aa460a1 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -3420,7 +3420,7 @@ void SdXMLFrameShapeContext::endFastElement(sal_Int32 nElement)
switch (aIter.getToken())
{
case XML_ELEMENT(PRESENTATION, XML_PLACEHOLDER):
- mbIsPlaceholder = IsXMLToken( aIter.toString(), XML_TRUE );
+ mbIsPlaceholder = IsXMLToken( aIter, XML_TRUE );
break;
case XML_ELEMENT(PRESENTATION, XML_CLASS):
maPresentationClass = aIter.toString();
diff --git a/xmloff/source/draw/ximpshow.cxx b/xmloff/source/draw/ximpshow.cxx
index 0e227d9cfa64..4fba11fd380a 100644
--- a/xmloff/source/draw/ximpshow.cxx
+++ b/xmloff/source/draw/ximpshow.cxx
@@ -77,26 +77,24 @@ SdXMLShowsContext::SdXMLShowsContext( SdXMLImport& rImport, const Reference< XFa
// read attributes
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(PRESENTATION, XML_START_PAGE):
{
- mxPresProps->setPropertyValue("FirstPage", Any(sValue) );
+ mxPresProps->setPropertyValue("FirstPage", Any(aIter.toString()) );
bAll = false;
break;
}
case XML_ELEMENT(PRESENTATION, XML_SHOW):
{
- maCustomShowName = sValue;
+ maCustomShowName = aIter.toString();
bAll = false;
break;
}
case XML_ELEMENT(PRESENTATION, XML_PAUSE):
{
Duration aDuration;
- if (!::sax::Converter::convertDuration(aDuration, sValue))
+ if (!::sax::Converter::convertDuration(aDuration, aIter.toString()))
continue;
const sal_Int32 nMS = (aDuration.Hours * 60 +
@@ -106,60 +104,60 @@ SdXMLShowsContext::SdXMLShowsContext( SdXMLImport& rImport, const Reference< XFa
}
case XML_ELEMENT(PRESENTATION, XML_ANIMATIONS):
{
- aAny <<= IsXMLToken( sValue, XML_ENABLED );
+ aAny <<= IsXMLToken( aIter, XML_ENABLED );
mxPresProps->setPropertyValue("AllowAnimations", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_STAY_ON_TOP):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("IsAlwaysOnTop", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_FORCE_MANUAL):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("IsAutomatic", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_ENDLESS):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("IsEndless", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_FULL_SCREEN):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("IsFullScreen", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_MOUSE_VISIBLE):
{
- bIsMouseVisible = IsXMLToken( sValue, XML_TRUE );
+ bIsMouseVisible = IsXMLToken( aIter, XML_TRUE );
break;
}
case XML_ELEMENT(PRESENTATION, XML_START_WITH_NAVIGATOR):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("StartWithNavigator", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_MOUSE_AS_PEN):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("UsePen", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_TRANSITION_ON_CLICK):
{
- aAny <<= IsXMLToken( sValue, XML_ENABLED );
+ aAny <<= IsXMLToken( aIter, XML_ENABLED );
mxPresProps->setPropertyValue("IsTransitionOnClick", aAny );
break;
}
case XML_ELEMENT(PRESENTATION, XML_SHOW_LOGO):
{
- aAny <<= IsXMLToken( sValue, XML_TRUE );
+ aAny <<= IsXMLToken( aIter, XML_TRUE );
mxPresProps->setPropertyValue("IsShowLogo", aAny );
break;
}
diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index ee2c51add4bb..ac23bc3345a2 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -294,54 +294,53 @@ SdXMLPageMasterStyleContext::SdXMLPageMasterStyleContext(
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(FO, XML_MARGIN_TOP):
case XML_ELEMENT(FO_COMPAT, XML_MARGIN_TOP):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnBorderTop, sValue);
+ mnBorderTop, aIter.toView());
break;
}
case XML_ELEMENT(FO, XML_MARGIN_BOTTOM):
case XML_ELEMENT(FO_COMPAT, XML_MARGIN_BOTTOM):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnBorderBottom, sValue);
+ mnBorderBottom, aIter.toView());
break;
}
case XML_ELEMENT(FO, XML_MARGIN_LEFT):
case XML_ELEMENT(FO_COMPAT, XML_MARGIN_LEFT):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnBorderLeft, sValue);
+ mnBorderLeft, aIter.toView());
break;
}
case XML_ELEMENT(FO, XML_MARGIN_RIGHT):
case XML_ELEMENT(FO_COMPAT, XML_MARGIN_RIGHT):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnBorderRight, sValue);
+ mnBorderRight, aIter.toView());
break;
}
case XML_ELEMENT(FO, XML_PAGE_WIDTH):
case XML_ELEMENT(FO_COMPAT, XML_PAGE_WIDTH):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnWidth, sValue);
+ mnWidth, aIter.toView());
break;
}
case XML_ELEMENT(FO, XML_PAGE_HEIGHT):
case XML_ELEMENT(FO_COMPAT, XML_PAGE_HEIGHT):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnHeight, sValue);
+ mnHeight, aIter.toView());
break;
}
case XML_ELEMENT(STYLE, XML_PRINT_ORIENTATION):
{
- if( IsXMLToken( sValue, XML_PORTRAIT ) )
+ if( IsXMLToken( aIter, XML_PORTRAIT ) )
meOrientation = view::PaperOrientation_PORTRAIT;
else
meOrientation = view::PaperOrientation_LANDSCAPE;
@@ -633,19 +632,18 @@ SdXMLPresentationPlaceholderContext::SdXMLPresentationPlaceholderContext(
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(PRESENTATION, XML_OBJECT):
{
- msName = sValue;
+ msName = aIter.toString();
break;
}
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
{
GetSdImport().GetMM100UnitConverter().convertMeasureToCore(
- mnX, sValue);
+ mnX, aIter.toView());
break;
}
case XML_ELEMENT(SVG, XML_Y):
@@ -1373,18 +1371,17 @@ SdXMLHeaderFooterDeclContext::SdXMLHeaderFooterDeclContext(SvXMLImport& rImport,
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- OUString sValue = aIter.toString();
if( aIter.getToken() == XML_ELEMENT(PRESENTATION, XML_NAME) )
{
- maStrName = sValue;
+ maStrName = aIter.toString();
}
else if( aIter.getToken() == XML_ELEMENT(PRESENTATION, XML_SOURCE) )
{
- mbFixed = IsXMLToken( sValue, XML_FIXED );
+ mbFixed = IsXMLToken( aIter, XML_FIXED );
}
else if( aIter.getToken() == XML_ELEMENT(STYLE, XML_DATA_STYLE_NAME) )
{
- maStrDateTimeFormat = sValue;
+ maStrDateTimeFormat = aIter.toString();
}
else
{
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);
diff --git a/xmloff/source/text/XMLCalculationSettingsContext.cxx b/xmloff/source/text/XMLCalculationSettingsContext.cxx
index 338080a3b643..fa7ff423658a 100644
--- a/xmloff/source/text/XMLCalculationSettingsContext.cxx
+++ b/xmloff/source/text/XMLCalculationSettingsContext.cxx
@@ -47,9 +47,7 @@ XMLCalculationSettingsContext::XMLCalculationSettingsContext( SvXMLImport& rImpo
{
if (aIter.getToken() == XML_ELEMENT(TABLE, XML_NULL_YEAR) )
{
- sal_Int32 nTemp;
- ::sax::Converter::convertNumber(nTemp, aIter.toString());
- nYear= static_cast <sal_Int16> (nTemp);
+ nYear = static_cast <sal_Int16> (aIter.toInt32());
}
else
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
diff --git a/xmloff/source/text/XMLChangedRegionImportContext.cxx b/xmloff/source/text/XMLChangedRegionImportContext.cxx
index 400f18a9b44e..b96da6c36fa2 100644
--- a/xmloff/source/text/XMLChangedRegionImportContext.cxx
+++ b/xmloff/source/text/XMLChangedRegionImportContext.cxx
@@ -58,24 +58,23 @@ void XMLChangedRegionImportContext::startFastElement(
bool bHaveXmlId( false );
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(XML, XML_ID):
{
- sID = sValue;
+ sID = aIter.toString();
bHaveXmlId = true;
break;
}
case XML_ELEMENT(TEXT, XML_ID):
{
- if (!bHaveXmlId) { sID = sValue; }
+ if (!bHaveXmlId) { sID = aIter.toString(); }
break;
}
case XML_ELEMENT(TEXT, XML_MERGE_LAST_PARAGRAPH):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, sValue))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bMergeLastPara = bTmp;
}
diff --git a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
index 756c85377bab..1ce26817c015 100644
--- a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
@@ -136,7 +136,7 @@ XMLFootnoteConfigurationImportContext::XMLFootnoteConfigurationImportContext(
{
if( aIter.getToken() == XML_ELEMENT(TEXT, XML_NOTE_CLASS) )
{
- if( IsXMLToken(aIter.toString(), XML_ENDNOTE ) )
+ if( IsXMLToken(aIter, XML_ENDNOTE ) )
{
bIsEndnote = true;
SetFamily( XmlStyleFamily::TEXT_FOOTNOTECONFIG );
diff --git a/xmloff/source/text/XMLFootnoteImportContext.cxx b/xmloff/source/text/XMLFootnoteImportContext.cxx
index fea2e95c4b2a..c7d3c599d86b 100644
--- a/xmloff/source/text/XMLFootnoteImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteImportContext.cxx
@@ -69,7 +69,7 @@ void XMLFootnoteImportContext::startFastElement(
{
if( aIter.getToken() == XML_ELEMENT(TEXT, XML_NOTE_CLASS) )
{
- if( IsXMLToken( aIter.toString(), XML_ENDNOTE ) )
+ if( IsXMLToken( aIter, XML_ENDNOTE ) )
bIsEndnote = true;
break;
}
diff --git a/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx b/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
index 759c786f8aa8..b38fd4db03d4 100644
--- a/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
+++ b/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
@@ -140,7 +140,7 @@ css::uno::Reference< css::xml::sax::XFastContextHandler > XMLIndexBibliographyCo
case XML_ELEMENT(TEXT, XML_SORT_ASCENDING):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aIter.toString()))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
bSort = bTmp;
break;
}
diff --git a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
index 8436d1bb339b..1f5bbc2ea11f 100644
--- a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
@@ -103,7 +103,7 @@ void XMLIndexChapterInfoEntryContext::startFastElement(
case XML_ELEMENT(TEXT, XML_OUTLINE_LEVEL):
{
sal_Int32 nTmp;
- if (::sax::Converter::convertNumber(nTmp, aIter.toString()))
+ if (::sax::Converter::convertNumber(nTmp, aIter.toView()))
{
//control on range is carried out in the UNO level
nOutlineLevel = static_cast<sal_uInt16>(nTmp);
diff --git a/xmloff/source/text/XMLIndexTOCContext.cxx b/xmloff/source/text/XMLIndexTOCContext.cxx
index c883edf6cc28..d3a7ea4ef1b1 100644
--- a/xmloff/source/text/XMLIndexTOCContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCContext.cxx
@@ -145,7 +145,7 @@ void XMLIndexTOCContext::startFastElement(
case XML_ELEMENT(TEXT, XML_PROTECTED):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aIter.toString()))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bProtected = bTmp;
}
diff --git a/xmloff/source/text/XMLIndexTOCStylesContext.cxx b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
index 830369240e7c..aee1b9c9f70b 100644
--- a/xmloff/source/text/XMLIndexTOCStylesContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
@@ -65,7 +65,7 @@ void XMLIndexTOCStylesContext::startFastElement(
{
sal_Int32 nTmp;
if (::sax::Converter::convertNumber(
- nTmp, aIter.toString(), 1,
+ nTmp, aIter.toView(), 1,
GetImport().GetTextImport()->GetChapterNumbering()->
getCount()))
{
diff --git a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
index 1c785c53cc4d..b2ac30899440 100644
--- a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
@@ -64,7 +64,6 @@ void XMLIndexTabStopEntryContext::startFastElement(
// process three attributes: type, position, leader char
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(STYLE, XML_TYPE):
@@ -72,14 +71,14 @@ void XMLIndexTabStopEntryContext::startFastElement(
// if it's neither left nor right, value is
// ignored. Since left is default, we only need to
// check for right
- bTabRightAligned = IsXMLToken( sValue, XML_RIGHT );
+ bTabRightAligned = IsXMLToken( aIter, XML_RIGHT );
break;
}
case XML_ELEMENT(STYLE, XML_POSITION):
{
sal_Int32 nTmp;
if (GetImport().GetMM100UnitConverter().
- convertMeasureToCore(nTmp, sValue))
+ convertMeasureToCore(nTmp, aIter.toView()))
{
nTabPosition = nTmp;
bTabPositionOK = true;
@@ -88,16 +87,16 @@ void XMLIndexTabStopEntryContext::startFastElement(
}
case XML_ELEMENT(STYLE, XML_LEADER_CHAR):
{
- sLeaderChar = sValue;
+ sLeaderChar = aIter.toString();
// valid only, if we have a char!
- bLeaderCharOK = !sValue.isEmpty();
+ bLeaderCharOK = !sLeaderChar.isEmpty();
break;
}
case XML_ELEMENT(STYLE, XML_WITH_TAB):
{
// #i21237#
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, sValue))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
bWithTab = bTmp;
break;
}
diff --git a/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx b/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
index 8d6269235ed6..a275307275d1 100644
--- a/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
@@ -56,7 +56,7 @@ void XMLLineNumberingSeparatorImportContext::startFastElement(
if ( aIter.getToken() == XML_ELEMENT(TEXT, XML_INCREMENT) )
{
sal_Int32 nTmp;
- if (::sax::Converter::convertNumber(nTmp, aIter.toString(), 0))
+ if (::sax::Converter::convertNumber(nTmp, aIter.toView(), 0))
{
rLineNumberingContext.SetSeparatorIncrement(static_cast<sal_Int16>(nTmp));
}
diff --git a/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx b/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
index 26e8af646d37..fcdbf2221b5a 100644
--- a/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
+++ b/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
@@ -77,14 +77,12 @@ void XMLSectionFootnoteConfigImport::startFastElement(
// iterate over xattribute list and fill values
for (auto &aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- OUString sAttrValue = aIter.toString();
-
switch(aIter.getToken())
{
case XML_ELEMENT(TEXT, XML_START_VALUE):
{
sal_Int32 nTmp;
- if (::sax::Converter::convertNumber(nTmp, sAttrValue))
+ if (::sax::Converter::convertNumber(nTmp, aIter.toView()))
{
nNumRestartAt = static_cast< sal_Int16 >( nTmp ) - 1;
bNumRestart = true;
@@ -93,31 +91,31 @@ void XMLSectionFootnoteConfigImport::startFastElement(
}
case XML_ELEMENT(TEXT, XML_NOTE_CLASS):
{
- if( IsXMLToken( sAttrValue, XML_ENDNOTE ) )
+ if( IsXMLToken( aIter, XML_ENDNOTE ) )
bEndnote = true;
break;
}
case XML_ELEMENT(STYLE, XML_NUM_PREFIX):
{
- sNumPrefix = sAttrValue;
+ sNumPrefix = aIter.toString();
bNumOwn = true;
break;
}
case XML_ELEMENT(TEXT, XML_NUM_SUFFIX):
{
- sNumSuffix = sAttrValue;
+ sNumSuffix = aIter.toString();
bNumOwn = true;
break;
}
case XML_ELEMENT(TEXT, XML_NUM_FORMAT):
{
- sNumFormat = sAttrValue;
+ sNumFormat = aIter.toString();
bNumOwn = true;
break;
}
case XML_ELEMENT(TEXT, XML_NUM_LETTER_SYNC):
{
- sNumLetterSync = sAttrValue;
+ sNumLetterSync = aIter.toString();
bNumOwn = true;
break;
}
diff --git a/xmloff/source/text/XMLSectionImportContext.cxx b/xmloff/source/text/XMLSectionImportContext.cxx
index 701fc76af839..54620ddfe5a9 100644
--- a/xmloff/source/text/XMLSectionImportContext.cxx
+++ b/xmloff/source/text/XMLSectionImportContext.cxx
@@ -198,22 +198,21 @@ void XMLSectionImportContext::ProcessAttributes(
{
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
-
switch (aIter.getToken())
{
case XML_ELEMENT(XML, XML_ID):
- sXmlId = sValue;
+ sXmlId = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_STYLE_NAME):
- sStyleName = sValue;
+ sStyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_NAME):
- sName = sValue;
+ sName = aIter.toString();
bValid = true;
break;
case XML_ELEMENT(TEXT, XML_CONDITION):
{
+ OUString sValue = aIter.toString();
OUString sTmp;
sal_uInt16 nPrefix = GetImport().GetNamespaceMap().
GetKeyByAttrValueQName(sValue, &sTmp);
@@ -227,12 +226,12 @@ void XMLSectionImportContext::ProcessAttributes(
}
break;
case XML_ELEMENT(TEXT, XML_DISPLAY):
- if (IsXMLToken(sValue, XML_TRUE))
+ if (IsXMLToken(aIter, XML_TRUE))
{
bIsVisible = true;
}
- else if ( IsXMLToken(sValue, XML_NONE) ||
- IsXMLToken(sValue, XML_CONDITION) )
+ else if ( IsXMLToken(aIter, XML_NONE) ||
+ IsXMLToken(aIter, XML_CONDITION) )
{
bIsVisible = false;
}
@@ -241,7 +240,7 @@ void XMLSectionImportContext::ProcessAttributes(
case XML_ELEMENT(TEXT, XML_IS_HIDDEN):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, sValue))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bIsCurrentlyVisible = !bTmp;
bIsCurrentlyVisibleOK = true;
@@ -249,7 +248,7 @@ void XMLSectionImportContext::ProcessAttributes(
}
break;
case XML_ELEMENT(TEXT, XML_PROTECTION_KEY):
- ::comphelper::Base64::decode(aSequence, sValue);
+ ::comphelper::Base64::decode(aSequence, aIter.toString());
bSequenceOK = true;
break;
case XML_ELEMENT(TEXT, XML_PROTECTED):
@@ -257,7 +256,7 @@ void XMLSectionImportContext::ProcessAttributes(
case XML_ELEMENT(TEXT, XML_PROTECT):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, sValue))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bProtect = bTmp;
}
diff --git a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
index 08f6ab51b53e..3e98f5114100 100644
--- a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
+++ b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
@@ -75,7 +75,7 @@ void XMLSectionSourceDDEImportContext::startFastElement(sal_Int32 /*nElement*/,
case XML_ELEMENT(OFFICE, XML_AUTOMATIC_UPDATE):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aIter.toString()))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bAutomaticUpdate = bTmp;
}
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index acf7ad7a64cc..5cf2d03f60cd 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -87,18 +87,17 @@ XMLTextColumnContext_Impl::XMLTextColumnContext_Impl(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
sal_Int32 nVal;
switch( aIter.getToken() )
{
case XML_ELEMENT(STYLE, XML_REL_WIDTH):
{
- sal_Int32 nPos = sValue.indexOf( '*' );
- if( nPos != -1 && nPos+1 == sValue.getLength() )
+ size_t nPos = aIter.toView().find( '*' );
+ if( nPos != std::string_view::npos && static_cast<sal_Int32>(nPos+1) == aIter.getLength() )
{
if (::sax::Converter::convertNumber(
nVal,
- std::u16string_view(sValue).substr(0, nPos),
+ aIter.toView().substr(0, nPos),
0, USHRT_MAX))
aColumn.Width = nVal;
}
@@ -107,13 +106,13 @@ XMLTextColumnContext_Impl::XMLTextColumnContext_Impl(
case XML_ELEMENT(FO, XML_START_INDENT):
case XML_ELEMENT(FO_COMPAT, XML_START_INDENT):
if( GetImport().GetMM100UnitConverter().
- convertMeasureToCore( nVal, sValue ) )
+ convertMeasureToCore( nVal, aIter.toView() ) )
aColumn.LeftMargin = nVal;
break;
case XML_ELEMENT(FO, XML_END_INDENT):
case XML_ELEMENT(FO_COMPAT, XML_END_INDENT):
if( GetImport().GetMM100UnitConverter().
- convertMeasureToCore( nVal, sValue ) )
+ convertMeasureToCore( nVal, aIter.toView() ) )
aColumn.RightMargin = nVal;
break;
default:
@@ -158,30 +157,28 @@ XMLTextColumnSepContext_Impl::XMLTextColumnSepContext_Impl(
{
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
- const OUString sValue = aIter.toString();
-
sal_Int32 nVal;
switch( aIter.getToken() )
{
case XML_ELEMENT(STYLE, XML_WIDTH):
if( GetImport().GetMM100UnitConverter().
- convertMeasureToCore( nVal, sValue ) )
+ convertMeasureToCore( nVal, aIter.toView() ) )
nWidth = nVal;
break;
case XML_ELEMENT(STYLE, XML_HEIGHT):
- if (::sax::Converter::convertPercent( nVal, sValue ) &&
+ if (::sax::Converter::convertPercent( nVal, aIter.toView() ) &&
nVal >=1 && nVal <= 100 )
nHeight = static_cast<sal_Int8>(nVal);
break;
case XML_ELEMENT(STYLE, XML_COLOR):
- ::sax::Converter::convertColor( nColor, sValue );
+ ::sax::Converter::convertColor( nColor, aIter.toView() );
break;
case XML_ELEMENT(STYLE, XML_VERTICAL_ALIGN):
- SvXMLUnitConverter::convertEnum( eVertAlign, sValue,
+ SvXMLUnitConverter::convertEnum( eVertAlign, aIter.toString(),
pXML_Sep_Align_Enum );
break;
case XML_ELEMENT(STYLE, XML_STYLE):
- SvXMLUnitConverter::convertEnum( nStyle, sValue,
+ SvXMLUnitConverter::convertEnum( nStyle, aIter.toString(),
pXML_Sep_Style_Enum );
break;
default:
@@ -211,19 +208,18 @@ XMLTextColumnsContext::XMLTextColumnsContext(
sal_Int32 nVal;
for (auto &aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- const OUString sValue = aIter.toString();
switch(aIter.getToken())
{
case XML_ELEMENT(FO, XML_COLUMN_COUNT):
case XML_ELEMENT(FO_COMPAT, XML_COLUMN_COUNT):
- if(::sax::Converter::convertNumber( nVal, sValue, 0, SHRT_MAX ))
+ if(::sax::Converter::convertNumber( nVal, aIter.toView(), 0, SHRT_MAX ))
nCount = static_cast<sal_Int16>(nVal);
break;
case XML_ELEMENT(FO, XML_COLUMN_GAP):
case XML_ELEMENT(FO_COMPAT, XML_COLUMN_GAP):
{
bAutomatic = GetImport().GetMM100UnitConverter().
- convertMeasureToCore( nAutomaticDistance, sValue );
+ convertMeasureToCore( nAutomaticDistance, aIter.toView() );
break;
}
default:
diff --git a/xmloff/source/text/XMLTextFrameContext.cxx b/xmloff/source/text/XMLTextFrameContext.cxx
index 066b5d124a99..2855e64dd45f 100644
--- a/xmloff/source/text/XMLTextFrameContext.cxx
+++ b/xmloff/source/text/XMLTextFrameContext.cxx
@@ -220,40 +220,39 @@ XMLTextFrameContourContext_Impl::XMLTextFrameContourContext_Impl(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(SVG, XML_VIEWBOX):
case XML_ELEMENT(SVG_COMPAT, XML_VIEWBOX):
- sViewBox = sValue;
+ sViewBox = aIter.toString();
break;
case XML_ELEMENT(SVG, XML_D):
case XML_ELEMENT(SVG_COMPAT, XML_D):
if( bPath )
- sD = sValue;
+ sD = aIter.toString();
break;
case XML_ELEMENT(DRAW,XML_POINTS):
if( !bPath )
- sPoints = sValue;
+ sPoints = aIter.toString();
break;
case XML_ELEMENT(SVG, XML_WIDTH):
case XML_ELEMENT(SVG_COMPAT, XML_WIDTH):
- if (::sax::Converter::convertMeasurePx(nWidth, sValue))
+ if (::sax::Converter::convertMeasurePx(nWidth, aIter.toView()))
bPixelWidth = true;
else
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nWidth, sValue);
+ nWidth, aIter.toView());
break;
case XML_ELEMENT(SVG, XML_HEIGHT):
case XML_ELEMENT(SVG_COMPAT, XML_HEIGHT):
- if (::sax::Converter::convertMeasurePx(nHeight, sValue))
+ if (::sax::Converter::convertMeasurePx(nHeight, aIter.toView()))
bPixelHeight = true;
else
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nHeight, sValue);
+ nHeight, aIter.toView());
break;
case XML_ELEMENT(DRAW, XML_RECREATE_ON_EDIT):
- bAuto = IsXMLToken(sValue, XML_TRUE);
+ bAuto = IsXMLToken(aIter, XML_TRUE);
break;
}
}
@@ -836,22 +835,22 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
bOwnBase64Stream = false;
mbMultipleContent = bMultipleContent;
- auto processAttr = [&](sal_Int32 nElement, OUString rValue) -> void
+ auto processAttr = [&](sal_Int32 nElement, const sax_fastparser::FastAttributeList::FastAttributeIter& aIter) -> void
{
switch( nElement )
{
case XML_ELEMENT(DRAW, XML_STYLE_NAME):
- sStyleName = rValue;
+ sStyleName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_NAME):
- m_sOrigName = rValue;
- sName = rValue;
+ m_sOrigName = aIter.toString();
+ sName = m_sOrigName;
break;
case XML_ELEMENT(DRAW, XML_FRAME_NAME):
- sFrameName = rValue;
+ sFrameName = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_APPLET_NAME):
- sAppletName = rValue;
+ sAppletName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_ANCHOR_TYPE):
if( TextContentAnchorType_AT_PARAGRAPH == eAnchorType ||
@@ -860,7 +859,7 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
{
TextContentAnchorType eNew;
- if( XMLAnchorTypePropHdl::convert( rValue, eNew ) &&
+ if( XMLAnchorTypePropHdl::convert( aIter.toString(), eNew ) &&
( TextContentAnchorType_AT_PARAGRAPH == eNew ||
TextContentAnchorType_AT_CHARACTER == eNew ||
TextContentAnchorType_AS_CHARACTER == eNew ||
@@ -871,83 +870,83 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
case XML_ELEMENT(TEXT, XML_ANCHOR_PAGE_NUMBER):
{
sal_Int32 nTmp;
- if (::sax::Converter::convertNumber(nTmp, rValue, 1, SHRT_MAX))
+ if (::sax::Converter::convertNumber(nTmp, aIter.toView(), 1, SHRT_MAX))
nPage = static_cast<sal_Int16>(nTmp);
}
break;
case XML_ELEMENT(SVG, XML_X):
case XML_ELEMENT(SVG_COMPAT, XML_X):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nX, rValue);
+ nX, aIter.toView());
break;
case XML_ELEMENT(SVG, XML_Y):
case XML_ELEMENT(SVG_COMPAT, XML_Y):
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nY, rValue );
+ nY, aIter.toView() );
break;
case XML_ELEMENT(SVG, XML_WIDTH):
case XML_ELEMENT(SVG_COMPAT, XML_WIDTH):
// relative widths are obsolete since SRC617. Remove them some day!
- if( rValue.indexOf( '%' ) != -1 )
+ if( aIter.toView().find( '%' ) != std::string_view::npos )
{
sal_Int32 nTmp;
- ::sax::Converter::convertPercent( nTmp, rValue );
+ ::sax::Converter::convertPercent( nTmp, aIter.toView() );
nRelWidth = static_cast<sal_Int16>(nTmp);
}
else
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nWidth, rValue, 0 );
+ nWidth, aIter.toView(), 0 );
}
break;
case XML_ELEMENT(STYLE, XML_REL_WIDTH):
- if( IsXMLToken(rValue, XML_SCALE) )
+ if( IsXMLToken(aIter, XML_SCALE) )
{
bSyncWidth = true;
}
else
{
sal_Int32 nTmp;
- if (::sax::Converter::convertPercent( nTmp, rValue ))
+ if (::sax::Converter::convertPercent( nTmp, aIter.toView() ))
nRelWidth = static_cast<sal_Int16>(nTmp);
}
break;
case XML_ELEMENT(FO, XML_MIN_WIDTH):
case XML_ELEMENT(FO_COMPAT, XML_MIN_WIDTH):
- if( rValue.indexOf( '%' ) != -1 )
+ if( aIter.toView().find( '%' ) != std::string_view::npos )
{
sal_Int32 nTmp;
- ::sax::Converter::convertPercent( nTmp, rValue );
+ ::sax::Converter::convertPercent( nTmp, aIter.toView() );
nRelWidth = static_cast<sal_Int16>(nTmp);
}
else
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nWidth, rValue, 0 );
+ nWidth, aIter.toView(), 0 );
}
bMinWidth = true;
break;
case XML_ELEMENT(SVG, XML_HEIGHT):
case XML_ELEMENT(SVG_COMPAT, XML_HEIGHT):
// relative heights are obsolete since SRC617. Remove them some day!
- if( rValue.indexOf( '%' ) != -1 )
+ if( aIter.toView().find( '%' ) != std::string_view::npos )
{
sal_Int32 nTmp;
- ::sax::Converter::convertPercent( nTmp, rValue );
+ ::sax::Converter::convertPercent( nTmp, aIter.toView() );
nRelHeight = static_cast<sal_Int16>(nTmp);
}
else
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nHeight, rValue, 0 );
+ nHeight, aIter.toView(), 0 );
}
break;
case XML_ELEMENT(STYLE, XML_REL_HEIGHT):
- if( IsXMLToken( rValue, XML_SCALE ) )
+ if( IsXMLToken( aIter, XML_SCALE ) )
{
bSyncHeight = true;
}
- else if( IsXMLToken( rValue, XML_SCALE_MIN ) )
+ else if( IsXMLToken( aIter, XML_SCALE_MIN ) )
{
bSyncHeight = true;
bMinHeight = true;
@@ -955,33 +954,33 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
else
{
sal_Int32 nTmp;
- if (::sax::Converter::convertPercent( nTmp, rValue ))
+ if (::sax::Converter::convertPercent( nTmp, aIter.toView() ))
nRelHeight = static_cast<sal_Int16>(nTmp);
}
break;
case XML_ELEMENT(FO, XML_MIN_HEIGHT):
case XML_ELEMENT(FO_COMPAT, XML_MIN_HEIGHT):
- if( rValue.indexOf( '%' ) != -1 )
+ if( aIter.toView().find( '%' ) != std::string_view::npos )
{
sal_Int32 nTmp;
- ::sax::Converter::convertPercent( nTmp, rValue );
+ ::sax::Converter::convertPercent( nTmp, aIter.toView() );
nRelHeight = static_cast<sal_Int16>(nTmp);
}
else
{
GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nHeight, rValue, 0 );
+ nHeight, aIter.toView(), 0 );
}
bMinHeight = true;
break;
case XML_ELEMENT(DRAW, XML_ZINDEX):
- ::sax::Converter::convertNumber( nZIndex, rValue, -1 );
+ ::sax::Converter::convertNumber( nZIndex, aIter.toView(), -1 );
break;
case XML_ELEMENT(DRAW, XML_CHAIN_NEXT_NAME):
- sNextName = rValue;
+ sNextName = aIter.toString();
break;
case XML_ELEMENT(XLINK, XML_HREF):
- sHRef = rValue;
+ sHRef = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_TRANSFORM):
{
@@ -997,7 +996,7 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
// but is not generally available (as it should be, a 'current' UnitConverter should
// be available at GetExport() - and maybe was once). May have to be addressed as soon
// as translate transformations are used here.
- aSdXMLImExTransform2D.SetString(rValue, GetImport().GetMM100UnitConverter());
+ aSdXMLImExTransform2D.SetString(aIter.toString(), GetImport().GetMM100UnitConverter());
aSdXMLImExTransform2D.GetFullTransform(aFullTransform);
if(!aFullTransform.isIdentity())
@@ -1045,32 +1044,32 @@ XMLTextFrameContext_Impl::XMLTextFrameContext_Impl(
}
break;
case XML_ELEMENT(DRAW, XML_CODE):
- sCode = rValue;
+ sCode = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_OBJECT):
break;
case XML_ELEMENT(DRAW, XML_ARCHIVE):
break;
case XML_ELEMENT(DRAW, XML_MAY_SCRIPT):
- bMayScript = IsXMLToken( rValue, XML_TRUE );
+ bMayScript = IsXMLToken( aIter, XML_TRUE );
break;
case XML_ELEMENT(DRAW, XML_MIME_TYPE):
case XML_ELEMENT(LO_EXT, XML_MIME_TYPE):
- sMimeType = rValue;
+ sMimeType = aIter.toString();
break;
case XML_ELEMENT(DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES):
case XML_ELEMENT(DRAW, XML_NOTIFY_ON_UPDATE_OF_TABLE):
- sTblName = rValue;
+ sTblName = aIter.toString();
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nElement, rValue);
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
};
for( auto& aIter : sax_fastparser::castToFastAttributeList(rAttrList) )
- processAttr(aIter.getToken(), aIter.toString());
+ processAttr(aIter.getToken(), aIter);
for( auto& aIter : sax_fastparser::castToFastAttributeList(rFrameAttrList) )
- processAttr(aIter.getToken(), aIter.toString());
+ processAttr(aIter.getToken(), aIter);
if( ( (XML_TEXT_FRAME_GRAPHIC == nType ||
XML_TEXT_FRAME_OBJECT == nType ||
@@ -1354,8 +1353,7 @@ XMLTextFrameContext::XMLTextFrameContext(
case XML_ELEMENT(TEXT, XML_ANCHOR_TYPE):
{
TextContentAnchorType eNew;
- if( XMLAnchorTypePropHdl::convert( aIter.toString(),
- eNew ) &&
+ if( XMLAnchorTypePropHdl::convert( aIter.toString(), eNew ) &&
( TextContentAnchorType_AT_PARAGRAPH == eNew ||
TextContentAnchorType_AT_CHARACTER == eNew ||
TextContentAnchorType_AS_CHARACTER == eNew ||
diff --git a/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx b/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
index a6e717f2a879..240d9776b519 100644
--- a/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
+++ b/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
@@ -49,25 +49,24 @@ XMLTextFrameHyperlinkContext::XMLTextFrameHyperlinkContext(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XLINK, XML_HREF):
- sHRef = GetImport().GetAbsoluteReference( sValue );
+ sHRef = GetImport().GetAbsoluteReference( aIter.toString() );
break;
case XML_ELEMENT(OFFICE, XML_NAME):
- sName = sValue;
+ sName = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_TARGET_FRAME_NAME):
- sTargetFrameName = sValue;
+ sTargetFrameName = aIter.toString();
break;
case XML_ELEMENT(XLINK, XML_SHOW):
- sShow = sValue;
+ sShow = aIter.toString();
break;
case XML_ELEMENT(OFFICE, XML_SERVER_MAP):
{
bool bTmp(false);
- if (::sax::Converter::convertBool( bTmp, sValue ))
+ if (::sax::Converter::convertBool( bTmp, aIter.toView() ))
{
bMap = bTmp;
}
diff --git a/xmloff/source/text/XMLTextListBlockContext.cxx b/xmloff/source/text/XMLTextListBlockContext.cxx
index 28e86eeac159..9240413a004b 100644
--- a/xmloff/source/text/XMLTextListBlockContext.cxx
+++ b/xmloff/source/text/XMLTextListBlockContext.cxx
@@ -84,7 +84,6 @@ XMLTextListBlockContext::XMLTextListBlockContext(
bool bIsContinueNumberingAttributePresent( false );
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XML, XML_ID):
@@ -92,20 +91,20 @@ XMLTextListBlockContext::XMLTextListBlockContext(
// xml:id is also the list ID (#i92221#)
if ( mnLevel == 0 ) // root <list> element
{
- msListId = sValue;
+ msListId = aIter.toString();
}
break;
case XML_ELEMENT(TEXT, XML_CONTINUE_NUMBERING):
- mbRestartNumbering = !IsXMLToken(sValue, XML_TRUE);
+ mbRestartNumbering = !IsXMLToken(aIter, XML_TRUE);
bIsContinueNumberingAttributePresent = true;
break;
case XML_ELEMENT(TEXT, XML_STYLE_NAME):
- msListStyleName = sValue;
+ msListStyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_CONTINUE_LIST):
if ( mnLevel == 0 ) // root <list> element
{
- msContinueListId = sValue;
+ msContinueListId = aIter.toString();
}
break;
default:
diff --git a/xmloff/source/text/XMLTextShapeImportHelper.cxx b/xmloff/source/text/XMLTextShapeImportHelper.cxx
index 3c64ffd58e0a..74f8a7a49b26 100644
--- a/xmloff/source/text/XMLTextShapeImportHelper.cxx
+++ b/xmloff/source/text/XMLTextShapeImportHelper.cxx
@@ -88,14 +88,13 @@ void XMLTextShapeImportHelper::addShape(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- const OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(TEXT, XML_ANCHOR_TYPE):
{
TextContentAnchorType eNew;
// OD 2004-06-01 #i26791# - allow all anchor types
- if ( XMLAnchorTypePropHdl::convert( sValue, eNew ) )
+ if ( XMLAnchorTypePropHdl::convert( aIter.toString(), eNew ) )
{
eAnchorType = eNew;
}
@@ -104,13 +103,13 @@ void XMLTextShapeImportHelper::addShape(
case XML_ELEMENT(TEXT, XML_ANCHOR_PAGE_NUMBER):
{
sal_Int32 nTmp;
- if (::sax::Converter::convertNumber(nTmp, sValue, 1, SHRT_MAX))
+ if (::sax::Converter::convertNumber(nTmp, aIter.toView(), 1, SHRT_MAX))
nPage = static_cast<sal_Int16>(nTmp);
}
break;
case XML_ELEMENT(SVG, XML_Y):
case XML_ELEMENT(SVG_COMPAT, XML_Y):
- rImport.GetMM100UnitConverter().convertMeasureToCore( nY, sValue );
+ rImport.GetMM100UnitConverter().convertMeasureToCore( nY, aIter.toString() );
break;
}
}
diff --git a/xmloff/source/text/XMLTrackedChangesImportContext.cxx b/xmloff/source/text/XMLTrackedChangesImportContext.cxx
index 630feb6a1db0..63e0d1497764 100644
--- a/xmloff/source/text/XMLTrackedChangesImportContext.cxx
+++ b/xmloff/source/text/XMLTrackedChangesImportContext.cxx
@@ -54,7 +54,7 @@ void XMLTrackedChangesImportContext::startFastElement( sal_Int32 /*nElement*/,
if (aIter.getToken() == XML_ELEMENT(TEXT, XML_TRACK_CHANGES) )
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aIter.toString()))
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()))
{
bTrackChanges = bTmp;
}
diff --git a/xmloff/source/text/txtdropi.cxx b/xmloff/source/text/txtdropi.cxx
index b188f39b5bfe..66b219884b44 100644
--- a/xmloff/source/text/txtdropi.cxx
+++ b/xmloff/source/text/txtdropi.cxx
@@ -47,23 +47,21 @@ void XMLTextDropCapImportContext::ProcessAttrs(
sal_Int32 nTmp;
for (auto &aIter : sax_fastparser::castToFastAttributeList(xAttrList))
{
- const OUString sValue = aIter.toString();
-
switch( aIter.getToken() )
{
case XML_ELEMENT(STYLE, XML_LINES):
- if (::sax::Converter::convertNumber( nTmp, sValue, 0, 255 ))
+ if (::sax::Converter::convertNumber( nTmp, aIter.toView(), 0, 255 ))
{
aFormat.Lines = nTmp < 2 ? 0 : static_cast<sal_Int8>(nTmp);
}
break;
case XML_ELEMENT(STYLE, XML_LENGTH):
- if( IsXMLToken( sValue, XML_WORD ) )
+ if( IsXMLToken( aIter, XML_WORD ) )
{
bWholeWord = true;
}
- else if (::sax::Converter::convertNumber( nTmp, sValue, 1, 255 ))
+ else if (::sax::Converter::convertNumber( nTmp, aIter.toView(), 1, 255 ))
{
bWholeWord = false;
aFormat.Count = static_cast<sal_Int8>(nTmp);
@@ -72,14 +70,14 @@ void XMLTextDropCapImportContext::ProcessAttrs(
case XML_ELEMENT(STYLE, XML_DISTANCE):
if (GetImport().GetMM100UnitConverter().convertMeasureToCore(
- nTmp, sValue, 0 ))
+ nTmp, aIter.toView(), 0 ))
{
aFormat.Distance = static_cast<sal_uInt16>(nTmp);
}
break;
case XML_ELEMENT(STYLE, XML_STYLE_NAME):
- sStyleName = sValue;
+ sStyleName = aIter.toString();
break;
default:
diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx
index 53794de8a9f7..f0cc32b3a33c 100644
--- a/xmloff/source/text/txtfldi.cxx
+++ b/xmloff/source/text/txtfldi.cxx
@@ -2665,7 +2665,7 @@ void XMLDdeFieldDeclImportContext::startFastElement(
case XML_ELEMENT(OFFICE, XML_AUTOMATIC_UPDATE):
{
bool bTmp(false);
- if (::sax::Converter::convertBool(bTmp, aIter.toString()) )
+ if (::sax::Converter::convertBool(bTmp, aIter.toView()) )
{
bUpdate = bTmp;
}
@@ -3445,19 +3445,18 @@ static bool lcl_ProcessLabel(
bool bValid = false;
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch (aIter.getToken())
{
case XML_ELEMENT(TEXT, XML_VALUE):
{
- rLabel = sValue;
+ rLabel = aIter.toString();
bValid = true;
break;
}
case XML_ELEMENT(TEXT, XML_CURRENT_SELECTED):
{
bool bTmp(false);
- if (::sax::Converter::convertBool( bTmp, sValue ))
+ if (::sax::Converter::convertBool( bTmp, aIter.toView() ))
rIsSelected = bTmp;
break;
}
diff --git a/xmloff/source/text/txtparai.cxx b/xmloff/source/text/txtparai.cxx
index 733946a98b40..2319af663736 100644
--- a/xmloff/source/text/txtparai.cxx
+++ b/xmloff/source/text/txtparai.cxx
@@ -1637,38 +1637,37 @@ XMLParaContext::XMLParaContext(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XML, XML_ID):
- m_sXmlId = sValue;
+ m_sXmlId = aIter.toString();
bHaveXmlId = true;
break;
case XML_ELEMENT(XHTML, XML_ABOUT):
- m_sAbout = sValue;
+ m_sAbout = aIter.toString();
m_bHaveAbout = true;
break;
case XML_ELEMENT(XHTML, XML_PROPERTY):
- m_sProperty = sValue;
+ m_sProperty = aIter.toString();
break;
case XML_ELEMENT(XHTML, XML_CONTENT):
- m_sContent = sValue;
+ m_sContent = aIter.toString();
break;
case XML_ELEMENT(XHTML, XML_DATATYPE):
- m_sDatatype = sValue;
+ m_sDatatype = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_ID):
- if (!bHaveXmlId) { m_sXmlId = sValue; }
+ if (!bHaveXmlId) { m_sXmlId = aIter.toString(); }
break;
case XML_ELEMENT(TEXT, XML_STYLE_NAME):
- sStyleName = sValue;
+ sStyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_COND_STYLE_NAME):
- aCondStyleName = sValue;
+ aCondStyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_OUTLINE_LEVEL):
{
- sal_Int32 nTmp = sValue.toInt32();
+ sal_Int32 nTmp = aIter.toInt32();
if( nTmp > 0 )
{
if( nTmp > 127 )
@@ -1682,28 +1681,27 @@ XMLParaContext::XMLParaContext(
case XML_ELEMENT(LO_EXT, XML_OUTLINE_CONTENT_VISIBLE):
{
bool bBool(false);
- if (::sax::Converter::convertBool(bBool, sValue))
+ if (::sax::Converter::convertBool(bBool, aIter.toView()))
mbOutlineContentVisible = bBool;
}
break;
case XML_ELEMENT(TEXT, XML_IS_LIST_HEADER):
{
bool bBool(false);
- if (::sax::Converter::convertBool(bBool, sValue))
+ if (::sax::Converter::convertBool(bBool, aIter.toView()))
bIsListHeader = bBool;
}
break;
case XML_ELEMENT(TEXT, XML_RESTART_NUMBERING):
{
bool bBool(false);
- if (::sax::Converter::convertBool(bBool, sValue))
+ if (::sax::Converter::convertBool(bBool, aIter.toView()))
bIsRestart = bBool;
}
break;
case XML_ELEMENT(TEXT, XML_START_VALUE):
{
- nStartValue = sal::static_int_cast< sal_Int16 >(
- sValue.toInt32());
+ nStartValue = sal::static_int_cast< sal_Int16 >(aIter.toInt32());
}
break;
default:
@@ -2031,25 +2029,24 @@ XMLNumberedParaContext::XMLNumberedParaContext(
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- OUString sValue = aIter.toString();
switch( aIter.getToken() )
{
case XML_ELEMENT(XML, XML_ID):
//FIXME: there is no UNO API for lists
break;
case XML_ELEMENT(TEXT, XML_LIST_ID):
- m_ListId = sValue;
+ m_ListId = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_LEVEL):
{
- sal_Int32 nTmp = sValue.toInt32();
+ sal_Int32 nTmp = aIter.toInt32();
if ( nTmp >= 1 && nTmp <= SHRT_MAX ) {
m_Level = static_cast<sal_uInt16>(nTmp) - 1;
}
}
break;
case XML_ELEMENT(TEXT, XML_STYLE_NAME):
- StyleName = sValue;
+ StyleName = aIter.toString();
break;
case XML_ELEMENT(TEXT, XML_CONTINUE_NUMBERING):
// this attribute is deprecated
@@ -2057,7 +2054,7 @@ XMLNumberedParaContext::XMLNumberedParaContext(
break;
case XML_ELEMENT(TEXT, XML_START_VALUE):
{
- sal_Int32 nTmp = sValue.toInt32();
+ sal_Int32 nTmp = aIter.toInt32();
if ( nTmp >= 0 && nTmp <= SHRT_MAX ) {
m_StartValue = static_cast<sal_Int16>(nTmp);
}
diff --git a/xmloff/source/text/txtvfldi.cxx b/xmloff/source/text/txtvfldi.cxx
index f112fc88f11c..f9e9a8a2fdba 100644
--- a/xmloff/source/text/txtvfldi.cxx
+++ b/xmloff/source/text/txtvfldi.cxx
@@ -715,7 +715,7 @@ XMLVariableDeclImportContext::XMLVariableDeclImportContext(
{
sal_Int32 nLevel;
bool const bRet = ::sax::Converter::convertNumber(
- nLevel, aIter.toString(), 0,
+ nLevel, aIter.toView(), 0,
GetImport().GetTextImport()->GetChapterNumbering()->
getCount());
if (bRet)