20#ifndef INCLUDED_XMLOFF_XMLEXP_HXX
21#define INCLUDED_XMLOFF_XMLEXP_HXX
27#include <com/sun/star/lang/XUnoTunnel.hpp>
28#include <rtl/ustring.hxx>
39#include <com/sun/star/document/XFilter.hpp>
40#include <com/sun/star/lang/XServiceInfo.hpp>
41#include <com/sun/star/document/XExporter.hpp>
42#include <com/sun/star/lang/XInitialization.hpp>
43#include <com/sun/star/container/XNamed.hpp>
86 namespace frame {
class XModel; }
87 namespace lang {
struct Locale; }
89namespace comphelper {
class UnoInterfaceToUniqueIdentifierMapper; }
112 css::document::XFilter,
113 css::lang::XServiceInfo,
114 css::document::XExporter,
115 css::lang::XInitialization,
116 css::container::XNamed,
117 css::lang::XUnoTunnel>
119 std::unique_ptr<SvXMLExport_Impl>
mpImpl;
121 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
124 css::uno::Reference< css::frame::XModel >
mxModel;
125 css::uno::Reference< css::xml::sax::XDocumentHandler >
mxHandler;
126 css::uno::Reference< css::xml::sax::XExtendedDocumentHandler >
mxExtHandler;
157 SAL_DLLPRIVATE
void InitCtor_();
166 SAL_DLLPRIVATE
void DetermineModelType_();
168 SAL_DLLPRIVATE
void ImplExportMeta();
169 SAL_DLLPRIVATE
void ImplExportSettings();
170 SAL_DLLPRIVATE
void ImplExportStyles();
171 SAL_DLLPRIVATE
void ImplExportAutoStyles();
173 SAL_DLLPRIVATE
void ImplExportMasterStyles();
175 SAL_DLLPRIVATE
void ImplExportContent();
176 virtual void SetBodyAttributes();
177 void GetViewSettingsAndViews(css::uno::Sequence<css::beans::PropertyValue>& rProps);
186 void ResetNamespaceMap();
190 virtual void ExportMeta_();
194 virtual void ExportScripts_();
199 virtual void ExportFontDecls_();
204 virtual void ExportStyles_(
bool bUsed );
215 OUString
const & GetSourceShellID()
const;
216 OUString
const & GetDestinationShellID()
const;
228 virtual void GetViewSettings(css::uno::Sequence<css::beans::PropertyValue>& aProps);
229 virtual void GetConfigurationSettings(css::uno::Sequence<css::beans::PropertyValue>& aProps);
234 css::uno::Sequence< css::beans::PropertyValue >
aSettings;
238 const css::uno::Sequence< css::beans::PropertyValue >& _rSettings )
239 :eGroupName( _eGroupName )
240 ,aSettings( _rSettings )
252 virtual sal_Int32 GetDocumentSpecificSettings( ::std::vector< SettingsGroup >& _out_rSettings );
254 const css::uno::Reference< css::document::XEmbeddedObjectResolver >&
GetEmbeddedResolver()
const {
return mxEmbeddedResolver; }
255 inline void SetEmbeddedResolver( css::uno::Reference< css::document::XEmbeddedObjectResolver >
const & _xEmbeddedResolver );
259 return mxGraphicStorageHandler;
261 void SetGraphicStorageHandler(css::uno::Reference<css::document::XGraphicStorageHandler>
const & rxGraphicStorageHandler);
263 void SetDocHandler(
const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler );
269 const css::uno::Reference< css::uno::XComponentContext >& xContext,
270 OUString
const & implementationName,
271 sal_Int16
const eDefaultMeasureUnit ,
276 const css::uno::Reference< css::uno::XComponentContext >& xContext,
277 OUString
const & implementationName,
278 const OUString& rFileName,
279 sal_Int16
const eDefaultMeasureUnit ,
280 const css::uno::Reference< css::xml::sax::XDocumentHandler > & rHandler);
283 const css::uno::Reference< css::uno::XComponentContext >& xContext,
284 OUString
const & implementationName,
285 const OUString& rFileName,
286 const css::uno::Reference< css::xml::sax::XDocumentHandler > & rHandler,
287 const css::uno::Reference< css::frame::XModel > &,
293 virtual void collectAutoStyles();
296 virtual void SAL_CALL setSourceDocument(
const css::uno::Reference< css::lang::XComponent >& xDoc )
override;
299 virtual sal_Bool SAL_CALL
filter(
const css::uno::Sequence< css::beans::PropertyValue >& aDescriptor )
override;
300 virtual void SAL_CALL cancel()
override;
303 virtual void SAL_CALL initialize(
const css::uno::Sequence< css::uno::Any >& aArguments )
override;
306 virtual OUString SAL_CALL getName( )
override;
307 virtual void SAL_CALL setName(
const OUString& aName )
override;
312 virtual css::
uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) final override;
327 OUString EnsureNamespace(OUString const & i_rNamespace );
331 void CheckAttrList() { (void)
this; }
333 void CheckAttrList();
337 void ClearAttrList();
340 void AddAttribute( sal_uInt16 nPrefix,
const OUString& rName,
341 const OUString& rValue );
344 const OUString& rValue );
348 void AddAttribute(
const OUString& rQName,
349 const OUString& rValue );
350 void AddAttribute(
const OUString& rQName,
365 void AddLanguageTagAttributes( sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc,
366 const css::lang::Locale& rLocale,
bool bWriteEmpty);
371 void AddLanguageTagAttributes( sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc,
372 const LanguageTag& rLanguageTag,
bool bWriteEmpty );
375 void AddAttributeList(
const css::uno::Reference<
376 css::xml::sax::XAttributeList >& xAttrList );
380 css::uno::Reference< css::xml::sax::XAttributeList >
GetXAttrList()
const {
return mxAttrList; }
393 size_t GetInfoID(
const OUString sPersonalInfo )
const {
return mpAuthorIDs->GetInfoID(sPersonalInfo); }
400 void addChaffWhenEncryptedStorage();
405 void collectDataStyles(
bool bFromUsedStyles);
406 virtual void addDataStyle(
const sal_Int32 nNumberFormat,
bool bTimeFormat =
false );
407 virtual void exportDataStyles();
408 virtual void exportAutoDataStyles();
409 virtual OUString getDataStyleName(
const sal_Int32 nNumberFormat,
bool bTimeFormat =
false )
const;
410 sal_Int32 dataStyleForceSystemLanguage(sal_Int32 nFormat)
const;
412 virtual void exportAnnotationMeta(
const css::uno::Reference < css::drawing::XShape >& xShape);
415 const css::uno::Reference< css::frame::XModel > &
421 mxNumberFormatsSupplier = _xNumberFormatSupplier;
422 if ( mxNumberFormatsSupplier.is() &&
mxHandler.is() )
448 inline bool HasFormExport()
const;
451 const css::uno::Reference< css::beans::XPropertySet >&
getExportInfo()
const {
return mxExportInfo; }
462 OUString AddEmbeddedXGraphic(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic, OUString & rOutMimeType, OUString
const & rRequestedName = OUString());
463 bool AddEmbeddedXGraphicAsBase64(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic);
464 bool GetGraphicMimeTypeFromStream(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic, OUString & rOutMimeType);
466 OUString AddEmbeddedObject(
467 const OUString& rEmbeddedObjectURL );
468 bool AddEmbeddedObjectAsBase64(
469 const OUString& rEmbeddedObjectURL );
471 OUString EncodeStyleName(
const OUString& rName,
472 bool *pEncoded=
nullptr )
const;
480 void ExportEmbeddedOwnObject(
481 css::uno::Reference<css::lang::XComponent >
const & rComp );
483 OUString GetRelativeReference(
const OUString& rValue);
486 void StartElement(sal_uInt16 nPrefix,
488 bool bIgnWSOutside );
489 void StartElement(
const OUString& rName,
490 bool bIgnWSOutside );
491 void Characters(
const OUString& rChars);
492 void EndElement(sal_uInt16 nPrefix,
495 void EndElement(
const OUString& rName,
497 void IgnorableWhitespace();
508 const css::uno::Sequence< OUString> & rMsgParams,
510 const OUString& rExceptionMessage,
512 const css::uno::Reference<css::xml::sax::XLocator> & rLocator );
516 const css::uno::Sequence< OUString> & rMsgParams);
518 virtual void DisposingModel();
531 bool writeOutlineStyleAsNormalListStyle()
const;
533 css::uno::Reference< css::embed::XStorage >
const & GetTargetStorage()
const;
536 char const* GetODFVersionAttributeValue()
const;
544 void SAL_DLLPRIVATE AddAttributeIdLegacy(
545 sal_uInt16
const nLegacyPrefix, OUString
const& rValue);
548 void AddAttributeXmlId(css::uno::Reference<css::uno::XInterface>
const & i_xIfc);
551 void AddAttributesRDFa( css::uno::Reference<css::text::XTextContent>
const & i_xTextContent);
553 bool exportTextNumberElement()
const;
556 bool SetNullDateOnUnitConverter();
559 OUString
const & GetImageFilterName()
const;
624 css::uno::Reference< css::document::XEmbeddedObjectResolver >
const & _xEmbeddedResolver )
630 css::uno::Reference<css::document::XGraphicStorageHandler>
const & rxGraphicStorageHandler)
645 const sal_uInt16 nPrefix,
646 const OUString& rName,
647 const bool bIgnoreWhitespaceOutside );
655 bool bIgnWSOutside,
bool bIgnWSInside );
657 const OUString& rName,
658 bool bIgnWSOutside,
bool bIgnWSInside );
661 bool bIgnWSOutside,
bool bIgnWSInside );
663 bool bIgnWSOutside,
bool bIgnWSInside );
669 bool bIgnWSOutside,
bool bIgnWSInside );
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
css::uno::Reference< css::frame::XModel2 > mxModel
const uno::Reference< uno::XComponentContext > m_xContext
With this class you can export a <chart:chart> element containing its data as <table:table> element o...
SvXMLElementExport(SvXMLExport &rExp, sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, bool bIgnWSOutside, bool bIgnWSInside)
const bool mbIgnoreWhitespaceInside
SvXMLElementExport(SvXMLExport &rExp, bool bDoSomething, sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, bool bIgnWSOutside, bool bIgnWSInside)
rtl::Reference< XMLShapeExport > mxShapeExport
const SvXMLNamespaceMap & GetNamespaceMap() const
css::uno::Reference< css::document::XEmbeddedObjectResolver > mxEmbeddedResolver
std::unique_ptr< SvXMLExport_Impl > mpImpl
SvXMLExport(const css::uno::Reference< css::uno::XComponentContext > &xContext, OUString const &implementationName, const OUString &rFileName, sal_Int16 const eDefaultMeasureUnit, const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler)
css::uno::Reference< css::frame::XModel > mxModel
const css::uno::Reference< css::task::XStatusIndicator > & GetStatusIndicator() const
virtual XMLFontAutoStylePool * CreateFontAutoStylePool()
void SetError(sal_Int32 nId, const css::uno::Sequence< OUString > &rMsgParams, const OUString &rExceptionMessage, const css::uno::Reference< css::xml::sax::XLocator > &rLocator)
Record an error condition that occurred during export.
rtl::Reference< SchXMLExportHelper > mxChartExport
css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > mxExtHandler
std::unique_ptr< ProgressBarHelper > mpProgressBarHelper
std::unique_ptr< XMLErrors > mpXMLErrors
bool HasFormExport() const
OUString m_implementationName
rtl::Reference< XMLTextParagraphExport > const & GetTextParagraphExport()
SvXMLExport(const css::uno::Reference< css::uno::XComponentContext > &xContext, OUString const &implementationName, const OUString &rFileName, const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler, const css::uno::Reference< css::frame::XModel > &, FieldUnit const eDefaultFieldUnit, SvXMLExportFlags nExportFlag)
css::uno::Reference< css::xml::sax::XDocumentHandler > mxHandler
bool mbAutoStylesCollected
std::unique_ptr< XMLEventExport > mpEventExport
SvXMLExportFlags getExportFlags() const
css::uno::Reference< css::util::XNumberFormatsSupplier > & GetNumberFormatsSupplier()
SvXMLExport(const css::uno::Reference< css::uno::XComponentContext > &xContext, OUString const &implementationName, sal_Int16 const eDefaultMeasureUnit, const enum ::xmloff::token::XMLTokenEnum eClass, SvXMLExportFlags nExportFlag)
SvXMLNamespaceMap & GetNamespaceMap_()
void SetError(sal_Int32 nId, const css::uno::Sequence< OUString > &rMsgParams)
virtual void ExportContent_()=0
Override this method to export the content of <office:body>.
SvXMLUnitConverter maUnitConv
rtl::Reference< SchXMLExportHelper > const & GetChartExport()
const css::uno::Reference< css::frame::XModel > & GetModel() const
virtual SvXMLAutoStylePoolP * CreateAutoStylePool()
SchXMLExportHelper * CreateChartExport()
enum ::xmloff::token::XMLTokenEnum meClass
SvtModuleOptions::EFactory GetModelType() const
rtl::Reference< SvXMLAutoStylePoolP > mxAutoStylePool
rtl::Reference< XMLFontAutoStylePool > const & GetFontAutoStylePool()
SvXMLAttributeList & GetAttrList()
virtual XMLPageExport * CreatePageExport()
css::uno::Reference< css::document::XGraphicStorageHandler > mxGraphicStorageHandler
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Reference< css::beans::XPropertySet > mxExportInfo
rtl::Reference< XMLPageExport > const & GetPageExport()
css::uno::Reference< css::xml::sax::XAttributeList > GetXAttrList() const
void AddAttribute(sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, enum ::xmloff::token::XMLTokenEnum eValue)
virtual void ExportAutoStyles_()=0
Override this method to export the contents of <style:auto-styles>.
std::unique_ptr< SvtSecurityMapPersonalInfo > mpAuthorIDs
const css::uno::Reference< css::xml::sax::XDocumentHandler > & GetDocHandler() const
std::unique_ptr< XMLImageMapExport > mpImageMapExport
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
std::unique_ptr< SvXMLNamespaceMap > mpNamespaceMap
rtl::Reference< XMLShapeExport > const & GetShapeExport()
rtl::Reference< SvXMLAutoStylePoolP > const & GetAutoStylePool()
rtl::Reference< SvXMLAttributeList > mxAttrList
const css::uno::Reference< css::document::XEmbeddedObjectResolver > & GetEmbeddedResolver() const
rtl::Reference< XMLTextParagraphExport > mxTextParagraphExport
virtual XMLTextParagraphExport * CreateTextParagraphExport()
rtl::Reference< XMLPageExport > mxPageExport
SvtModuleOptions::EFactory meModelType
rtl::Reference< XMLFontAutoStylePool > mxFontAutoStylePool
css::uno::Reference< css::lang::XEventListener > mxEventListener
rtl::Reference< xmloff::OFormLayerXMLExport > mxFormExport
const css::uno::Reference< css::beans::XPropertySet > & getExportInfo() const
virtual void ExportMasterStyles_()=0
Override this method to export the contents of <style:master-styles>.
const css::uno::Reference< css::uno::XComponentContext > & getComponentContext() const
rtl::Reference< xmloff::OFormLayerXMLExport > const & GetFormExport()
void setExportFlags(SvXMLExportFlags nExportFlags)
const SvXMLUnitConverter & GetMM100UnitConverter() const
SvXMLExportFlags mnExportFlags
void SetEmbeddedResolver(css::uno::Reference< css::document::XEmbeddedObjectResolver > const &_xEmbeddedResolver)
const OUString & GetOrigFileName() const
virtual XMLShapeExport * CreateShapeExport()
size_t GetInfoID(const OUString sPersonalInfo) const
SvXMLErrorFlags mnErrorFlags
const css::uno::Reference< css::document::XGraphicStorageHandler > & GetGraphicStorageHandler() const
css::uno::Reference< css::util::XNumberFormatsSupplier > mxNumberFormatsSupplier
xmloff::OFormLayerXMLExport * CreateFormExport()
SvXMLUnitConverter & GetMM100UnitConverter()
bool mbSaveLinkedSections
void SetGraphicStorageHandler(css::uno::Reference< css::document::XGraphicStorageHandler > const &rxGraphicStorageHandler)
bool IsSaveLinkedSections() const
void SetNumberFormatsSupplier(const css::uno::Reference< css::util::XNumberFormatsSupplier > &_xNumberFormatSupplier)
void AddAttribute(sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, const OUString &rValue)
std::unique_ptr< SvXMLNumFmtExport > mpNumExport
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
The XMLErrors is used to collect all errors and warnings that occur for appropriate processing.
Export instances of EventsSupplier services.
Export an ImageMap as defined by service com.sun.star.image.ImageMap to XML.
class SAL_NO_VTABLE XPropertySet
OUString getImplementationName()
XMLTokenEnum
The enumeration of all XML tokens.
css::uno::Sequence< css::beans::PropertyValue > aSettings
SettingsGroup(const ::xmloff::token::XMLTokenEnum _eGroupName, const css::uno::Sequence< css::beans::PropertyValue > &_rSettings)
::xmloff::token::XMLTokenEnum eGroupName
rtl::Reference< FragmentHandler > mxHandler