27 #include <osl/mutex.hxx>
31 #include <com/sun/star/container/XNameAccess.hpp>
32 #include <com/sun/star/io/XInputStream.hpp>
33 #include <com/sun/star/document/XBinaryStreamResolver.hpp>
34 #include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
35 #include <com/sun/star/text/XTextContent.hpp>
36 #include <com/sun/star/xml/sax/SAXInvalidCharacterException.hpp>
37 #include <com/sun/star/uri/XUriReferenceFactory.hpp>
38 #include <com/sun/star/uri/UriReferenceFactory.hpp>
39 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
40 #include <com/sun/star/util/MeasureUnit.hpp>
58 #include <com/sun/star/document/XEventsSupplier.hpp>
59 #include <com/sun/star/document/XViewDataSupplier.hpp>
60 #include <com/sun/star/frame/XModel.hpp>
71 #include <com/sun/star/style/XStyle.hpp>
72 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
73 #include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
74 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
75 #include <com/sun/star/beans/PropertyAttribute.hpp>
87 #include <com/sun/star/document/XDocumentProperties.hpp>
88 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
89 #include <com/sun/star/document/XMLOasisBasicExporter.hpp>
90 #include <com/sun/star/embed/XEncryptionProtectedSource2.hpp>
91 #include <com/sun/star/document/XGraphicStorageHandler.hpp>
92 #include <com/sun/star/rdf/XMetadatable.hpp>
98 using namespace ::
osl;
110 #define XML_MODEL_SERVICE_WRITER "com.sun.star.text.TextDocument"
111 #define XML_MODEL_SERVICE_CALC "com.sun.star.sheet.SpreadsheetDocument"
112 #define XML_MODEL_SERVICE_DRAW "com.sun.star.drawing.DrawingDocument"
113 #define XML_MODEL_SERVICE_IMPRESS "com.sun.star.presentation.PresentationDocument"
114 #define XML_MODEL_SERVICE_MATH "com.sun.star.formula.FormulaProperties"
115 #define XML_MODEL_SERVICE_CHART "com.sun.star.chart.ChartDocument"
117 #define XML_USEPRETTYPRINTING "UsePrettyPrinting"
119 #define XML_EMBEDDEDOBJECTGRAPHIC_URL_BASE "vnd.sun.star.GraphicObject:"
120 #define XML_EMBEDDEDOBJECT_URL_BASE "vnd.sun.star.EmbeddedObject:"
124 struct XMLServiceMapEntry_Impl
126 const char *sModelService;
127 sal_Int32 nModelServiceLen;
128 const char *sFilterService;
129 sal_Int32 nFilterServiceLen;
134 #define SERVICE_MAP_ENTRY( app ) \
135 { XML_MODEL_SERVICE_##app, sizeof(XML_MODEL_SERVICE_##app)-1, \
136 XML_EXPORT_FILTER_##app, sizeof(XML_EXPORT_FILTER_##app)-1 }
146 {
nullptr, 0,
nullptr, 0 }
154 explicit SettingsExportFacade(
SvXMLExport& i_rExport )
155 :m_rExport( i_rExport )
159 virtual ~SettingsExportFacade()
164 const OUString& i_rValue )
override;
169 virtual void EndElement(
const bool i_bIgnoreWhitespace )
override;
171 virtual void Characters(
const OUString& i_rCharacters )
override;
173 virtual css::uno::Reference< css::uno::XComponentContext >
195 m_rExport.StartElement( sElementName,
true );
199 void SettingsExportFacade::EndElement(
const bool i_bIgnoreWhitespace )
202 m_rExport.EndElement( sElementName, i_bIgnoreWhitespace );
206 void SettingsExportFacade::Characters(
const OUString& i_rCharacters )
208 m_rExport.GetDocHandler()->characters( i_rCharacters );
213 return m_rExport.getComponentContext();
218 class SvXMLExportEventListener :
public cppu::WeakImplHelper<
219 css::lang::XEventListener >
225 explicit SvXMLExportEventListener(
SvXMLExport* pExport);
228 virtual void SAL_CALL disposing(
const lang::EventObject& rEventObject)
override;
233 SvXMLExportEventListener::SvXMLExportEventListener(
SvXMLExport* pTempExport)
234 : pExport(pTempExport)
239 void SAL_CALL SvXMLExportEventListener::disposing(
const lang::EventObject& )
243 pExport->DisposingModel();
283 sal_Int32 nSep = rOrigFileName.indexOf(
':');
285 msPackageURIScheme = rOrigFileName.copy( 0, nSep );
292 mbOutlineStyleAsNormalListStyle( false ),
294 mbExportTextNumberElement( false ),
295 mbNullDateInitialized( false )
425 const uno::Reference< uno::XComponentContext >& xContext,
426 OUString
const & implementationName,
427 sal_Int16
const eDefaultMeasureUnit ,
430 m_xContext(xContext), m_implementationName(implementationName),
433 maUnitConv( xContext,
util::MeasureUnit::
MM_100TH, eDefaultMeasureUnit ),
435 mnExportFlags( nExportFlags ),
438 mbSaveLinkedSections(true),
439 mbAutoStylesCollected(false)
441 SAL_WARN_IF( !xContext.is(),
"xmloff.core",
"got no service manager" );
446 const css::uno::Reference< css::uno::XComponentContext >& xContext,
447 OUString
const & implementationName,
448 const OUString &rFileName,
449 sal_Int16
const eDefaultMeasureUnit ,
450 const uno::Reference< xml::sax::XDocumentHandler > & rHandler)
452 m_xContext(xContext), m_implementationName(implementationName),
454 mxExtHandler( rHandler,
uno::UNO_QUERY ),
456 msOrigFileName( rFileName ),
458 maUnitConv( xContext,
util::MeasureUnit::
MM_100TH, eDefaultMeasureUnit ),
463 mbSaveLinkedSections(true),
464 mbAutoStylesCollected(false)
466 SAL_WARN_IF( !xContext.is(),
"xmloff.core",
"got no service manager" );
475 const css::uno::Reference< css::uno::XComponentContext >& xContext,
476 OUString
const & implementationName,
477 const OUString &rFileName,
478 const uno::Reference< xml::sax::XDocumentHandler > & rHandler,
479 const Reference< XModel >& rModel,
483 m_xContext(xContext), m_implementationName(implementationName),
486 mxExtHandler( rHandler,
uno::UNO_QUERY ),
487 mxNumberFormatsSupplier (rModel,
uno::UNO_QUERY),
489 msOrigFileName( rFileName ),
491 maUnitConv( xContext,
495 mnExportFlags( nExportFlag ),
498 mbSaveLinkedSections(true),
499 mbAutoStylesCollected(false)
501 SAL_WARN_IF(!xContext.is(),
"xmloff.core",
"got no service manager" );
519 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
520 if (xPropertySetInfo.is())
527 if (xPropertySetInfo->hasPropertyByName(sProgressMax) &&
528 xPropertySetInfo->hasPropertyByName(sProgressCurrent))
535 if (xPropertySetInfo->hasPropertyByName(sRepeat))
541 if (xPropertySetInfo->hasPropertyByName(sWrittenNumberFormats))
559 mxModel.set( xDoc, UNO_QUERY );
561 throw lang::IllegalArgumentException();
576 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
577 if (xPropertySetInfo.is())
580 if (xPropertySetInfo->hasPropertyByName(sUsePrettyPrinting))
592 if (xPropertySetInfo->hasPropertyByName(sWrittenNumberFormats))
595 uno::Sequence<sal_Int32> aWasUsed;
596 if(aAny >>= aWasUsed)
609 Reference < XInterface > xIfc =
610 xFactory->createInstance(
"com.sun.star.xml.NamespaceMap");
614 if( xNamespaceMap.is() )
617 for( OUString
const &
prefix : aPrefixes )
620 if( xNamespaceMap->getByName(
prefix ) >>= aURL )
626 catch(
const css::uno::Exception&)
640 for(
const auto& rAny : aArguments )
642 Reference<XInterface> xValue;
646 uno::Reference<task::XStatusIndicator> xTmpStatus( xValue, UNO_QUERY );
647 if ( xTmpStatus.is() )
651 uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY);
652 if (xGraphicStorageHandler.is())
656 uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver(
658 if ( xTmpObjectResolver.is() )
662 uno::Reference<xml::sax::XDocumentHandler> xTmpDocHandler(
664 if( xTmpDocHandler.is() )
674 uno::Reference<beans::XPropertySet> xTmpPropertySet(
676 if( xTmpPropertySet.is() )
683 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
687 if( xPropertySetInfo->hasPropertyByName(sPropName) )
695 sPropName =
"StreamRelPath";
696 if( xPropertySetInfo->hasPropertyByName(sPropName) )
702 sPropName =
"StreamName";
703 if( xPropertySetInfo->hasPropertyByName(sPropName) )
711 if( !sRelPath.isEmpty() )
716 mpImpl->mStreamName = sName;
719 static const OUStringLiteral sOutlineStyleAsNormalListStyle(
720 u"OutlineStyleAsNormalListStyle" );
721 if( xPropertySetInfo->hasPropertyByName( sOutlineStyleAsNormalListStyle ) )
724 aAny >>=
mpImpl->mbOutlineStyleAsNormalListStyle;
727 OUString sTargetStorage(
"TargetStorage" );
728 if( xPropertySetInfo->hasPropertyByName( sTargetStorage ) )
731 static const OUStringLiteral sExportTextNumberElement(
732 u"ExportTextNumberElement" );
733 if( xPropertySetInfo->hasPropertyByName( sExportTextNumberElement ) )
736 aAny >>=
mpImpl->mbExportTextNumberElement;
756 for(
const auto& rProp : aDescriptor )
758 const OUString& rPropName = rProp.Name;
761 if ( rPropName ==
"FileName" )
766 else if ( rPropName ==
"FilterName" )
774 for(
const auto& rProp : aDescriptor )
776 const OUString& rPropName = rProp.Name;
779 if (rPropName ==
"SourceShellID")
781 if (!(rValue >>=
mpImpl->maSrcShellID))
784 else if (rPropName ==
"DestinationShellID")
786 if (!(rValue >>=
mpImpl->maDestShellID))
789 else if( rPropName ==
"ImageFilter")
799 catch(
const uno::Exception& e)
804 OUString
sMessage( ex.getValueTypeName() +
": \"" + e.Message +
"\"");
807 const char* pContext =
typeid(*e.Context).
name();
808 sMessage +=
" (context: " + OUString::createFromAscii(pContext) +
" )";
848 return {
"com.sun.star.document.ExportFilter",
"com.sun.star.xml.XMLExportFilter" };
854 OUString
const aPreferredPrefix(
"gen");
861 sPrefix = aPreferredPrefix;
867 buf.append( aPreferredPrefix );
869 sPrefix = buf.makeStringAndClear();
873 if (
mpImpl->mNamespaceMaps.empty()
874 || (
mpImpl->mNamespaceMaps.top().second !=
mpImpl->mDepth))
878 mpImpl->mNamespaceMaps.push(
887 buf.append( sPrefix );
902 OUString
sName( OUString::createFromAscii( pName ) );
903 OUString sValue( OUString::createFromAscii( pValue ) );
912 OUString
sName( OUString::createFromAscii( pName ) );
944 const OUString& rValue )
960 const css::lang::Locale& rLocale,
bool bWriteEmpty )
962 if (rLocale.Variant.isEmpty())
971 if (bWriteEmpty || !rLocale.Language.isEmpty())
973 if (bWriteEmpty || !rLocale.Country.isEmpty())
984 const LanguageTag& rLanguageTag,
bool bWriteEmpty )
993 if (bWriteEmpty || !rLanguageTag.
getCountry().isEmpty())
1005 OUString aLanguage, aScript, aCountry;
1007 if (!aLanguage.isEmpty())
1012 if (!aCountry.isEmpty())
1021 mxAttrList->AppendAttributeList( xAttrList );
1032 SAL_WARN_IF(
mxAttrList->getLength(),
"xmloff.core",
"XMLExport::CheckAttrList: list is not empty" );
1047 ::std::vector< SettingsGroup > aSettings;
1048 sal_Int32 nSettingsCount = 0;
1051 uno::Sequence< beans::PropertyValue > aViewSettings;
1054 nSettingsCount += aViewSettings.getLength();
1057 uno::Sequence<beans::PropertyValue> aConfigSettings;
1060 nSettingsCount += aConfigSettings.getLength();
1067 nSettingsCount != 0,
1071 SettingsExportFacade aSettingsExportContext( *
this );
1074 for (
auto const& settings : aSettings)
1076 if ( !settings.aSettings.hasElements() )
1079 const OUString& sSettingsName(
GetXMLToken( settings.eGroupName ) );
1102 static OUString sStyleNames(
"StyleNames" );
1103 static OUString sStyleFamilies(
"StyleFamilies" );
1104 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
1105 if ( xPropertySetInfo->hasPropertyByName( sStyleNames ) && xPropertySetInfo->hasPropertyByName( sStyleFamilies ) )
1107 Sequence<sal_Int32> aStyleFamilies;
1119 OUString sStyleNames(
"StyleNames" );
1120 OUString sStyleFamilies(
"StyleFamilies" );
1123 &&
mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleNames )
1124 &&
mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleFamilies ) )
1126 Sequence<sal_Int32> aStyleFamilies;
1127 mxExportInfo->getPropertyValue( sStyleFamilies ) >>= aStyleFamilies;
1129 mxExportInfo->getPropertyValue( sStyleNames ) >>= aStyleNames;
1198 OUString(
"http://FIXME") );
1205 uno::Reference< embed::XEncryptionProtectedSource2 > xEncr(
mpImpl->mxTargetStorage, uno::UNO_QUERY);
1207 if (xEncr.is() && xEncr->hasEncryptionData() &&
mxExtHandler.is())
1215 char const* pVersion(
nullptr);
1227 assert(!
"xmloff::SvXMLExport::exportDoc(), unexpected odf default version!");
1234 bool bOwnGraphicResolver =
false;
1235 bool bOwnEmbeddedResolver =
false;
1246 mxGraphicStorageHandler.set(xFactory->createInstance(
"com.sun.star.document.ExportGraphicStorageHandler"), UNO_QUERY);
1253 xFactory->createInstance(
"com.sun.star.document.ExportEmbeddedObjectResolver" ), UNO_QUERY);
1257 catch(
const css::uno::Exception&)
1266 static ::comphelper::PropertyMapEntry
const aInfoMap[] =
1268 { OUString(
"Class"), 0,
1270 PropertyAttribute::MAYBEVOID, 0},
1271 { OUString(), 0, css::uno::Type(), 0, 0 }
1275 new ::comphelper::PropertySetInfo( aInfoMap ) ) );
1277 xConvPropSet->setPropertyValue(
"Class",
Any(
GetXMLToken( eClass )) );
1285 Sequence<Any> aArgs( 3 );
1287 aArgs[1] <<= xPropSet;
1292 m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
"com.sun.star.comp.Oasis2OOoTransformer", aArgs,
m_xContext),
1294 SAL_WARN_IF(!xTmpDocHandler.is(),
"xmloff.core",
"can't instantiate OASIS transformer component" );
1295 if( xTmpDocHandler.is() )
1301 catch(
const css::uno::Exception&)
1331 OUString::createFromAscii(pVersion) );
1367 OUString aTmp =
"application/vnd.oasis.opendocument." +
GetXMLToken( eClass );
1409 if( bOwnGraphicResolver )
1415 if( bOwnEmbeddedResolver )
1431 return mpImpl->maSrcShellID;
1436 return mpImpl->maDestShellID;
1442 Reference< XDocumentPropertiesSupplier > xDocPropsSupplier(
mxModel,
1444 if (xDocPropsSupplier.is()) {
1445 Reference<XDocumentProperties> xDocProps(
1446 xDocPropsSupplier->getDocumentProperties());
1447 if (!xDocProps.is())
throw;
1449 xDocProps->setGenerator(generator);
1483 xPSet->getPropertyValue(
"BasicLibraries");
1487 Reference< document::XXMLBasicExporter > xExporter = document::XMLOasisBasicExporter::createWithHandler(
m_xContext, xHdl );
1489 xExporter->setSourceDocument(
mxModel );
1490 Sequence< PropertyValue > aMediaDesc( 0 );
1491 xExporter->filter( aMediaDesc );
1495 Reference< document::XEventsSupplier > xEvents(
GetModel(), UNO_QUERY );
1507 uno::Reference< lang::XMultiServiceFactory > xFact(
GetModel(), uno::UNO_QUERY );
1514 uno::Reference< container::XNameAccess > xGradient( xFact->createInstance(
"com.sun.star.drawing.GradientTable"), uno::UNO_QUERY );
1515 if( xGradient.is() )
1517 XMLGradientStyleExport aGradientStyle( *
this );
1519 if( xGradient->hasElements() )
1521 const uno::Sequence< OUString > aNamesSeq ( xGradient->getElementNames() );
1522 for(
const OUString& rStrName : aNamesSeq )
1526 uno::Any aValue = xGradient->getByName( rStrName );
1528 aGradientStyle.exportXML( rStrName, aValue );
1530 catch(
const container::NoSuchElementException&)
1537 catch(
const lang::ServiceNotRegisteredException&)
1544 uno::Reference< container::XNameAccess > xHatch( xFact->createInstance(
"com.sun.star.drawing.HatchTable"), uno::UNO_QUERY );
1547 XMLHatchStyleExport aHatchStyle( *
this );
1549 if( xHatch->hasElements() )
1551 const uno::Sequence< OUString > aNamesSeq ( xHatch->getElementNames() );
1552 for(
const OUString& rStrName : aNamesSeq )
1556 uno::Any aValue = xHatch->getByName( rStrName );
1558 aHatchStyle.exportXML( rStrName, aValue );
1560 catch(
const container::NoSuchElementException&)
1566 catch(
const lang::ServiceNotRegisteredException&)
1573 uno::Reference< container::XNameAccess > xBitmap( xFact->createInstance(
"com.sun.star.drawing.BitmapTable"), uno::UNO_QUERY );
1576 if( xBitmap->hasElements() )
1578 const uno::Sequence< OUString > aNamesSeq ( xBitmap->getElementNames() );
1579 for(
const OUString& rStrName : aNamesSeq )
1583 uno::Any aValue = xBitmap->getByName( rStrName );
1585 XMLImageStyle::exportXML( rStrName, aValue, *
this );
1587 catch(
const container::NoSuchElementException&)
1594 catch(
const lang::ServiceNotRegisteredException&)
1601 uno::Reference< container::XNameAccess > xTransGradient( xFact->createInstance(
"com.sun.star.drawing.TransparencyGradientTable"), uno::UNO_QUERY );
1602 if( xTransGradient.is() )
1606 if( xTransGradient->hasElements() )
1608 const uno::Sequence< OUString > aNamesSeq ( xTransGradient->getElementNames() );
1609 for(
const OUString& rStrName : aNamesSeq )
1613 uno::Any aValue = xTransGradient->getByName( rStrName );
1615 aTransGradientstyle.
exportXML( rStrName, aValue );
1617 catch(
const container::NoSuchElementException&)
1624 catch(
const lang::ServiceNotRegisteredException&)
1631 uno::Reference< container::XNameAccess > xMarker( xFact->createInstance(
"com.sun.star.drawing.MarkerTable"), uno::UNO_QUERY );
1634 XMLMarkerStyleExport aMarkerStyle( *
this );
1636 if( xMarker->hasElements() )
1638 const uno::Sequence< OUString > aNamesSeq ( xMarker->getElementNames() );
1639 for(
const OUString& rStrName : aNamesSeq )
1643 uno::Any aValue = xMarker->getByName( rStrName );
1645 aMarkerStyle.exportXML( rStrName, aValue );
1647 catch(
const container::NoSuchElementException&)
1654 catch(
const lang::ServiceNotRegisteredException&)
1661 uno::Reference< container::XNameAccess > xDashes( xFact->createInstance(
"com.sun.star.drawing.DashTable"), uno::UNO_QUERY );
1664 XMLDashStyleExport aDashStyle( *
this );
1666 if( xDashes->hasElements() )
1668 const uno::Sequence< OUString > aNamesSeq ( xDashes->getElementNames() );
1669 for(
const OUString& rStrName : aNamesSeq )
1673 uno::Any aValue = xDashes->getByName( rStrName );
1675 aDashStyle.exportXML( rStrName, aValue );
1677 catch(
const container::NoSuchElementException&)
1684 catch(
const lang::ServiceNotRegisteredException&)
1731 uno::Reference<document::XViewDataSupplier> xViewDataSupplier(
GetModel(), uno::UNO_QUERY);
1732 if(!xViewDataSupplier.is())
1735 uno::Reference<container::XIndexAccess> xIndexAccess;
1736 xViewDataSupplier->setViewData( xIndexAccess );
1740 xIndexAccess = xViewDataSupplier->getViewData();
1744 if(xIndexAccess.is() && xIndexAccess->hasElements() )
1746 sal_Int32
nCount = xIndexAccess->getCount();
1747 for (sal_Int32
i = 0;
i < nCount;
i++)
1749 aAny = xIndexAccess->getByIndex(
i);
1750 uno::Sequence<beans::PropertyValue> aProps;
1751 if( aAny >>= aProps )
1753 if( aProps.hasElements() )
1764 sal_Int32 nOldLength(rProps.getLength());
1765 rProps.realloc(nOldLength + 1);
1766 beans::PropertyValue aProp;
1767 aProp.Name =
"Views";
1768 aProp.
Value <<= xIndexAccess;
1769 rProps[nOldLength] = aProp;
1788 Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(
GetModel(), uno::UNO_QUERY);
1789 if (!xStyleFamiliesSupplier.is())
1793 if (!xStylesFamilies.is())
1796 Reference<container::XIndexAccess> xCellStyles(xStylesFamilies->getByName(
"CellStyles"), uno::UNO_QUERY);
1797 if (!xCellStyles.is())
1800 sal_Int32
nCount(xCellStyles->getCount());
1803 Reference<style::XStyle> xStyle(xCellStyles->getByIndex(
i), uno::UNO_QUERY);
1804 if (bFromUsedStyles && !xStyle->isInUse())
1808 if (xCellProperties.is())
1810 sal_Int32 nNumberFormat = 0;
1811 if (xCellProperties->getPropertyValue(
"NumberFormat") >>= nNumberFormat)
1853 ?
mpNumExport->ForceSystemLanguage( nFormat ) : nFormat;
1863 if (!aOriginURL.isEmpty())
1883 if (xInputStream.is())
1899 if (xInputStream.is())
1938 Any aAny = xNA->getByName( rEmbeddedObjectURL );
1953 const OUString& rName,
1954 bool *pEncoded )
const
1967 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
1968 if (xPropertySetInfo.is())
1974 if (xPropertySetInfo->hasPropertyByName(sProgressMax) &&
1975 xPropertySetInfo->hasPropertyByName(sProgressCurrent) &&
1976 xPropertySetInfo->hasPropertyByName(sProgressRange))
1979 sal_Int32 nProgressMax(0);
1980 sal_Int32 nProgressCurrent(0);
1981 sal_Int32 nProgressRange(0);
1983 if (aAny >>= nProgressRange)
1986 if (aAny >>= nProgressMax)
1988 aAny =
mxExportInfo->getPropertyValue(sProgressCurrent);
1989 if (aAny >>= nProgressCurrent)
1992 if (xPropertySetInfo->hasPropertyByName(sRepeat))
1998 SAL_WARN(
"xmloff.core",
"why is it no boolean?" );
2015 mpEventExport->AddHandler(
"StarBasic", std::make_unique<XMLStarBasicExportHandler>());
2016 mpEventExport->AddHandler(
"Script", std::make_unique<XMLScriptExportHandler>());
2039 OUString sFilterService;
2041 Reference < lang::XServiceInfo > xServiceInfo( rComp, UNO_QUERY );
2042 if( xServiceInfo.is() )
2044 const XMLServiceMapEntry_Impl *pEntry =
aServiceMap;
2045 while( pEntry->sModelService )
2047 OUString sModelService( pEntry->sModelService,
2048 pEntry->nModelServiceLen,
2049 RTL_TEXTENCODING_ASCII_US );
2050 if( xServiceInfo->supportsService( sModelService ) )
2052 sFilterService = OUString( pEntry->sFilterService,
2053 pEntry->nFilterServiceLen,
2054 RTL_TEXTENCODING_ASCII_US );
2061 SAL_WARN_IF( !sFilterService.getLength(),
"xmloff.core",
"no export filter for own object" );
2063 if( sFilterService.isEmpty() )
2066 Reference < XDocumentHandler > xHdl =
2069 Sequence < Any > aArgs( 1 );
2072 Reference< document::XExporter > xExporter(
2073 m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(sFilterService, aArgs,
m_xContext),
2075 SAL_WARN_IF( !xExporter.is(),
"xmloff.core",
"can't instantiate export filter component for own object" );
2076 if( !xExporter.is() )
2079 xExporter->setSourceDocument( rComp );
2081 Reference<XFilter> xFilter( xExporter, UNO_QUERY );
2083 Sequence < PropertyValue > aMediaDesc( 0 );
2084 xFilter->filter( aMediaDesc );
2089 OUString sValue( rValue );
2092 uno::Reference< uri::XUriReference > xUriRef;
2093 if(!sValue.isEmpty() && sValue[0] !=
'#')
2097 xUriRef =
mpImpl->mxUriReferenceFactory->parse( rValue );
2098 if( xUriRef.is() && !xUriRef->isAbsolute() )
2102 bool bWasAbsolute =
false;
2106 catch(
const uno::Exception&)
2113 if( xUriRef->getScheme() ==
mpImpl->msPackageURIScheme )
2123 bool bIgnWSOutside )
2130 bool bIgnWSOutside )
2140 catch (
const SAXInvalidCharacterException& e)
2145 catch (
const SAXException& e)
2149 aPars, e.Message,
nullptr );
2165 catch (
const SAXInvalidCharacterException& e)
2170 catch (
const SAXException& e)
2174 aPars, e.Message,
nullptr );
2191 if (!
mpImpl->mNamespaceMaps.empty() &&
2192 (
mpImpl->mNamespaceMaps.top().second ==
mpImpl->mDepth))
2195 mpImpl->mNamespaceMaps.pop();
2198 (
mpImpl->mNamespaceMaps.top().second >=
mpImpl->mDepth),
"xmloff.core",
"SvXMLExport: NamespaceMaps corrupted");
2209 catch (
const SAXException& e)
2213 aPars, e.Message,
nullptr );
2229 catch (
const SAXException& e)
2233 aPars, e.Message,
nullptr );
2240 const OUString& rExceptionMessage,
2241 const Reference<XLocator>& rLocator )
2244 static osl::Mutex
aMutex;
2245 osl::MutexGuard aGuard(aMutex);
2260 mpXMLErrors->AddRecord( nId, rMsgParams, rExceptionMessage, rLocator );
2267 SetError( nId, rMsgParams,
"",
nullptr );
2281 return mpImpl->maInterfaceToIdentifierMapper;
2287 return mpImpl->mbOutlineStyleAsNormalListStyle;
2292 return mpImpl->mxTargetStorage;
2298 return mpImpl->maSaveOptions.GetODFSaneDefaultVersion();
2306 sal_uInt16
const nLegacyPrefix, OUString
const& rValue)
2329 const uno::Reference<rdf::XMetadatable> xMeta(i_xIfc,
2335 const beans::StringPair mdref( xMeta->getMetadataReference() );
2336 if ( mdref.Second.isEmpty() )
2339 const OUString streamName =
mpImpl->mStreamName;
2340 if ( !streamName.isEmpty() )
2342 if ( streamName == mdref.First )
2348 SAL_WARN(
"xmloff.core",
"SvXMLExport::AddAttributeXmlId: invalid stream name");
2359 if ( mdref.First ==
"content.xml" )
2365 SAL_INFO(
"xmloff.core",
"SvXMLExport::AddAttributeXmlId: no stream name given: dropping styles.xml xml:id");
2372 uno::Reference<text::XTextContent>
const & i_xTextContent)
2381 const uno::Reference<rdf::XMetadatable> xMeta(
2382 i_xTextContent, uno::UNO_QUERY);
2383 if (!xMeta.is() || xMeta->getMetadataReference().Second.isEmpty())
2388 if (!
mpImpl->mpRDFaHelper)
2390 mpImpl->mpRDFaHelper.reset( new ::xmloff::RDFaExportHelper(*
this) );
2392 mpImpl->mpRDFaHelper->AddRDFa(xMeta);
2397 return mpImpl->mbExportTextNumberElement;
2403 if (!
mpImpl->mbNullDateInitialized)
2406 return mpImpl->mbNullDateInitialized;
2415 const sal_uInt16 nPrefixKey,
2416 const OUString& rLName,
2417 const bool bIgnoreWhitespaceOutside )
2425 sal_uInt16 nPrefixKey,
2431 , mbIgnoreWhitespaceInside( bIWSInside )
2432 , mbDoSomething( true )
2434 const OUString sLName( OUString::createFromAscii( pLName ) );
2440 sal_uInt16 nPrefixKey,
2441 const OUString& rLName,
2446 , mbIgnoreWhitespaceInside( bIWSInside )
2447 , mbDoSomething( true )
2454 sal_uInt16 nPrefixKey,
2460 , mbIgnoreWhitespaceInside( bIWSInside )
2461 , mbDoSomething( true )
2469 sal_uInt16 nPrefixKey,
2475 , mbIgnoreWhitespaceInside( bIWSInside )
2476 , mbDoSomething( bDoSth )
2484 const OUString& rQName,
2489 , mbIgnoreWhitespaceInside( bIWSInside )
2490 , mbDoSomething( true )
exports com.sun.star.lib. util
css::uno::Reference< css::embed::XStorage > const & GetTargetStorage() const
constexpr sal_uInt16 XML_NAMESPACE_MATH
#define XML_EMBEDDEDOBJECTGRAPHIC_URL_BASE
SvXMLExportFlags mnExportFlags
sal_uInt16 GetKeyByPrefix(const OUString &rPrefix) const
virtual OUString SAL_CALL getImplementationName() final override
constexpr sal_uInt16 XML_NAMESPACE_OFFICE
#define XML_WRITTENNUMBERSTYLES
constexpr sal_uInt16 XML_NAMESPACE_XFORMS
constexpr sal_uInt16 XML_NAMESPACE_CHART
constexpr sal_uInt16 XML_NAMESPACE_DR3D
char const * GetODFVersionAttributeValue() const
returns value of ODF version attribute
::comphelper::UnoInterfaceToUniqueIdentifierMapper & getInterfaceToIdentifierMapper()
constexpr sal_uInt16 XML_NAMESPACE_DRAW_EXT
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
::std::unique_ptr< ::xmloff::RDFaExportHelper > mpRDFaHelper
virtual void DisposingModel()
constexpr sal_uInt16 XML_NAMESPACE_SCRIPT
virtual void exportAutoDataStyles()
#define XML_USEPRETTYPRINTING
constexpr sal_uInt16 XML_NAMESPACE_OOOC
void addChaffWhenEncryptedStorage()
const SvXMLUnitConverter & GetMM100UnitConverter() const
static EFactory ClassifyFactoryByModel(const css::uno::Reference< css::frame::XModel > &xModel)
constexpr sal_uInt16 XML_NAMESPACE_FORMX
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()
virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) override
const OUString & getBcp47(bool bResolveSystem=true) const
void AddAttributesRDFa(css::uno::Reference< css::text::XTextContent > const &i_xTextContent)
add RDFa attributes for a metadatable text content
OUString EnsureNamespace(OUString const &i_rNamespace)
ensures that the given namespace is in scope at the next started element.
css::uno::Reference< css::document::XGraphicStorageHandler > mxGraphicStorageHandler
bool exportTextNumberElement() const
OUString getScript() const
css::uno::Reference< css::xml::sax::XAttributeList > GetXAttrList()
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_OOO
css::uno::Reference< css::frame::XModel2 > mxModel
virtual XMLTextParagraphExport * CreateTextParagraphExport()
virtual css::uno::Reference< css::uno::XComponentContext > GetComponentContext() const =0
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
OUString msPackageURIScheme
static OUString GetRelURL(OUString const &rTheBaseURIRef, OUString const &rTheAbsURIRef, EncodeMechanism eEncodeMechanism=EncodeMechanism::WasEncoded, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
void GetViewSettingsAndViews(css::uno::Sequence< css::beans::PropertyValue > &rProps)
bool AddEmbeddedObjectAsBase64(const OUString &rEmbeddedObjectURL)
constexpr sal_uInt16 XML_NAMESPACE_CSS3TEXT
std::unique_ptr< SvXMLNamespaceMap > mpNamespaceMap
css::uno::Reference< css::document::XEmbeddedObjectResolver > mxEmbeddedResolver
constexpr sal_uInt16 XML_NAMESPACE_NUMBER
virtual ErrCode exportDoc(enum::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID)
constexpr sal_uInt16 XML_NAMESPACE_DOM
void SAL_DLLPRIVATE AddAttributeIdLegacy(sal_uInt16 const nLegacyPrefix, OUString const &rValue)
add xml:id and legacy namespace id
void getIsoLanguageScriptCountry(OUString &rLanguage, OUString &rScript, OUString &rCountry) const
virtual void ExportStyles_(bool bUsed)
Override this method to export the content of .
SAL_DLLPRIVATE void ImplExportAutoStyles()
SAL_DLLPRIVATE void DetermineModelType_()
constexpr sal_uInt16 XML_NAMESPACE_CALC_EXT
const sal_uInt16 XML_NAMESPACE_UNKNOWN
uno::Reference< embed::XStorage > mxTargetStorage
constexpr sal_uInt16 XML_NAMESPACE_XSI
css::uno::Any const & rValue
virtual void SetBodyAttributes()
const css::uno::Reference< css::frame::XModel > & GetModel() const
rtl::Reference< xmloff::OFormLayerXMLExport > mxFormExport
virtual void SAL_CALL cancel() override
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape)
virtual void EndElement(const bool i_bIgnoreWhitespace)=0
#define SERVICE_MAP_ENTRY(app)
ProgressBarHelper * GetProgressBarHelper()
SchXMLExportHelper * CreateChartExport()
#define XML_PROGRESSRANGE
OUString getLanguage() const
Any SAL_CALL getCaughtException()
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
bool mbNullDateInitialized
void AddLanguageTagAttributes(sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc, const css::lang::Locale &rLocale, bool bWriteEmpty)
Add language tag attributes, deciding which are necessary.
xmloff::OFormLayerXMLExport * CreateFormExport()
TStyleElements m_aElements
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &aProps)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
void AddAttribute(sal_uInt16 nPrefix, const char *pName, const OUString &rValue)
const bool mbIgnoreWhitespaceInside
constexpr sal_uInt16 XML_NAMESPACE_FORM
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
void StartElement(sal_uInt16 nPrefix, enum::xmloff::token::XMLTokenEnum eName, bool bIgnWSOutside)
enum::xmloff::token::XMLTokenEnum meClass
static OUString GetGeneratorString()
bool insertName(OUString const &rTheName, bool bAppendFinalSlash=false, sal_Int32 nIndex=LAST_SEGMENT, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
OUString GetRelativeReference(const OUString &rValue)
virtual OUString getDataStyleName(const sal_Int32 nNumberFormat, bool bTimeFormat=false) const
Reference< deployment::XPackageRegistry > create(Reference< deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, Reference< XComponentContext > const &xComponentContext)
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
constexpr sal_uInt16 XML_NAMESPACE_DRAW
OUString AddEmbeddedXGraphic(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic, OUString &rOutMimeType, OUString const &rRequestedName=OUString())
static void lcl_AddGrddl(SvXMLExport const &rExport, const SvXMLExportFlags)
#define XMLERROR_FLAG_WARNING
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.
XMLTokenEnum
The enumeration of all XML tokens.
void SetSchemeOf(const OUString &rOrigFileName)
std::unique_ptr< SvXMLNumFmtExport > mpNumExport
OUString const & GetDestinationShellID() const
rtl::Reference< XMLFontAutoStylePool > mxFontAutoStylePool
std::unique_ptr< ProgressBarHelper > mpProgressBarHelper
virtual OUString SAL_CALL getName() override
constexpr sal_uInt16 XML_NAMESPACE_CONFIG
bool GetGraphicMimeTypeFromStream(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic, OUString &rOutMimeType)
constexpr sal_uInt16 XML_NAMESPACE_XML
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
UNO3_GETIMPLEMENTATION_IMPL(SvXMLExport)
bool SetNullDateOnUnitConverter()
set null date from model to unit converter, if not already done
SAL_DLLPRIVATE void ImplExportSettings()
constexpr sal_uInt16 XML_NAMESPACE_SVG
SvXMLExport(const css::uno::Reference< css::uno::XComponentContext > &xContext, OUString const &implementationName, sal_Int16 const eDefaultMeasureUnit, const enum::xmloff::token::XMLTokenEnum eClass, SvXMLExportFlags nExportFlag)
void AddAttributeASCII(sal_uInt16 nPrefix, const char *pName, const char *pValue)
constexpr sal_uInt16 XML_NAMESPACE_TABLE_EXT
SAL_DLLPRIVATE void ImplExportStyles()
virtual void Characters(const OUString &i_rCharacters)=0
const XMLServiceMapEntry_Impl aServiceMap[]
SvtSaveOptions maSaveOptions
constexpr sal_uInt16 XML_NAMESPACE_FO
XMLEventExport & GetEventExport()
get Event export, with handlers for script types "None" and "StarBasic" already registered; other han...
constexpr sal_uInt16 XML_NAMESPACE_TEXT
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) final override
RequestPriorityClass meClass
css::uno::Reference< css::xml::sax::XDocumentHandler > mxHandler
COMPHELPER_DLLPUBLIC css::uno::Reference< css::beans::XPropertySet > GenericPropertySet_CreateInstance(PropertySetInfo *pInfo)
OUString m_implementationName
tools::Long mDepth
counts depth (number of open elements/start tags)
static OUString GetMimeTypeForImageStream(const css::uno::Reference< css::io::XInputStream > &xInputStream)
virtual XMLPageExport * CreatePageExport()
virtual XMLFontAutoStylePool * CreateFontAutoStylePool()
std::unique_ptr< SvXMLExport_Impl > mpImpl
bool setNullDate(const css::uno::Reference< css::frame::XModel > &xModel)
get the Null Date of the XModel and set it to the UnitConverter
constexpr sal_uInt16 XML_NAMESPACE_GRDDL
OUString AddEmbeddedObject(const OUString &rEmbeddedObjectURL)
std::unique_ptr< XMLImageMapExport > mpImageMapExport
virtual void ExportContent_()=0
Override this method to export the content of .
With this class you can export a
element containing its data as element o...
XMLImageMapExport & GetImageMapExport()
get the export for image maps
constexpr sal_uInt16 XML_NAMESPACE_XHTML
constexpr sal_uInt16 XML_NAMESPACE_XSD
css::uno::Type const & get()
void exportAllSettings(const css::uno::Sequence< css::beans::PropertyValue > &aProps, const OUString &rName) const
OUString getOriginURL() const
virtual void ExportScripts_()
Override this method to export the content of .
OUString GetQNameByKey(sal_uInt16 nKey, const OUString &rLocalName, bool bCache=true) const
virtual ~SvXMLExport() override
constexpr sal_uInt16 XML_NAMESPACE_DC
virtual void ExportMeta_()
Override this method to export the content of .
const uno::Reference< uno::XComponentContext > m_xContext
#define XML_PROGRESSCURRENT
void SetDocHandler(const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler)
const SvXMLNamespaceMap & GetNamespaceMap() const
SAL_DLLPRIVATE void ImplExportContent()
virtual void exportDataStyles()
rtl::Reference< FragmentHandler > mxHandler
virtual void ExportAutoStyles_()=0
Override this method to export the contents of .
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
OUString EncodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
Reference< XPropertySet > PropertySetMerger_CreateInstance(const Reference< XPropertySet > &rPropSet1, const Reference< XPropertySet > &rPropSet2)
SAL_DLLPRIVATE void InitCtor_()
virtual void SAL_CALL setName(const OUString &aName) override
void IgnorableWhitespace()
SAL_DLLPRIVATE void ImplExportMasterStyles()
#define XMLERROR_FLAG_SEVERE
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
OUString const & GetImageFilterName() const
Get clamped mimetype for image export (empty if none)
SvtModuleOptions::EFactory meModelType
constexpr sal_uInt16 XML_NAMESPACE_TABLE
void EndElement(sal_uInt16 nPrefix, enum::xmloff::token::XMLTokenEnum eName, bool bIgnWSInside)
virtual sal_Int32 GetDocumentSpecificSettings(::std::vector< SettingsGroup > &_out_rSettings)
returns the current document settings
std::unique_ptr< XMLErrors > mpXMLErrors
SvXMLNamespaceMap & GetNamespaceMap_()
#define SAL_WARN_IF(condition, area, stream)
SAL_DLLPRIVATE void StartElement(const sal_uInt16 nPrefix, const OUString &rName, const bool bIgnoreWhitespaceOutside)
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
rtl::Reference< SvXMLAutoStylePoolP > const & GetAutoStylePool()
virtual XMLShapeExport * CreateShapeExport()
constexpr sal_uInt16 XML_NAMESPACE_REPORT
#define XML_PROGRESSREPEAT
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
Handling of tokens in XML:
OUString const & GetSourceShellID() const
#define SAL_INFO(area, stream)
void Characters(const OUString &rChars)
rtl::Reference< SvXMLAutoStylePoolP > mxAutoStylePool
#define XMLERROR_FLAG_ERROR
bool mbOutlineStyleAsNormalListStyle
css::uno::Reference< css::lang::XEventListener > mxEventListener
sal_uInt16 Add(const OUString &rPrefix, const OUString &rName, sal_uInt16 nKey=XML_NAMESPACE_UNKNOWN)
css::uno::Reference< css::frame::XModel > mxModel
uno::Reference< uri::XUriReferenceFactory > mxUriReferenceFactory
Export instances of EventsSupplier services.
Reference< XComponentContext > getProcessComponentContext()
constexpr sal_uInt16 XML_NAMESPACE_OF
virtual void ExportMasterStyles_()=0
Override this method to export the contents of .
sal_Int32 dataStyleForceSystemLanguage(sal_Int32 nFormat) const
virtual void GetConfigurationSettings(css::uno::Sequence< css::beans::PropertyValue > &aProps)
OUString encodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
SvXMLErrorFlags mnErrorFlags
virtual void AddAttribute(enum::xmloff::token::XMLTokenEnum i_eName, const OUString &i_rValue)=0
bool AddEmbeddedXGraphicAsBase64(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic)
#define SAL_WARN(area, stream)
void AddAttributeList(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
Reference< XSingleServiceFactory > xFactory
css::uno::Reference< css::util::XNumberFormatsSupplier > mxNumberFormatsSupplier
css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > mxExtHandler
void collectDataStyles(bool bFromUsedStyles)
bool mbExportTextNumberElement
::comphelper::UnoInterfaceToUniqueIdentifierMapper maInterfaceToIdentifierMapper
SvXMLElementExport(SvXMLExport &rExp, sal_uInt16 nPrefix, const char *pName, bool bIgnWSOutside, bool bIgnWSInside)
void AddAttributeXmlId(css::uno::Reference< css::uno::XInterface > const &i_xIfc)
add xml:id attribute (for RDF metadata)
constexpr sal_uInt16 XML_NAMESPACE_META
const XMLEventNameTranslation aStandardEventTable[]
a translation table for the events defined in the XEventsSupplier service (implemented in XMLEventExp...
css::uno::Reference< css::uno::XCurrentContext > NewFlagContext(const OUString &sName)
::std::stack< ::std::pair< std::unique_ptr< SvXMLNamespaceMap >, tools::Long > > mNamespaceMaps
stack of backed up namespace maps long: depth at which namespace map has been backed up into the stac...
OUString mStreamName
name of stream in package, e.g., "content.xml"
virtual void StartElement(enum::xmloff::token::XMLTokenEnum i_eName)=0
bool exportOfficeBinaryDataElement(const css::uno::Reference< css::io::XInputStream > &rIn)
SAL_DLLPRIVATE void ImplExportMeta()
Export an ImageMap as defined by service com.sun.star.image.ImageMap to XML.
INetURLObject smartRel2Abs(OUString const &rTheRelURIRef, bool &rWasAbsolute, bool bIgnoreFragment=false, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, bool bRelativeNonURIs=false, FSysStyle eStyle=FSysStyle::Detect) const
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
virtual void addDataStyle(const sal_Int32 nNumberFormat, bool bTimeFormat=false)
constexpr sal_uInt16 XML_NAMESPACE_OOOW
css::uno::Any const SvXMLExport & rExport
#define XML_EMBEDDEDOBJECT_URL_BASE
const OUString & GetPrefixByKey(sal_uInt16 nKey) const
SvXMLExportFlags getExportFlags() const
std::unique_ptr< XMLEventExport > mpEventExport
virtual void ExportFontDecls_()
Override this method to export the font declarations The default implementation will export the conte...
constexpr sal_uInt16 XML_NAMESPACE_STYLE
bool writeOutlineStyleAsNormalListStyle() const
void ExportEmbeddedOwnObject(css::uno::Reference< css::lang::XComponent > const &rComp)
bool any2bool(const css::uno::Any &rAny)
bool isSystemLocale() const
OUString getCountry() const
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() final override
rtl::Reference< SvXMLAttributeList > mxAttrList
exports com.sun.star. uri
constexpr sal_uInt16 XML_NAMESPACE_FIELD
virtual void collectAutoStyles()
void Export(css::uno::Reference< css::document::XEventsSupplier > const &xAccess, bool bUseWhitespace=true)
export the events (calls EventExport::Export(Reference) )
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Any SAL_CALL makeAny(const SharedUNOComponent< INTERFACE, COMPONENT > &value)