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>
84 namespace frame {
class XModel; }
87 namespace comphelper {
class UnoInterfaceToUniqueIdentifierMapper; }
110 css::document::XFilter,
111 css::lang::XServiceInfo,
112 css::document::XExporter,
113 css::lang::XInitialization,
114 css::container::XNamed,
115 css::lang::XUnoTunnel>
117 std::unique_ptr<SvXMLExport_Impl>
mpImpl;
119 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
122 css::uno::Reference< css::frame::XModel >
mxModel;
123 css::uno::Reference< css::xml::sax::XDocumentHandler >
mxHandler;
124 css::uno::Reference< css::xml::sax::XExtendedDocumentHandler >
mxExtHandler;
154 SAL_DLLPRIVATE
void InitCtor_();
163 SAL_DLLPRIVATE
void DetermineModelType_();
165 SAL_DLLPRIVATE
void ImplExportMeta();
166 SAL_DLLPRIVATE
void ImplExportSettings();
167 SAL_DLLPRIVATE
void ImplExportStyles();
168 SAL_DLLPRIVATE
void ImplExportAutoStyles();
170 SAL_DLLPRIVATE
void ImplExportMasterStyles();
172 SAL_DLLPRIVATE
void ImplExportContent();
173 virtual void SetBodyAttributes();
174 void GetViewSettingsAndViews(css::uno::Sequence<css::beans::PropertyValue>& rProps);
183 void ResetNamespaceMap();
187 virtual void ExportMeta_();
191 virtual void ExportScripts_();
196 virtual void ExportFontDecls_();
201 virtual void ExportStyles_(
bool bUsed );
204 virtual void ExportAutoStyles_() = 0;
207 virtual void ExportMasterStyles_() = 0;
210 virtual void ExportContent_() = 0;
212 OUString
const & GetSourceShellID()
const;
213 OUString
const & GetDestinationShellID()
const;
225 virtual void GetViewSettings(css::uno::Sequence<css::beans::PropertyValue>& aProps);
226 virtual void GetConfigurationSettings(css::uno::Sequence<css::beans::PropertyValue>& aProps);
231 css::uno::Sequence< css::beans::PropertyValue >
aSettings;
235 const css::uno::Sequence< css::beans::PropertyValue >& _rSettings )
236 :eGroupName( _eGroupName )
237 ,aSettings( _rSettings )
249 virtual sal_Int32 GetDocumentSpecificSettings( ::std::vector< SettingsGroup >& _out_rSettings );
251 const css::uno::Reference< css::document::XEmbeddedObjectResolver >&
GetEmbeddedResolver()
const {
return mxEmbeddedResolver; }
252 inline void SetEmbeddedResolver( css::uno::Reference< css::document::XEmbeddedObjectResolver >
const & _xEmbeddedResolver );
256 return mxGraphicStorageHandler;
258 void SetGraphicStorageHandler(css::uno::Reference<css::document::XGraphicStorageHandler>
const & rxGraphicStorageHandler);
260 void SetDocHandler(
const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler );
266 const css::uno::Reference< css::uno::XComponentContext >& xContext,
267 OUString
const & implementationName,
268 sal_Int16
const eDefaultMeasureUnit ,
273 const css::uno::Reference< css::uno::XComponentContext >& xContext,
274 OUString
const & implementationName,
275 const OUString& rFileName,
276 sal_Int16
const eDefaultMeasureUnit ,
277 const css::uno::Reference< css::xml::sax::XDocumentHandler > & rHandler);
280 const css::uno::Reference< css::uno::XComponentContext >& xContext,
281 OUString
const & implementationName,
282 const OUString& rFileName,
283 const css::uno::Reference< css::xml::sax::XDocumentHandler > & rHandler,
284 const css::uno::Reference< css::frame::XModel > &,
290 virtual void collectAutoStyles();
293 virtual void SAL_CALL setSourceDocument(
const css::uno::Reference< css::lang::XComponent >& xDoc )
override;
296 virtual sal_Bool SAL_CALL
filter(
const css::uno::Sequence< css::beans::PropertyValue >& aDescriptor )
override;
297 virtual void SAL_CALL cancel()
override;
300 virtual void SAL_CALL initialize(
const css::uno::Sequence< css::uno::Any >& aArguments )
override;
303 virtual OUString SAL_CALL getName( )
override;
304 virtual void SAL_CALL setName(
const OUString& aName )
override;
309 virtual
css::
uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) final override;
324 OUString EnsureNamespace(OUString const & i_rNamespace );
328 void CheckAttrList() { (
void)
this; }
330 void CheckAttrList();
334 void ClearAttrList();
337 void AddAttributeASCII( sal_uInt16 nPrefix,
const char *
pName,
338 const char *pValue );
339 void AddAttribute( sal_uInt16 nPrefix,
const char *
pName,
341 void AddAttribute( sal_uInt16 nPrefix,
const OUString& rName,
343 void AddAttribute( sal_uInt16 nPrefix,
346 void AddAttribute( sal_uInt16 nPrefix,
349 void AddAttribute(
const OUString& rQName,
351 void AddAttribute(
const OUString& rQName,
366 void AddLanguageTagAttributes( sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc,
367 const css::lang::Locale& rLocale,
bool bWriteEmpty);
372 void AddLanguageTagAttributes( sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc,
373 const LanguageTag& rLanguageTag,
bool bWriteEmpty );
376 void AddAttributeList(
const css::uno::Reference<
377 css::xml::sax::XAttributeList >& xAttrList );
381 css::uno::Reference< css::xml::sax::XAttributeList >
GetXAttrList() {
return mxAttrList; }
385 const css::uno::Reference< css::xml::sax::XDocumentHandler > &
GetDocHandler()
const {
return mxHandler; }
398 void addChaffWhenEncryptedStorage();
403 void collectDataStyles(
bool bFromUsedStyles);
404 virtual void addDataStyle(
const sal_Int32 nNumberFormat,
bool bTimeFormat =
false );
405 virtual void exportDataStyles();
406 virtual void exportAutoDataStyles();
407 virtual OUString getDataStyleName(
const sal_Int32 nNumberFormat,
bool bTimeFormat =
false )
const;
408 sal_Int32 dataStyleForceSystemLanguage(sal_Int32 nFormat)
const;
410 virtual void exportAnnotationMeta(
const css::uno::Reference < css::drawing::XShape >& xShape);
413 const css::uno::Reference< css::frame::XModel > &
419 mxNumberFormatsSupplier = _xNumberFormatSupplier;
420 if ( mxNumberFormatsSupplier.is() && mxHandler.is() )
446 inline bool HasFormExport()
const;
449 const css::uno::Reference< css::beans::XPropertySet >&
getExportInfo()
const {
return mxExportInfo; }
451 const css::uno::Reference< css::task::XStatusIndicator >&
GetStatusIndicator()
const {
return mxStatusIndicator; }
460 OUString AddEmbeddedXGraphic(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic, OUString & rOutMimeType, OUString
const & rRequestedName = OUString());
461 bool AddEmbeddedXGraphicAsBase64(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic);
462 bool GetGraphicMimeTypeFromStream(css::uno::Reference<css::graphic::XGraphic>
const & rxGraphic, OUString & rOutMimeType);
464 OUString AddEmbeddedObject(
465 const OUString& rEmbeddedObjectURL );
466 bool AddEmbeddedObjectAsBase64(
467 const OUString& rEmbeddedObjectURL );
469 OUString EncodeStyleName(
const OUString& rName,
470 bool *pEncoded=
nullptr )
const;
478 void ExportEmbeddedOwnObject(
479 css::uno::Reference<css::lang::XComponent >
const & rComp );
481 OUString GetRelativeReference(
const OUString&
rValue);
484 void StartElement(sal_uInt16 nPrefix,
486 bool bIgnWSOutside );
487 void StartElement(
const OUString& rName,
488 bool bIgnWSOutside );
489 void Characters(
const OUString& rChars);
490 void EndElement(sal_uInt16 nPrefix,
493 void EndElement(
const OUString& rName,
495 void IgnorableWhitespace();
506 const css::uno::Sequence< OUString> & rMsgParams,
508 const OUString& rExceptionMessage,
510 const css::uno::Reference<css::xml::sax::XLocator> & rLocator );
514 const css::uno::Sequence< OUString> & rMsgParams);
516 virtual void DisposingModel();
529 bool writeOutlineStyleAsNormalListStyle()
const;
531 css::uno::Reference< css::embed::XStorage >
const & GetTargetStorage()
const;
534 char const* GetODFVersionAttributeValue()
const;
542 void SAL_DLLPRIVATE AddAttributeIdLegacy(
543 sal_uInt16
const nLegacyPrefix, OUString
const&
rValue);
546 void AddAttributeXmlId(css::uno::Reference<css::uno::XInterface>
const & i_xIfc);
549 void AddAttributesRDFa( css::uno::Reference<css::text::XTextContent>
const & i_xTextContent);
551 bool exportTextNumberElement()
const;
554 bool SetNullDateOnUnitConverter();
557 OUString
const & GetImageFilterName()
const;
562 if( !mxTextParagraphExport.is() )
570 if( !mxShapeExport.is() )
578 if( !mxAutoStylePool.is() )
586 if( !mxChartExport.is() )
594 if( !mxPageExport.is() )
602 if( !mxFontAutoStylePool.is() )
610 if( !mxFormExport.is() )
618 return mxFormExport.is();
622 css::uno::Reference< css::document::XEmbeddedObjectResolver >
const & _xEmbeddedResolver )
624 mxEmbeddedResolver = _xEmbeddedResolver;
628 css::uno::Reference<css::document::XGraphicStorageHandler>
const & rxGraphicStorageHandler)
630 mxGraphicStorageHandler = rxGraphicStorageHandler;
638 const bool mbIgnoreWhitespaceInside :1;
639 const bool mbDoSomething :1;
643 const sal_uInt16 nPrefix,
644 const OUString& rName,
645 const bool bIgnoreWhitespaceOutside );
653 bool bIgnWSOutside,
bool bIgnWSInside );
655 const OUString& rName,
656 bool bIgnWSOutside,
bool bIgnWSInside );
659 bool bIgnWSOutside,
bool bIgnWSInside );
661 bool bIgnWSOutside,
bool bIgnWSInside );
667 bool bIgnWSOutside,
bool bIgnWSInside );
673 #endif // _XMLOFF_SVXMLEXP_HXX
SvXMLExportFlags mnExportFlags
rtl::Reference< XMLShapeExport > const & GetShapeExport()
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
rtl::Reference< XMLTextParagraphExport > const & GetTextParagraphExport()
const SvXMLUnitConverter & GetMM100UnitConverter() const
css::uno::Reference< css::beans::XPropertySet > mxExportInfo
The XMLErrors is used to collect all errors and warnings that occur for appropriate processing...
virtual SvXMLAutoStylePoolP * CreateAutoStylePool()
css::uno::Reference< css::document::XGraphicStorageHandler > mxGraphicStorageHandler
css::uno::Reference< css::xml::sax::XAttributeList > GetXAttrList()
OUString getImplementationName()
virtual XMLTextParagraphExport * CreateTextParagraphExport()
std::unique_ptr< SvXMLNamespaceMap > mpNamespaceMap
const css::uno::Reference< css::xml::sax::XDocumentHandler > & GetDocHandler() const
css::uno::Reference< css::document::XEmbeddedObjectResolver > mxEmbeddedResolver
rtl::Reference< XMLShapeExport > mxShapeExport
css::uno::Any const & rValue
SvXMLAttributeList & GetAttrList()
const css::uno::Reference< css::frame::XModel > & GetModel() const
rtl::Reference< xmloff::OFormLayerXMLExport > mxFormExport
SchXMLExportHelper * CreateChartExport()
exports com.sun.star. frame
xmloff::OFormLayerXMLExport * CreateFormExport()
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
css::uno::Sequence< css::beans::PropertyValue > aSettings
void SetNumberFormatsSupplier(const css::uno::Reference< css::util::XNumberFormatsSupplier > &_xNumberFormatSupplier)
XMLTokenEnum
The enumeration of all XML tokens.
SvtModuleOptions::EFactory GetModelType() const
std::unique_ptr< SvXMLNumFmtExport > mpNumExport
bool mbAutoStylesCollected
rtl::Reference< XMLFontAutoStylePool > mxFontAutoStylePool
std::unique_ptr< ProgressBarHelper > mpProgressBarHelper
void SetEmbeddedResolver(css::uno::Reference< css::document::XEmbeddedObjectResolver > const &_xEmbeddedResolver)
rtl::Reference< SchXMLExportHelper > mxChartExport
rtl::Reference< XMLTextParagraphExport > mxTextParagraphExport
class SAL_NO_VTABLE XPropertySet
RequestPriorityClass meClass
const css::uno::Reference< css::document::XGraphicStorageHandler > & GetGraphicStorageHandler() const
css::uno::Reference< css::xml::sax::XDocumentHandler > mxHandler
const css::uno::Reference< css::uno::XComponentContext > & getComponentContext() const
rtl::Reference< SchXMLExportHelper > const & GetChartExport()
css::uno::Reference< css::util::XNumberFormatsSupplier > & GetNumberFormatsSupplier()
OUString m_implementationName
virtual XMLPageExport * CreatePageExport()
virtual XMLFontAutoStylePool * CreateFontAutoStylePool()
std::unique_ptr< SvXMLExport_Impl > mpImpl
std::unique_ptr< XMLImageMapExport > mpImageMapExport
With this class you can export a
element containing its data as element o...
SvXMLUnitConverter & GetMM100UnitConverter()
bool mbSaveLinkedSections
const css::uno::Reference< css::document::XEmbeddedObjectResolver > & GetEmbeddedResolver() const
const uno::Reference< uno::XComponentContext > m_xContext
const SvXMLNamespaceMap & GetNamespaceMap() const
::xmloff::token::XMLTokenEnum eGroupName
void SetGraphicStorageHandler(css::uno::Reference< css::document::XGraphicStorageHandler > const &rxGraphicStorageHandler)
const css::uno::Reference< css::beans::XPropertySet > & getExportInfo() const
SvXMLUnitConverter maUnitConv
const OUString & GetOrigFileName() const
SvtModuleOptions::EFactory meModelType
rtl::Reference< XMLPageExport > mxPageExport
std::unique_ptr< XMLErrors > mpXMLErrors
SvXMLNamespaceMap & GetNamespaceMap_()
rtl::Reference< SvXMLAutoStylePoolP > const & GetAutoStylePool()
virtual XMLShapeExport * CreateShapeExport()
rtl::Reference< XMLFontAutoStylePool > const & GetFontAutoStylePool()
exports com.sun.star. lang
rtl::Reference< SvXMLAutoStylePoolP > mxAutoStylePool
SettingsGroup(const ::xmloff::token::XMLTokenEnum _eGroupName, const css::uno::Sequence< css::beans::PropertyValue > &_rSettings)
css::uno::Reference< css::lang::XEventListener > mxEventListener
css::uno::Reference< css::frame::XModel > mxModel
void setExportFlags(SvXMLExportFlags nExportFlags)
Export instances of EventsSupplier services.
rtl::Reference< XMLPageExport > const & GetPageExport()
bool IsSaveLinkedSections() const
SvXMLErrorFlags mnErrorFlags
rtl::Reference< xmloff::OFormLayerXMLExport > const & GetFormExport()
css::uno::Reference< css::util::XNumberFormatsSupplier > mxNumberFormatsSupplier
css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > mxExtHandler
const css::uno::Reference< css::task::XStatusIndicator > & GetStatusIndicator() const
Export an ImageMap as defined by service com.sun.star.image.ImageMap to XML.
SvXMLExportFlags getExportFlags() const
std::unique_ptr< XMLEventExport > mpEventExport
bool HasFormExport() const
rtl::Reference< SvXMLAttributeList > mxAttrList
css::uno::Reference< css::uno::XComponentContext > m_xContext