summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-12-15 15:35:03 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-12-17 08:00:23 +0100
commit11382ccf2ff58ba470dfa604654685730e0411f8 (patch)
tree1c05156da569e386f0d65fabcc6b91a3b2207c4b /xmloff
parent9edd554eb634bcb88add30e3290cb9a8650ce38f (diff)
use views to parse
Change-Id: I9c0b89c9463065323b1a86aee21163c97b75bb25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107761 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/xforms/SchemaContext.cxx4
-rw-r--r--xmloff/source/xforms/SchemaContext.hxx4
-rw-r--r--xmloff/source/xforms/SchemaRestrictionContext.cxx8
-rw-r--r--xmloff/source/xforms/SchemaRestrictionContext.hxx4
-rw-r--r--xmloff/source/xforms/SchemaSimpleTypeContext.cxx8
-rw-r--r--xmloff/source/xforms/SchemaSimpleTypeContext.hxx4
-rw-r--r--xmloff/source/xforms/TokenContext.cxx2
-rw-r--r--xmloff/source/xforms/TokenContext.hxx4
-rw-r--r--xmloff/source/xforms/XFormsBindContext.cxx23
-rw-r--r--xmloff/source/xforms/XFormsBindContext.hxx3
-rw-r--r--xmloff/source/xforms/XFormsInstanceContext.cxx12
-rw-r--r--xmloff/source/xforms/XFormsInstanceContext.hxx4
-rw-r--r--xmloff/source/xforms/XFormsModelContext.cxx10
-rw-r--r--xmloff/source/xforms/XFormsModelContext.hxx4
-rw-r--r--xmloff/source/xforms/XFormsSubmissionContext.cxx39
-rw-r--r--xmloff/source/xforms/XFormsSubmissionContext.hxx3
-rw-r--r--xmloff/source/xforms/xformsapi.cxx2
-rw-r--r--xmloff/source/xforms/xformsapi.hxx16
18 files changed, 68 insertions, 86 deletions
diff --git a/xmloff/source/xforms/SchemaContext.cxx b/xmloff/source/xforms/SchemaContext.cxx
index 65341217c623..573805a25164 100644
--- a/xmloff/source/xforms/SchemaContext.cxx
+++ b/xmloff/source/xforms/SchemaContext.cxx
@@ -44,9 +44,7 @@ SchemaContext::SchemaContext(
{
}
-void SchemaContext::HandleAttribute(
- sal_Int32,
- const OUString& )
+void SchemaContext::HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & )
{
}
diff --git a/xmloff/source/xforms/SchemaContext.hxx b/xmloff/source/xforms/SchemaContext.hxx
index bc780d2c4ded..e23ac37ebbbb 100644
--- a/xmloff/source/xforms/SchemaContext.hxx
+++ b/xmloff/source/xforms/SchemaContext.hxx
@@ -44,9 +44,7 @@ public:
// implement TokenContext methods:
protected:
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/SchemaRestrictionContext.cxx b/xmloff/source/xforms/SchemaRestrictionContext.cxx
index 6d496e737ee3..ccbdbe695132 100644
--- a/xmloff/source/xforms/SchemaRestrictionContext.cxx
+++ b/xmloff/source/xforms/SchemaRestrictionContext.cxx
@@ -90,14 +90,12 @@ void SchemaRestrictionContext::CreateDataType()
SAL_WARN_IF( !mxDataType.is(), "xmloff", "can't create type" );
}
-void SchemaRestrictionContext::HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue )
+void SchemaRestrictionContext::HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch (nAttributeToken & TOKEN_MASK)
+ switch (aIter.getToken() & TOKEN_MASK)
{
case XML_BASE:
- msBaseName = rValue;
+ msBaseName = aIter.toString();
break;
}
}
diff --git a/xmloff/source/xforms/SchemaRestrictionContext.hxx b/xmloff/source/xforms/SchemaRestrictionContext.hxx
index b928d78b9105..fdf7873b2a27 100644
--- a/xmloff/source/xforms/SchemaRestrictionContext.hxx
+++ b/xmloff/source/xforms/SchemaRestrictionContext.hxx
@@ -51,9 +51,7 @@ private:
// implement TokenContext methods:
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
index 755f8950f47d..cd245193094f 100644
--- a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
+++ b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
@@ -44,14 +44,12 @@ SchemaSimpleTypeContext::SchemaSimpleTypeContext(
{
}
-void SchemaSimpleTypeContext::HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue )
+void SchemaSimpleTypeContext::HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch (nAttributeToken & TOKEN_MASK)
+ switch (aIter.getToken() & TOKEN_MASK)
{
case XML_NAME:
- msTypeName = rValue;
+ msTypeName = aIter.toString();
break;
}
}
diff --git a/xmloff/source/xforms/SchemaSimpleTypeContext.hxx b/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
index cec535343e5f..a64af99a6a7d 100644
--- a/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
+++ b/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
@@ -45,9 +45,7 @@ public:
// implement TokenContext methods:
protected:
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/TokenContext.cxx b/xmloff/source/xforms/TokenContext.cxx
index 738b8e60641a..928ea8788931 100644
--- a/xmloff/source/xforms/TokenContext.cxx
+++ b/xmloff/source/xforms/TokenContext.cxx
@@ -45,7 +45,7 @@ void TokenContext::startFastElement(
// - other: warning
for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
- HandleAttribute( aIter.getToken(), aIter.toString() );
+ HandleAttribute( aIter );
}
css::uno::Reference< css::xml::sax::XFastContextHandler > TokenContext::createFastChildContext(
diff --git a/xmloff/source/xforms/TokenContext.hxx b/xmloff/source/xforms/TokenContext.hxx
index b2410f9bfab1..57865916ed5a 100644
--- a/xmloff/source/xforms/TokenContext.hxx
+++ b/xmloff/source/xforms/TokenContext.hxx
@@ -64,9 +64,7 @@ public:
protected:
/** will be called for each attribute */
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) = 0;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) = 0;
/** will be called for each child element */
virtual SvXMLImportContext* HandleChild(
diff --git a/xmloff/source/xforms/XFormsBindContext.cxx b/xmloff/source/xforms/XFormsBindContext.cxx
index 3015f31901dc..45a03d4fb455 100644
--- a/xmloff/source/xforms/XFormsBindContext.cxx
+++ b/xmloff/source/xforms/XFormsBindContext.cxx
@@ -59,37 +59,36 @@ XFormsBindContext::XFormsBindContext(
mxModel->getBindings()->insert( makeAny( mxBinding ) );
}
-void XFormsBindContext::HandleAttribute( sal_Int32 nAttributeToken,
- const OUString& rValue )
+void XFormsBindContext::HandleAttribute( const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch( nAttributeToken & TOKEN_MASK )
+ switch( aIter.getToken() & TOKEN_MASK )
{
case XML_NODESET:
- xforms_setValue( mxBinding, "BindingExpression", rValue );
+ xforms_setValue( mxBinding, "BindingExpression", aIter.toString() );
break;
case XML_ID:
- xforms_setValue( mxBinding, "BindingID", rValue );
+ xforms_setValue( mxBinding, "BindingID", aIter.toString() );
break;
case XML_READONLY:
- xforms_setValue( mxBinding, "ReadonlyExpression", rValue );
+ xforms_setValue( mxBinding, "ReadonlyExpression", aIter.toString() );
break;
case XML_RELEVANT:
- xforms_setValue( mxBinding, "RelevantExpression", rValue );
+ xforms_setValue( mxBinding, "RelevantExpression", aIter.toString() );
break;
case XML_REQUIRED:
- xforms_setValue( mxBinding, "RequiredExpression", rValue );
+ xforms_setValue( mxBinding, "RequiredExpression", aIter.toString() );
break;
case XML_CONSTRAINT:
- xforms_setValue( mxBinding, "ConstraintExpression", rValue );
+ xforms_setValue( mxBinding, "ConstraintExpression", aIter.toString() );
break;
case XML_CALCULATE:
- xforms_setValue( mxBinding, "CalculateExpression", rValue );
+ xforms_setValue( mxBinding, "CalculateExpression", aIter.toString() );
break;
case XML_TYPE:
xforms_setValue( mxBinding, "Type",
- makeAny( xforms_getTypeName( mxModel->getDataTypeRepository(),
+ xforms_getTypeName( mxModel->getDataTypeRepository(),
GetImport().GetNamespaceMap(),
- rValue ) ) );
+ aIter.toString() ) );
break;
default:
assert( false && "should not happen" );
diff --git a/xmloff/source/xforms/XFormsBindContext.hxx b/xmloff/source/xforms/XFormsBindContext.hxx
index 9498851ef072..dbdcd1e6d996 100644
--- a/xmloff/source/xforms/XFormsBindContext.hxx
+++ b/xmloff/source/xforms/XFormsBindContext.hxx
@@ -49,8 +49,7 @@ public:
const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList ) override;
protected:
- virtual void HandleAttribute( sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute( const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/XFormsInstanceContext.cxx b/xmloff/source/xforms/XFormsInstanceContext.cxx
index 20af1580c588..66a5f1b149ba 100644
--- a/xmloff/source/xforms/XFormsInstanceContext.cxx
+++ b/xmloff/source/xforms/XFormsInstanceContext.cxx
@@ -134,20 +134,18 @@ void XFormsInstanceContext::endUnknownElement(const OUString & /*Namespace*/, co
mxModel->getInstances()->insert( makeAny( aSequence ) );
}
-void XFormsInstanceContext::HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue )
+void XFormsInstanceContext::HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch( nAttributeToken & TOKEN_MASK )
+ switch( aIter.getToken() & TOKEN_MASK )
{
case XML_SRC:
- msURL = rValue;
+ msURL = aIter.toString();
break;
case XML_ID:
- msId = rValue;
+ msId = aIter.toString();
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, rValue);
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
assert( false && "this should not happen" );
break;
}
diff --git a/xmloff/source/xforms/XFormsInstanceContext.hxx b/xmloff/source/xforms/XFormsInstanceContext.hxx
index 68e37be65294..4727c0f4b042 100644
--- a/xmloff/source/xforms/XFormsInstanceContext.hxx
+++ b/xmloff/source/xforms/XFormsInstanceContext.hxx
@@ -60,9 +60,7 @@ public:
virtual void SAL_CALL endUnknownElement(const OUString & Namespace, const OUString & Name) override;
protected:
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/XFormsModelContext.cxx b/xmloff/source/xforms/XFormsModelContext.cxx
index 5a2b4905f55e..e5720d459d85 100644
--- a/xmloff/source/xforms/XFormsModelContext.cxx
+++ b/xmloff/source/xforms/XFormsModelContext.cxx
@@ -50,20 +50,18 @@ XFormsModelContext::XFormsModelContext( SvXMLImport& rImport ) :
{
}
-void XFormsModelContext::HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue )
+void XFormsModelContext::HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch( nAttributeToken & TOKEN_MASK)
+ switch( aIter.getToken() & TOKEN_MASK)
{
case XML_ID:
- mxModel->setPropertyValue( "ID", makeAny( rValue ) );
+ mxModel->setPropertyValue( "ID", makeAny( aIter.toString() ) );
break;
case XML_SCHEMA:
GetImport().SetError( XMLERROR_XFORMS_NO_SCHEMA_SUPPORT );
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, rValue);
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
assert( false && "this should not happen" );
break;
}
diff --git a/xmloff/source/xforms/XFormsModelContext.hxx b/xmloff/source/xforms/XFormsModelContext.hxx
index e2f0e1ee5712..bcf7cd9bdc3c 100644
--- a/xmloff/source/xforms/XFormsModelContext.hxx
+++ b/xmloff/source/xforms/XFormsModelContext.hxx
@@ -45,9 +45,7 @@ public:
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override;
protected:
- virtual void HandleAttribute(
- sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/XFormsSubmissionContext.cxx b/xmloff/source/xforms/XFormsSubmissionContext.cxx
index ec9463437894..9588ee36ee92 100644
--- a/xmloff/source/xforms/XFormsSubmissionContext.cxx
+++ b/xmloff/source/xforms/XFormsSubmissionContext.cxx
@@ -56,7 +56,7 @@ XFormsSubmissionContext::XFormsSubmissionContext(
namespace {
-Any toBool( std::u16string_view rValue )
+Any toBool( std::string_view rValue )
{
Any aValue;
bool bValue(false);
@@ -69,59 +69,58 @@ Any toBool( std::u16string_view rValue )
} // namespace
-void XFormsSubmissionContext::HandleAttribute( sal_Int32 nAttributeToken,
- const OUString& rValue )
+void XFormsSubmissionContext::HandleAttribute( const sax_fastparser::FastAttributeList::FastAttributeIter & aIter )
{
- switch( nAttributeToken & TOKEN_MASK )
+ switch( aIter.getToken() & TOKEN_MASK )
{
case XML_ID:
- xforms_setValue( mxSubmission, "ID", rValue );
+ xforms_setValue( mxSubmission, "ID", aIter.toString() );
break;
case XML_BIND:
- xforms_setValue( mxSubmission, "Bind", rValue );
+ xforms_setValue( mxSubmission, "Bind", aIter.toString() );
break;
case XML_REF:
- xforms_setValue( mxSubmission, "Ref", rValue );
+ xforms_setValue( mxSubmission, "Ref", aIter.toString() );
break;
case XML_ACTION:
- xforms_setValue( mxSubmission, "Action", rValue );
+ xforms_setValue( mxSubmission, "Action", aIter.toString() );
break;
case XML_METHOD:
- xforms_setValue( mxSubmission, "Method", rValue );
+ xforms_setValue( mxSubmission, "Method", aIter.toString() );
break;
case XML_VERSION:
- xforms_setValue( mxSubmission, "Version", rValue );
+ xforms_setValue( mxSubmission, "Version", aIter.toString() );
break;
case XML_INDENT:
- xforms_setValue( mxSubmission, "Indent", toBool( rValue ) );
+ xforms_setValue( mxSubmission, "Indent", toBool( aIter.toView() ) );
break;
case XML_MEDIATYPE:
- xforms_setValue( mxSubmission, "MediaType", rValue );
+ xforms_setValue( mxSubmission, "MediaType", aIter.toString() );
break;
case XML_ENCODING:
- xforms_setValue( mxSubmission, "Encoding", rValue );
+ xforms_setValue( mxSubmission, "Encoding", aIter.toString() );
break;
case XML_OMIT_XML_DECLARATION:
xforms_setValue( mxSubmission, "OmitXmlDeclaration",
- toBool( rValue ) );
+ toBool( aIter.toView() ) );
break;
case XML_STANDALONE:
- xforms_setValue( mxSubmission, "Standalone", toBool( rValue ) );
+ xforms_setValue( mxSubmission, "Standalone", toBool( aIter.toView() ) );
break;
case XML_CDATA_SECTION_ELEMENTS:
- xforms_setValue( mxSubmission, "CDataSectionElement", rValue );
+ xforms_setValue( mxSubmission, "CDataSectionElement", aIter.toString() );
break;
case XML_REPLACE:
- xforms_setValue( mxSubmission, "Replace", rValue );
+ xforms_setValue( mxSubmission, "Replace", aIter.toString() );
break;
case XML_SEPARATOR:
- xforms_setValue( mxSubmission, "Separator", rValue );
+ xforms_setValue( mxSubmission, "Separator", aIter.toString() );
break;
case XML_INCLUDENAMESPACEPREFIXES:
- xforms_setValue( mxSubmission, "IncludeNamespacePrefixes", rValue );
+ xforms_setValue( mxSubmission, "IncludeNamespacePrefixes", aIter.toString() );
break;
default:
- XMLOFF_WARN_UNKNOWN_ATTR("xmloff", nAttributeToken, rValue);
+ XMLOFF_WARN_UNKNOWN("xmloff", aIter);
assert( false && "unknown attribute" );
break;
}
diff --git a/xmloff/source/xforms/XFormsSubmissionContext.hxx b/xmloff/source/xforms/XFormsSubmissionContext.hxx
index 8234e935b87f..3d943ca29476 100644
--- a/xmloff/source/xforms/XFormsSubmissionContext.hxx
+++ b/xmloff/source/xforms/XFormsSubmissionContext.hxx
@@ -44,8 +44,7 @@ public:
// implement TokenContext methods:
protected:
- virtual void HandleAttribute( sal_Int32 nAttributeToken,
- const OUString& rValue ) override;
+ virtual void HandleAttribute( const sax_fastparser::FastAttributeList::FastAttributeIter & aIter ) override;
virtual SvXMLImportContext* HandleChild(
sal_Int32 nElementToken,
diff --git a/xmloff/source/xforms/xformsapi.cxx b/xmloff/source/xforms/xformsapi.cxx
index 3fbccbec4f75..556ade35edef 100644
--- a/xmloff/source/xforms/xformsapi.cxx
+++ b/xmloff/source/xforms/xformsapi.cxx
@@ -164,7 +164,7 @@ Reference<XPropertySet> xforms_findXFormsSubmission(
return lcl_findXFormsBindingOrSubmission( xDocument, rBindingID, false );
}
-void xforms_setValue( Reference<XPropertySet> const & xPropertySet,
+void xforms_setValueAny( Reference<XPropertySet> const & xPropertySet,
const OUString& rName,
const Any& rAny )
{
diff --git a/xmloff/source/xforms/xformsapi.hxx b/xmloff/source/xforms/xformsapi.hxx
index 442937641041..4f9e4073aef6 100644
--- a/xmloff/source/xforms/xformsapi.hxx
+++ b/xmloff/source/xforms/xformsapi.hxx
@@ -44,18 +44,26 @@ css::uno::Reference<css::beans::XPropertySet> xforms_findXFormsBinding( css::uno
css::uno::Reference<css::beans::XPropertySet> xforms_findXFormsSubmission( css::uno::Reference<css::frame::XModel> const &, const OUString& );
-void xforms_setValue(
+void xforms_setValueAny(
css::uno::Reference<css::beans::XPropertySet> const & xPropSet,
const OUString& rName,
const css::uno::Any& rAny );
template<typename T>
-void xforms_setValue(
+inline void xforms_setValue(
css::uno::Reference<css::beans::XPropertySet>& xPropSet,
const OUString& rName,
- T& aValue )
+ const T& aValue )
{
- xforms_setValue( xPropSet, rName, css::uno::makeAny( aValue ) );
+ xforms_setValueAny( xPropSet, rName, css::uno::makeAny( aValue ) );
+}
+template<>
+inline void xforms_setValue(
+ css::uno::Reference<css::beans::XPropertySet>& xPropSet,
+ const OUString& rName,
+ const css::uno::Any& aValue )
+{
+ xforms_setValueAny( xPropSet, rName, aValue );
}
sal_uInt16 xforms_getTypeClass(