summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel <noelgrandin@gmail.com>2020-11-19 13:51:21 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-11-19 19:30:34 +0100
commit39d8ee8f91f4c571030b53febdcba07ea55ca7de (patch)
tree391177df112fddd4256f0cc7821bee4aad181cc3 /xmloff
parent2d72bc353b9d086e3eb3f9cf00a034c86f13ca21 (diff)
fastparser in TokenContext
Change-Id: I12c2af505d4bf19d94fb127cda2403f0b6618b07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106159 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/source/xforms/SchemaContext.cxx24
-rw-r--r--xmloff/source/xforms/SchemaContext.hxx8
-rw-r--r--xmloff/source/xforms/SchemaRestrictionContext.cxx46
-rw-r--r--xmloff/source/xforms/SchemaRestrictionContext.hxx8
-rw-r--r--xmloff/source/xforms/SchemaSimpleTypeContext.cxx24
-rw-r--r--xmloff/source/xforms/SchemaSimpleTypeContext.hxx8
-rw-r--r--xmloff/source/xforms/TokenContext.cxx40
-rw-r--r--xmloff/source/xforms/TokenContext.hxx25
-rw-r--r--xmloff/source/xforms/XFormsBindContext.cxx11
-rw-r--r--xmloff/source/xforms/XFormsBindContext.hxx8
-rw-r--r--xmloff/source/xforms/XFormsInstanceContext.cxx10
-rw-r--r--xmloff/source/xforms/XFormsInstanceContext.hxx8
-rw-r--r--xmloff/source/xforms/XFormsModelContext.cxx48
-rw-r--r--xmloff/source/xforms/XFormsModelContext.hxx9
-rw-r--r--xmloff/source/xforms/XFormsSubmissionContext.cxx10
-rw-r--r--xmloff/source/xforms/XFormsSubmissionContext.hxx8
-rw-r--r--xmloff/source/xforms/xformsimport.cxx8
17 files changed, 76 insertions, 227 deletions
diff --git a/xmloff/source/xforms/SchemaContext.cxx b/xmloff/source/xforms/SchemaContext.cxx
index 6b779fe77837..0ab3fdeefde6 100644
--- a/xmloff/source/xforms/SchemaContext.cxx
+++ b/xmloff/source/xforms/SchemaContext.cxx
@@ -25,11 +25,12 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnamespace.hxx>
#include <xmloff/xmltkmap.hxx>
+#include <xmloff/xmlimp.hxx>
#include <com/sun/star/xforms/XDataTypeRepository.hpp>
using com::sun::star::uno::Reference;
-using com::sun::star::xml::sax::XAttributeList;
+using com::sun::star::xml::sax::XFastAttributeList;
using com::sun::star::xforms::XDataTypeRepository;
using namespace xmloff::token;
@@ -39,18 +40,10 @@ const SvXMLTokenMapEntry aAttributes[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMapEntry aChildren[] =
-{
- TOKEN_MAP_ENTRY( XSD, SIMPLETYPE ),
- XML_TOKEN_MAP_END
-};
-
SchemaContext::SchemaContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const Reference<XDataTypeRepository>& rRepository ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributes, aChildren ),
+ TokenContext( rImport, aAttributes ),
mxRepository( rRepository )
{
}
@@ -62,14 +55,11 @@ void SchemaContext::HandleAttribute(
}
SvXMLImportContext* SchemaContext::HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList>& )
+ sal_Int32 nElementToken,
+ const Reference<XFastAttributeList>& )
{
- if ( nToken == XML_SIMPLETYPE )
- return new SchemaSimpleTypeContext( GetImport(), nPrefix, rLocalName,
- mxRepository );
+ if ( nElementToken == XML_ELEMENT(XSD, XML_SIMPLETYPE) )
+ return new SchemaSimpleTypeContext( GetImport(), mxRepository );
return nullptr;
}
diff --git a/xmloff/source/xforms/SchemaContext.hxx b/xmloff/source/xforms/SchemaContext.hxx
index e679d2855940..b92ec292e9e6 100644
--- a/xmloff/source/xforms/SchemaContext.hxx
+++ b/xmloff/source/xforms/SchemaContext.hxx
@@ -39,8 +39,6 @@ class SchemaContext : public TokenContext
public:
SchemaContext( SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
const css::uno::Reference<css::xforms::XDataTypeRepository>& rRepository );
// implement TokenContext methods:
@@ -51,10 +49,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
#endif
diff --git a/xmloff/source/xforms/SchemaRestrictionContext.cxx b/xmloff/source/xforms/SchemaRestrictionContext.cxx
index f62223dd8f2f..935ae043ce85 100644
--- a/xmloff/source/xforms/SchemaRestrictionContext.cxx
+++ b/xmloff/source/xforms/SchemaRestrictionContext.cxx
@@ -48,7 +48,7 @@ using com::sun::star::uno::Any;
using com::sun::star::uno::makeAny;
using namespace com::sun::star;
using com::sun::star::util::Duration;
-using com::sun::star::xml::sax::XAttributeList;
+using com::sun::star::xml::sax::XFastAttributeList;
using com::sun::star::xforms::XDataTypeRepository;
using namespace xmloff::token;
@@ -59,31 +59,11 @@ const SvXMLTokenMapEntry aAttributes[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMapEntry aChildren[] =
-{
- TOKEN_MAP_ENTRY( XSD, LENGTH ),
- TOKEN_MAP_ENTRY( XSD, MINLENGTH ),
- TOKEN_MAP_ENTRY( XSD, MAXLENGTH ),
- TOKEN_MAP_ENTRY( XSD, MININCLUSIVE ),
- TOKEN_MAP_ENTRY( XSD, MINEXCLUSIVE ),
- TOKEN_MAP_ENTRY( XSD, MAXINCLUSIVE ),
- TOKEN_MAP_ENTRY( XSD, MAXEXCLUSIVE ),
- TOKEN_MAP_ENTRY( XSD, PATTERN ),
- // ??? XML_ENUMERATION
- TOKEN_MAP_ENTRY( XSD, WHITESPACE ),
- TOKEN_MAP_ENTRY( XSD, TOTALDIGITS ),
- TOKEN_MAP_ENTRY( XSD, FRACTIONDIGITS ),
- XML_TOKEN_MAP_END
-};
-
-
SchemaRestrictionContext::SchemaRestrictionContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
Reference<css::xforms::XDataTypeRepository> const & rRepository,
const OUString& sTypeName ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributes, aChildren ),
+ TokenContext( rImport, aAttributes ),
mxRepository( rRepository ),
msTypeName( sTypeName ),
msBaseName()
@@ -212,24 +192,24 @@ static Any xforms_time( const OUString& rValue )
SvXMLImportContext* SchemaRestrictionContext::HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList>& xAttrList )
+ sal_Int32 nElementToken,
+ const Reference<XFastAttributeList>& xAttrList )
{
// find value
OUString sValue;
- sal_Int16 nLength = xAttrList->getLength();
- for( sal_Int16 n = 0; n < nLength; n++ )
+ for( auto& aIter : sax_fastparser::castToFastAttributeList(xAttrList) )
{
- if( IsXMLToken( xAttrList->getNameByIndex( n ), XML_VALUE ) )
- sValue = xAttrList->getValueByIndex( n );
+ if( ( aIter.getToken() & TOKEN_MASK) == XML_VALUE )
+ {
+ sValue = aIter.toString();
+ break;
+ }
}
// determine property name + suitable converter
OUString sPropertyName;
convert_t pConvert = nullptr;
- switch( nToken )
+ switch( nElementToken & TOKEN_MASK )
{
case XML_LENGTH:
sPropertyName = "Length";
@@ -270,7 +250,7 @@ SvXMLImportContext* SchemaRestrictionContext::HandleChild(
// converter is only type dependent.
// first, attribute-dependent prefix
- switch( nToken )
+ switch( nElementToken )
{
case XML_MININCLUSIVE:
sPropertyName = "MinInclusive";
@@ -356,7 +336,7 @@ SvXMLImportContext* SchemaRestrictionContext::HandleChild(
}
}
- return new SvXMLImportContext( GetImport(), nPrefix, rLocalName );
+ return new SvXMLImportContext( GetImport() );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/source/xforms/SchemaRestrictionContext.hxx b/xmloff/source/xforms/SchemaRestrictionContext.hxx
index d5c86a3fb3b2..4c338034184a 100644
--- a/xmloff/source/xforms/SchemaRestrictionContext.hxx
+++ b/xmloff/source/xforms/SchemaRestrictionContext.hxx
@@ -42,8 +42,6 @@ class SchemaRestrictionContext : public TokenContext
public:
SchemaRestrictionContext( SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
css::uno::Reference<css::xforms::XDataTypeRepository> const & rRepository,
const OUString& sTypeName );
@@ -58,10 +56,8 @@ private:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
#endif
diff --git a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
index 0ae42e5fb1c9..7a2c79bf1b84 100644
--- a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
+++ b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
@@ -25,11 +25,12 @@
#include <xmloff/namespacemap.hxx>
#include <xmloff/xmlnamespace.hxx>
#include <xmloff/xmltkmap.hxx>
+#include <xmloff/xmlimp.hxx>
#include <osl/diagnose.h>
using com::sun::star::uno::Reference;
-using com::sun::star::xml::sax::XAttributeList;
+using com::sun::star::xml::sax::XFastAttributeList;
using com::sun::star::xforms::XDataTypeRepository;
using namespace xmloff::token;
@@ -40,18 +41,10 @@ const SvXMLTokenMapEntry aAttributes[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMapEntry aChildren[] =
-{
- TOKEN_MAP_ENTRY( XSD, RESTRICTION ),
- XML_TOKEN_MAP_END
-};
-
SchemaSimpleTypeContext::SchemaSimpleTypeContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const Reference<XDataTypeRepository>& rRepository ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributes, aChildren ),
+ TokenContext( rImport, aAttributes ),
mxRepository( rRepository )
{
}
@@ -67,16 +60,13 @@ void SchemaSimpleTypeContext::HandleAttribute(
}
SvXMLImportContext* SchemaSimpleTypeContext::HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList>& )
+ sal_Int32 nElementToken,
+ const Reference<XFastAttributeList>& )
{
- switch( nToken )
+ switch( nElementToken )
{
- case XML_RESTRICTION:
+ case XML_ELEMENT(XSD, XML_RESTRICTION):
return new SchemaRestrictionContext( GetImport(),
- nPrefix, rLocalName,
mxRepository, msTypeName );
break;
}
diff --git a/xmloff/source/xforms/SchemaSimpleTypeContext.hxx b/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
index da0e4f365866..891a7ff594e9 100644
--- a/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
+++ b/xmloff/source/xforms/SchemaSimpleTypeContext.hxx
@@ -40,8 +40,6 @@ class SchemaSimpleTypeContext : public TokenContext
public:
SchemaSimpleTypeContext( SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
const css::uno::Reference<css::xforms::XDataTypeRepository>& rRepository );
// implement TokenContext methods:
@@ -52,10 +50,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
#endif
diff --git a/xmloff/source/xforms/TokenContext.cxx b/xmloff/source/xforms/TokenContext.cxx
index f6cf9201d0f9..c4549b97bea5 100644
--- a/xmloff/source/xforms/TokenContext.cxx
+++ b/xmloff/source/xforms/TokenContext.cxx
@@ -37,22 +37,9 @@ const SvXMLTokenMapEntry aEmptyMap[1] =
};
TokenContext::TokenContext( SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const SvXMLTokenMapEntry* pAttributes,
- const SvXMLTokenMapEntry* pChildren )
- : SvXMLImportContext( rImport, nPrefix, rLocalName ),
- mpAttributes( pAttributes ),
- mpChildren( pChildren )
-{
-}
-
-TokenContext::TokenContext( SvXMLImport& rImport,
- const SvXMLTokenMapEntry* pAttributes,
- const SvXMLTokenMapEntry* pChildren )
+ const SvXMLTokenMapEntry* pAttributes )
: SvXMLImportContext( rImport ),
- mpAttributes( pAttributes ),
- mpChildren( pChildren )
+ mpAttributes( pAttributes )
{
}
@@ -94,28 +81,15 @@ void TokenContext::StartElement(
}
}
-SvXMLImportContextRef TokenContext::CreateChildContext(
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList>& xAttrList )
+css::uno::Reference< css::xml::sax::XFastContextHandler > TokenContext::createFastChildContext(
+ sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
{
- // call HandleChild for elements in token map. Ignore other content.
-
- SvXMLImportContext* pContext = nullptr;
-
- SAL_WARN_IF( mpChildren == nullptr, "xmloff", "no token map for child elements" );
- SvXMLTokenMap aMap( mpChildren );
- sal_uInt16 nToken = aMap.Get( nPrefix, rLocalName );
- if( nToken != XML_TOK_UNKNOWN )
- {
- // call handle child, and pass down arguments
- pContext = HandleChild( nToken, nPrefix, rLocalName, xAttrList );
- }
-
+ // call handle child, and pass down arguments
+ SvXMLImportContext* pContext = HandleChild( nElement, xAttrList );
// error handling: create default context and generate warning
if( pContext == nullptr )
{
- GetImport().SetError( XMLERROR_UNKNOWN_ELEMENT, rLocalName );
+ GetImport().SetError( XMLERROR_UNKNOWN_ELEMENT, SvXMLImport::getNameFromToken( nElement ) );
}
return pContext;
}
diff --git a/xmloff/source/xforms/TokenContext.hxx b/xmloff/source/xforms/TokenContext.hxx
index 9821a3c8f386..390812a689a9 100644
--- a/xmloff/source/xforms/TokenContext.hxx
+++ b/xmloff/source/xforms/TokenContext.hxx
@@ -25,6 +25,7 @@
namespace com::sun::star {
namespace xml::sax { class XAttributeList; }
+ namespace xml::sax { class XFastAttributeList; }
namespace uno { template<typename T> class Reference; }
}
@@ -39,17 +40,10 @@ class TokenContext : public SvXMLImportContext
{
protected:
const SvXMLTokenMapEntry* mpAttributes; /// static token map
- const SvXMLTokenMapEntry* mpChildren; /// static token map
public:
TokenContext( SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const SvXMLTokenMapEntry* pAttributes,
- const SvXMLTokenMapEntry* pChildren );
- TokenContext( SvXMLImport& rImport,
- const SvXMLTokenMapEntry* pAttributes,
- const SvXMLTokenMapEntry* pChildren );
+ const SvXMLTokenMapEntry* pAttributes );
// implement SvXMLImportContext methods:
@@ -63,10 +57,8 @@ public:
* create a warning for all others. Classes that wish to override
* CreateChildContext may want to call the parent method for
* handling of defaults. */
- virtual SvXMLImportContextRef CreateChildContext(
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(
+ sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override;
/** Create a warning for all non-namespace character
* content. Classes that wish to deal with character content have
@@ -82,13 +74,8 @@ protected:
/** will be called for each child element */
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
-
- // the following attributes are mainly to be used for child
- // context creation
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) = 0;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) = 0;
};
#endif
diff --git a/xmloff/source/xforms/XFormsBindContext.cxx b/xmloff/source/xforms/XFormsBindContext.cxx
index 546faf138d3e..9348fea46b02 100644
--- a/xmloff/source/xforms/XFormsBindContext.cxx
+++ b/xmloff/source/xforms/XFormsBindContext.cxx
@@ -40,6 +40,7 @@ using com::sun::star::uno::makeAny;
using com::sun::star::uno::UNO_QUERY;
using com::sun::star::container::XNameContainer;
using com::sun::star::xml::sax::XAttributeList;
+using com::sun::star::xml::sax::XFastAttributeList;
using com::sun::star::xforms::XModel2;
using namespace xmloff::token;
@@ -63,10 +64,8 @@ static void lcl_fillNamespaceContainer( const SvXMLNamespaceMap&,
XFormsBindContext::XFormsBindContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const Reference<XModel2>& xModel ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributeMap, aEmptyMap ),
+ TokenContext( rImport, aAttributeMap ),
mxModel( xModel )
{
// attach binding to model
@@ -131,10 +130,8 @@ void XFormsBindContext::StartElement(
/** will be called for each child element */
SvXMLImportContext* XFormsBindContext::HandleChild(
- sal_uInt16,
- sal_uInt16,
- const OUString&,
- const Reference<XAttributeList>& )
+ sal_Int32,
+ const Reference<XFastAttributeList>& )
{
OSL_FAIL( "no children supported" );
return nullptr;
diff --git a/xmloff/source/xforms/XFormsBindContext.hxx b/xmloff/source/xforms/XFormsBindContext.hxx
index 86a11f5ffb1c..46fc38df4d43 100644
--- a/xmloff/source/xforms/XFormsBindContext.hxx
+++ b/xmloff/source/xforms/XFormsBindContext.hxx
@@ -40,8 +40,6 @@ class XFormsBindContext : public TokenContext
public:
XFormsBindContext( SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const css::uno::Reference<css::xforms::XModel2>& xModel );
// implement SvXMLImportContext & TokenContext methods:
@@ -54,10 +52,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nNamespace,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
diff --git a/xmloff/source/xforms/XFormsInstanceContext.cxx b/xmloff/source/xforms/XFormsInstanceContext.cxx
index 80dcc3739999..86e11cff4132 100644
--- a/xmloff/source/xforms/XFormsInstanceContext.cxx
+++ b/xmloff/source/xforms/XFormsInstanceContext.cxx
@@ -55,10 +55,8 @@ const SvXMLTokenMapEntry aAttributes[] =
XFormsInstanceContext::XFormsInstanceContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const Reference<XModel2> & xModel ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributes, aEmptyMap ),
+ TokenContext( rImport, aAttributes ),
mxModel( xModel )
{
SAL_WARN_IF( !mxModel.is(), "xmloff", "need model" );
@@ -124,10 +122,8 @@ void XFormsInstanceContext::HandleAttribute(
}
SvXMLImportContext* XFormsInstanceContext::HandleChild(
- sal_uInt16,
- sal_uInt16,
- const OUString&,
- const Reference<XAttributeList>& )
+ sal_Int32,
+ const Reference<css::xml::sax::XFastAttributeList>& )
{
OSL_FAIL( "to be handled by CreateChildContext" );
return nullptr;
diff --git a/xmloff/source/xforms/XFormsInstanceContext.hxx b/xmloff/source/xforms/XFormsInstanceContext.hxx
index 651bbf2466c3..337a6934e039 100644
--- a/xmloff/source/xforms/XFormsInstanceContext.hxx
+++ b/xmloff/source/xforms/XFormsInstanceContext.hxx
@@ -43,8 +43,6 @@ class XFormsInstanceContext : public TokenContext
public:
XFormsInstanceContext( SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName,
const css::uno::Reference<css::xforms::XModel2> & xModel );
// implement SvXMLImportContext & TokenContext methods:
@@ -63,10 +61,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nNamespace,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
#endif
diff --git a/xmloff/source/xforms/XFormsModelContext.cxx b/xmloff/source/xforms/XFormsModelContext.cxx
index 0ccb9be98461..966b93837edc 100644
--- a/xmloff/source/xforms/XFormsModelContext.cxx
+++ b/xmloff/source/xforms/XFormsModelContext.cxx
@@ -51,26 +51,8 @@ const SvXMLTokenMapEntry aAttributes[] =
XML_TOKEN_MAP_END
};
-const SvXMLTokenMapEntry aChildren[] =
-{
- TOKEN_MAP_ENTRY( XFORMS, INSTANCE ),
- TOKEN_MAP_ENTRY( XFORMS, BIND ),
- TOKEN_MAP_ENTRY( XFORMS, SUBMISSION ),
- TOKEN_MAP_ENTRY( XSD, SCHEMA ),
- XML_TOKEN_MAP_END
-};
-
-
-XFormsModelContext::XFormsModelContext( SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributes, aChildren ),
- mxModel( xforms_createXFormsModel() )
-{
-}
-
XFormsModelContext::XFormsModelContext( SvXMLImport& rImport ) :
- TokenContext( rImport, aAttributes, aChildren ),
+ TokenContext( rImport, aAttributes ),
mxModel( xforms_createXFormsModel() )
{
}
@@ -94,30 +76,24 @@ void XFormsModelContext::HandleAttribute(
}
SvXMLImportContext* XFormsModelContext::HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const Reference<XAttributeList>& )
+ sal_Int32 nElementToken,
+ const Reference<css::xml::sax::XFastAttributeList>& )
{
SvXMLImportContext* pContext = nullptr;
- switch( nToken )
+ switch( nElementToken )
{
- case XML_INSTANCE:
- pContext = new XFormsInstanceContext( GetImport(), nPrefix, rLocalName,
- mxModel );
+ case XML_ELEMENT(XFORMS, XML_INSTANCE):
+ pContext = new XFormsInstanceContext( GetImport(), mxModel );
break;
- case XML_BIND:
- pContext = new XFormsBindContext( GetImport(), nPrefix, rLocalName,
- mxModel );
+ case XML_ELEMENT(XFORMS, XML_BIND):
+ pContext = new XFormsBindContext( GetImport(), mxModel );
break;
- case XML_SUBMISSION:
- pContext = new XFormsSubmissionContext( GetImport(), nPrefix,
- rLocalName, mxModel );
+ case XML_ELEMENT(XFORMS, XML_SUBMISSION):
+ pContext = new XFormsSubmissionContext( GetImport(), mxModel );
break;
- case XML_SCHEMA:
- pContext = new SchemaContext(
- GetImport(), nPrefix, rLocalName, mxModel->getDataTypeRepository() );
+ case XML_ELEMENT(XSD, XML_SCHEMA):
+ pContext = new SchemaContext( GetImport(), mxModel->getDataTypeRepository() );
break;
default:
OSL_FAIL( "Boooo!" );
diff --git a/xmloff/source/xforms/XFormsModelContext.hxx b/xmloff/source/xforms/XFormsModelContext.hxx
index a93a88a3041a..1a23659317f5 100644
--- a/xmloff/source/xforms/XFormsModelContext.hxx
+++ b/xmloff/source/xforms/XFormsModelContext.hxx
@@ -38,9 +38,6 @@ class XFormsModelContext : public TokenContext
css::uno::Reference<css::xforms::XModel2> mxModel;
public:
- XFormsModelContext( SvXMLImport& rImport,
- sal_uInt16 nPrfx,
- const OUString& rLName );
XFormsModelContext( SvXMLImport& rImport );
// implement SvXMLImportContext & TokenContext methods:
@@ -53,10 +50,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
#endif
diff --git a/xmloff/source/xforms/XFormsSubmissionContext.cxx b/xmloff/source/xforms/XFormsSubmissionContext.cxx
index f7e81ecf4c90..e25a8bc2dafa 100644
--- a/xmloff/source/xforms/XFormsSubmissionContext.cxx
+++ b/xmloff/source/xforms/XFormsSubmissionContext.cxx
@@ -63,10 +63,8 @@ const struct SvXMLTokenMapEntry aAttributeMap[] =
XFormsSubmissionContext::XFormsSubmissionContext(
SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const Reference<XModel2>& xModel ) :
- TokenContext( rImport, nPrefix, rLocalName, aAttributeMap, aEmptyMap ),
+ TokenContext( rImport, aAttributeMap ),
mxSubmission()
{
// register submission with model
@@ -150,10 +148,8 @@ void XFormsSubmissionContext::HandleAttribute( sal_uInt16 nToken,
/** will be called for each child element */
SvXMLImportContext* XFormsSubmissionContext::HandleChild(
- sal_uInt16,
- sal_uInt16,
- const OUString&,
- const Reference<XAttributeList>& )
+ sal_Int32,
+ const Reference<css::xml::sax::XFastAttributeList>& )
{
OSL_FAIL( "no children supported" );
return nullptr;
diff --git a/xmloff/source/xforms/XFormsSubmissionContext.hxx b/xmloff/source/xforms/XFormsSubmissionContext.hxx
index f1b1a9019dbb..23d248574e90 100644
--- a/xmloff/source/xforms/XFormsSubmissionContext.hxx
+++ b/xmloff/source/xforms/XFormsSubmissionContext.hxx
@@ -39,8 +39,6 @@ class XFormsSubmissionContext : public TokenContext
public:
XFormsSubmissionContext( SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName,
const css::uno::Reference<css::xforms::XModel2>& xModel );
// implement TokenContext methods:
@@ -50,10 +48,8 @@ protected:
const OUString& rValue ) override;
virtual SvXMLImportContext* HandleChild(
- sal_uInt16 nToken,
- sal_uInt16 nNamespace,
- const OUString& rLocalName,
- const css::uno::Reference<css::xml::sax::XAttributeList>& xAttrList ) override;
+ sal_Int32 nElementToken,
+ const css::uno::Reference<css::xml::sax::XFastAttributeList>& xAttrList ) override;
};
diff --git a/xmloff/source/xforms/xformsimport.cxx b/xmloff/source/xforms/xformsimport.cxx
index a82d8a41da8b..1e4b05295e71 100644
--- a/xmloff/source/xforms/xformsimport.cxx
+++ b/xmloff/source/xforms/xformsimport.cxx
@@ -55,14 +55,6 @@ using com::sun::star::form::submission::XSubmission;
using com::sun::star::form::submission::XSubmissionSupplier;
SvXMLImportContext* createXFormsModelContext(
- SvXMLImport& rImport,
- sal_uInt16 nPrefix,
- const OUString& rLocalName )
-{
- return new XFormsModelContext( rImport, nPrefix, rLocalName );
-}
-
-SvXMLImportContext* createXFormsModelContext(
SvXMLImport& rImport )
{
return new XFormsModelContext( rImport );