24#include <com/sun/star/document/XEventsSupplier.hpp>
35using ::com::sun::star::xml::sax::XAttributeList;
36using ::com::sun::star::beans::PropertyValue;
37using ::com::sun::star::container::XNameReplace;
38using ::com::sun::star::document::XEventsSupplier;
39using ::com::sun::star::lang::IllegalArgumentException;
50 const Reference<XEventsSupplier> & xEventsSupplier) :
52 xEvents(xEventsSupplier->getEvents())
59 const Reference<XNameReplace> & xNameReplace) :
74 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
87 OUString sValue = aIter.toString();
102 return GetImport().GetEventImport().CreateContext(
103 GetImport(), xAttrList,
this, sEventName, sLanguage);
107 const Reference<XEventsSupplier> & xEventsSupplier)
109 if (xEventsSupplier.is())
116 const Reference<XNameReplace> & xNameRepl)
132 const OUString& rName,
133 Sequence<PropertyValue> & rSequence )
145 rSequence = aIter->second;
150 const OUString& rEventName,
151 const Sequence<PropertyValue> & rValues )
157 if (
xEvents->hasByName(rEventName))
161 xEvents->replaceByName(rEventName,
Any(rValues));
162 }
catch (
const IllegalArgumentException & rException )
164 Sequence<OUString> aMsgParams { rEventName };
168 aMsgParams, rException.Message,
nullptr);
::std::pair< OUString, css::uno::Sequence< css::beans::PropertyValue > > EventNameValuesPair
This class deliberately does not support XWeak, to improve performance when loading large documents.
SvXMLImport & GetImport()
XMLEventsImportContext(SvXMLImport &rImport)
css::uno::Reference< css::container::XNameReplace > xEvents
void GetEventSequence(const OUString &rName, css::uno::Sequence< css::beans::PropertyValue > &rSequence)
if the import operates in delayed mode, you can use this method to obtain the value sequence for a sp...
std::vector< EventNameValuesPair > aCollectEvents
void SetEvents(const css::uno::Reference< css::document::XEventsSupplier > &xEventsSupplier)
if the import operates in delayed mode, you can use this method to set all events that have been read...
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
virtual ~XMLEventsImportContext() override
void AddEventValues(const OUString &rEventName, const css::uno::Sequence< css::beans::PropertyValue > &rValues)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
Handling of tokens in XML:
#define XMLERROR_ILLEGAL_EVENT
#define XMLERROR_FLAG_ERROR
#define XML_ELEMENT(prefix, name)