20#include <config_wasm_strip.h>
35#include <com/sun/star/container/XNameAccess.hpp>
36#include <com/sun/star/io/XInputStream.hpp>
37#include <com/sun/star/document/XBinaryStreamResolver.hpp>
38#include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
39#include <com/sun/star/text/XTextContent.hpp>
40#include <com/sun/star/xml/sax/SAXInvalidCharacterException.hpp>
41#include <com/sun/star/uri/XUriReferenceFactory.hpp>
42#include <com/sun/star/uri/UriReferenceFactory.hpp>
43#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
44#include <com/sun/star/util/MeasureUnit.hpp>
62#include <com/sun/star/document/XEventsSupplier.hpp>
63#include <com/sun/star/document/XViewDataSupplier.hpp>
64#include <com/sun/star/frame/XModel.hpp>
65#include <com/sun/star/frame/XModule.hpp>
76#include <com/sun/star/style/XStyle.hpp>
77#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
78#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
79#include <com/sun/star/lang/XMultiServiceFactory.hpp>
80#include <com/sun/star/beans/PropertyAttribute.hpp>
92#include <com/sun/star/document/XDocumentProperties.hpp>
93#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
94#include <com/sun/star/document/XMLOasisBasicExporter.hpp>
95#include <com/sun/star/embed/XEncryptionProtectedSource2.hpp>
96#include <com/sun/star/document/XGraphicStorageHandler.hpp>
97#include <com/sun/star/rdf/XMetadatable.hpp>
140 explicit SettingsExportFacade(
SvXMLExport& i_rExport )
141 :m_rExport( i_rExport )
145 virtual ~SettingsExportFacade()
150 const OUString& i_rValue )
override;
155 virtual void EndElement(
const bool i_bIgnoreWhitespace )
override;
157 virtual void Characters(
const OUString& i_rCharacters )
override;
159 virtual css::uno::Reference< css::uno::XComponentContext >
181 m_rExport.StartElement( sElementName,
true );
185void SettingsExportFacade::EndElement(
const bool i_bIgnoreWhitespace )
188 m_rExport.EndElement( sElementName, i_bIgnoreWhitespace );
192void SettingsExportFacade::Characters(
const OUString& i_rCharacters )
194 m_rExport.GetDocHandler()->characters( i_rCharacters );
197Reference< XComponentContext > SettingsExportFacade::GetComponentContext()
const
199 return m_rExport.getComponentContext();
204class SvXMLExportEventListener :
public cppu::WeakImplHelper<
205 css::lang::XEventListener >
211 explicit SvXMLExportEventListener(
SvXMLExport* pExport);
214 virtual void SAL_CALL disposing(
const lang::EventObject& rEventObject)
override;
219SvXMLExportEventListener::SvXMLExportEventListener(
SvXMLExport* pTempExport)
220 : pExport(pTempExport)
225void SAL_CALL SvXMLExportEventListener::disposing(
const lang::EventObject& )
229 pExport->DisposingModel();
269 size_t nSep = rOrigFileName.find(
':');
270 if( nSep != std::u16string_view::npos )
278 mbOutlineStyleAsNormalListStyle( false ),
280 mbExportTextNumberElement( false ),
281 mbNullDateInitialized( false )
412 uno::Reference<frame::XModule>
const xModule(
mxModel, uno::UNO_QUERY);
413 bool const isBaseForm(xModule.is() &&
414 xModule->getIdentifier() ==
"com.sun.star.sdb.FormDesign");
420 SAL_INFO(
"xmloff.core",
"tdf#138209 force form export to ODF 1.2");
425 SAL_INFO(
"xmloff.core",
"tdf#138209 force form export to ODF 1.2");
437 const uno::Reference< uno::XComponentContext >& xContext,
438 OUString implementationName,
439 sal_Int16
const eDefaultMeasureUnit ,
446 maUnitConv(xContext, util::MeasureUnit::
MM_100TH, eDefaultMeasureUnit, getSaneDefaultVersion()),
448 mnExportFlags( nExportFlags ),
451 mbSaveLinkedSections(true),
452 mbAutoStylesCollected(false)
454 SAL_WARN_IF( !xContext.is(),
"xmloff.core",
"got no service manager" );
459 const css::uno::Reference< css::uno::XComponentContext >& xContext,
460 OUString implementationName,
462 sal_Int16
const eDefaultMeasureUnit ,
463 const uno::Reference< xml::sax::XDocumentHandler > & rHandler)
467 mxExtHandler( rHandler,
uno::UNO_QUERY ),
469 msOrigFileName(
std::move( fileName )),
472 maUnitConv(xContext, util::MeasureUnit::
MM_100TH, eDefaultMeasureUnit, getSaneDefaultVersion()),
477 mbSaveLinkedSections(true),
478 mbAutoStylesCollected(false)
480 SAL_WARN_IF( !xContext.is(),
"xmloff.core",
"got no service manager" );
489 const css::uno::Reference< css::uno::XComponentContext >& xContext,
490 OUString implementationName,
492 const uno::Reference< xml::sax::XDocumentHandler > & rHandler,
493 const Reference< XModel >& rModel,
500 mxExtHandler( rHandler,
uno::UNO_QUERY ),
501 mxNumberFormatsSupplier (rModel,
uno::UNO_QUERY),
503 msOrigFileName(
std::move( fileName )),
506 maUnitConv( xContext,
509 getSaneDefaultVersion()),
511 mnExportFlags( nExportFlag ),
514 mbSaveLinkedSections(true),
515 mbAutoStylesCollected(false)
517 SAL_WARN_IF(!xContext.is(),
"xmloff.core",
"got no service manager" );
535 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
536 if (xPropertySetInfo.is())
543 if (xPropertySetInfo->hasPropertyByName(sProgressMax) &&
544 xPropertySetInfo->hasPropertyByName(sProgressCurrent))
551 if (xPropertySetInfo->hasPropertyByName(sRepeat))
557 if (xPropertySetInfo->hasPropertyByName(sWrittenNumberFormats))
575 mxModel.set( xDoc, UNO_QUERY );
577 throw lang::IllegalArgumentException();
592 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
593 if (xPropertySetInfo.is())
596 if (xPropertySetInfo->hasPropertyByName(sUsePrettyPrinting))
599 if (::cppu::any2bool(aAny))
608 if (xPropertySetInfo->hasPropertyByName(sWrittenNumberFormats))
611 uno::Sequence<sal_Int32> aWasUsed;
612 if(aAny >>= aWasUsed)
625 Reference < XInterface > xIfc =
626 xFactory->createInstance(
"com.sun.star.xml.NamespaceMap");
629 Reference< XNameAccess > xNamespaceMap( xIfc, UNO_QUERY );
630 if( xNamespaceMap.is() )
632 const Sequence< OUString > aPrefixes( xNamespaceMap->getElementNames() );
633 for( OUString
const &
prefix : aPrefixes )
636 if( xNamespaceMap->getByName(
prefix ) >>=
aURL )
642 catch(
const css::uno::Exception&)
658 Reference<XInterface> xValue;
662 uno::Reference<task::XStatusIndicator> xTmpStatus( xValue, UNO_QUERY );
663 if ( xTmpStatus.is() )
667 uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler(xValue, UNO_QUERY);
668 if (xGraphicStorageHandler.is())
672 uno::Reference<document::XEmbeddedObjectResolver> xTmpObjectResolver(
674 if ( xTmpObjectResolver.is() )
678 uno::Reference<xml::sax::XDocumentHandler> xTmpDocHandler(
680 if( xTmpDocHandler.is() )
690 uno::Reference<beans::XPropertySet> xTmpPropertySet(
692 if( xTmpPropertySet.is() )
699 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
701 static constexpr OUStringLiteral sBaseURI =
u"BaseURI";
702 if( xPropertySetInfo->hasPropertyByName(sBaseURI) )
710 static constexpr OUStringLiteral sStreamRelPath =
u"StreamRelPath";
711 if( xPropertySetInfo->hasPropertyByName(sStreamRelPath) )
717 static constexpr OUStringLiteral sStreamName =
u"StreamName";
718 if( xPropertySetInfo->hasPropertyByName(sStreamName) )
726 if( !sRelPath.isEmpty() )
734 static const OUStringLiteral sOutlineStyleAsNormalListStyle(
735 u"OutlineStyleAsNormalListStyle" );
736 if( xPropertySetInfo->hasPropertyByName( sOutlineStyleAsNormalListStyle ) )
739 aAny >>=
mpImpl->mbOutlineStyleAsNormalListStyle;
742 OUString sTargetStorage(
"TargetStorage" );
743 if( xPropertySetInfo->hasPropertyByName( sTargetStorage ) )
746 static const OUStringLiteral sExportTextNumberElement(
747 u"ExportTextNumberElement" );
748 if( xPropertySetInfo->hasPropertyByName( sExportTextNumberElement ) )
751 aAny >>=
mpImpl->mbExportTextNumberElement;
771 for(
const auto& rProp : aDescriptor )
773 const OUString& rPropName = rProp.Name;
774 const Any& rValue = rProp.Value;
776 if ( rPropName ==
"FileName" )
781 else if ( rPropName ==
"FilterName" )
789 for(
const auto& rProp : aDescriptor )
791 const OUString& rPropName = rProp.Name;
792 const Any& rValue = rProp.Value;
794 if (rPropName ==
"SourceShellID")
796 if (!(rValue >>=
mpImpl->maSrcShellID))
799 else if (rPropName ==
"DestinationShellID")
801 if (!(rValue >>=
mpImpl->maDestShellID))
804 else if( rPropName ==
"ImageFilter")
814 catch(
const uno::Exception& e)
819 OUString
sMessage(
ex.getValueTypeName() +
": \"" + e.Message +
"\"");
822 const char* pContext =
typeid(*e.Context).
name();
823 sMessage +=
" (context: " + OUString::createFromAscii(pContext) +
" )";
826 Sequence<OUString>(),
sMessage,
nullptr );
836 Sequence<OUString> aEmptySeq;
863 return {
"com.sun.star.document.ExportFilter",
"com.sun.star.xml.XMLExportFilter" };
869 OUString
const aPreferredPrefix(
"gen");
880 while( nKey != USHRT_MAX )
882 buf.append( aPreferredPrefix );
884 sPrefix = buf.makeStringAndClear();
888 if (
mpImpl->mNamespaceMaps.empty()
889 || (
mpImpl->mNamespaceMaps.top().second !=
mpImpl->mDepth))
893 mpImpl->mNamespaceMaps.push(
911 const OUString& rValue )
918 const OUString& rValue )
931 const OUString& rValue )
945 const css::lang::Locale& rLocale,
bool bWriteEmpty )
947 if (rLocale.Variant.isEmpty())
956 if (bWriteEmpty || !rLocale.Language.isEmpty())
958 if (bWriteEmpty || !rLocale.Country.isEmpty())
969 const LanguageTag& rLanguageTag,
bool bWriteEmpty )
978 if (bWriteEmpty || !rLanguageTag.
getCountry().isEmpty())
990 OUString aLanguage, aScript, aCountry;
992 if (!aLanguage.isEmpty())
997 if (!aCountry.isEmpty())
1006 mxAttrList->AppendAttributeList( xAttrList );
1017 SAL_WARN_IF(
mxAttrList->getLength(),
"xmloff.core",
"XMLExport::CheckAttrList: list is not empty" );
1032 ::std::vector< SettingsGroup > aSettings;
1033 sal_Int32 nSettingsCount = 0;
1036 uno::Sequence< beans::PropertyValue > aViewSettings;
1039 nSettingsCount += aViewSettings.getLength();
1042 uno::Sequence<beans::PropertyValue> aConfigSettings;
1045 nSettingsCount += aConfigSettings.getLength();
1052 nSettingsCount != 0,
1056 SettingsExportFacade aSettingsExportContext( *
this );
1059 for (
auto const& settings : aSettings)
1061 if ( !settings.aSettings.hasElements() )
1064 const OUString& sSettingsName(
GetXMLToken( settings.eGroupName ) );
1087 static constexpr OUStringLiteral sStyleNames(
u"StyleNames" );
1088 static constexpr OUStringLiteral sStyleFamilies(
u"StyleFamilies" );
1089 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
1090 if ( xPropertySetInfo->hasPropertyByName( sStyleNames ) && xPropertySetInfo->hasPropertyByName( sStyleFamilies ) )
1092 Sequence<sal_Int32> aStyleFamilies;
1093 Sequence<OUString> aStyleNames;
1097 Any( aStyleFamilies ) );
1104 OUString sStyleNames(
"StyleNames" );
1105 OUString sStyleFamilies(
"StyleFamilies" );
1108 &&
mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleNames )
1109 &&
mxExportInfo->getPropertySetInfo()->hasPropertyByName( sStyleFamilies ) )
1111 Sequence<sal_Int32> aStyleFamilies;
1112 mxExportInfo->getPropertyValue( sStyleFamilies ) >>= aStyleFamilies;
1113 Sequence<OUString> aStyleNames;
1114 mxExportInfo->getPropertyValue( sStyleNames ) >>= aStyleNames;
1183 OUString(
"http://FIXME") );
1190 uno::Reference< embed::XEncryptionProtectedSource2 > xEncr(
mpImpl->mxTargetStorage, uno::UNO_QUERY);
1192 if (xEncr.is() && xEncr->hasEncryptionData() &&
mxExtHandler.is())
1200 char const* pVersion(
nullptr);
1212 assert(!
"xmloff::SvXMLExport::exportDoc(), unexpected odf default version!");
1219 bool bOwnGraphicResolver =
false;
1220 bool bOwnEmbeddedResolver =
false;
1238 xFactory->createInstance(
"com.sun.star.document.ExportEmbeddedObjectResolver" ), UNO_QUERY);
1242 catch(
const css::uno::Exception&)
1251 static ::comphelper::PropertyMapEntry
const aInfoMap[] =
1253 { OUString(
"Class"), 0,
1255 PropertyAttribute::MAYBEVOID, 0},
1257 Reference< XPropertySet > xConvPropSet(
1258 ::comphelper::GenericPropertySet_CreateInstance(
1259 new ::comphelper::PropertySetInfo( aInfoMap ) ) );
1261 xConvPropSet->setPropertyValue(
"Class",
Any(
GetXMLToken( eClass )) );
1263 Reference< XPropertySet > xPropSet =
1271 Reference< xml::sax::XDocumentHandler > xTmpDocHandler(
1272 m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
"com.sun.star.comp.Oasis2OOoTransformer", aArgs,
m_xContext),
1274 SAL_WARN_IF(!xTmpDocHandler.is(),
"xmloff.core",
"can't instantiate OASIS transformer component" );
1275 if( xTmpDocHandler.is() )
1281 catch(
const css::uno::Exception&)
1298 while( USHRT_MAX !=
nPos )
1311 OUString::createFromAscii(pVersion) );
1347 OUString aTmp =
"application/vnd.oasis.opendocument." +
GetXMLToken( eClass );
1389 if( bOwnGraphicResolver )
1395 if( bOwnEmbeddedResolver )
1411 return mpImpl->maSrcShellID;
1416 return mpImpl->maDestShellID;
1422 Reference< XDocumentPropertiesSupplier > xDocPropsSupplier(
mxModel,
1424 if (xDocPropsSupplier.is()) {
1425 Reference<XDocumentProperties> xDocProps(
1426 xDocPropsSupplier->getDocumentProperties());
1427 if (!xDocProps.is())
throw;
1429 xDocProps->setGenerator(generator);
1461 Reference< beans::XPropertySet > xPSet(
mxModel, UNO_QUERY );
1463 xPSet->getPropertyValue(
"BasicLibraries");
1467 Reference< document::XXMLBasicExporter > xExporter = document::XMLOasisBasicExporter::createWithHandler(
m_xContext, xHdl );
1469 xExporter->setSourceDocument(
mxModel );
1470 Sequence< PropertyValue > aMediaDesc( 0 );
1471 xExporter->filter( aMediaDesc );
1475 Reference< document::XEventsSupplier > xEvents(
GetModel(), UNO_QUERY );
1487 uno::Reference< lang::XMultiServiceFactory > xFact(
GetModel(), uno::UNO_QUERY );
1494 uno::Reference< container::XNameAccess > xGradient( xFact->createInstance(
"com.sun.star.drawing.GradientTable"), uno::UNO_QUERY );
1495 if( xGradient.is() )
1499 if( xGradient->hasElements() )
1501 const uno::Sequence< OUString > aNamesSeq ( xGradient->getElementNames() );
1502 for(
const OUString& rStrName : aNamesSeq )
1506 uno::Any aValue = xGradient->getByName( rStrName );
1508 aGradientStyle.
exportXML( rStrName, aValue );
1510 catch(
const container::NoSuchElementException&)
1517 catch(
const lang::ServiceNotRegisteredException&)
1524 uno::Reference< container::XNameAccess > xHatch( xFact->createInstance(
"com.sun.star.drawing.HatchTable"), uno::UNO_QUERY );
1529 if( xHatch->hasElements() )
1531 const uno::Sequence< OUString > aNamesSeq ( xHatch->getElementNames() );
1532 for(
const OUString& rStrName : aNamesSeq )
1536 uno::Any aValue = xHatch->getByName( rStrName );
1538 aHatchStyle.
exportXML( rStrName, aValue );
1540 catch(
const container::NoSuchElementException&)
1546 catch(
const lang::ServiceNotRegisteredException&)
1553 uno::Reference< container::XNameAccess > xBitmap( xFact->createInstance(
"com.sun.star.drawing.BitmapTable"), uno::UNO_QUERY );
1556 if( xBitmap->hasElements() )
1558 const uno::Sequence< OUString > aNamesSeq ( xBitmap->getElementNames() );
1559 for(
const OUString& rStrName : aNamesSeq )
1563 uno::Any aValue = xBitmap->getByName( rStrName );
1567 catch(
const container::NoSuchElementException&)
1574 catch(
const lang::ServiceNotRegisteredException&)
1581 uno::Reference< container::XNameAccess > xTransGradient( xFact->createInstance(
"com.sun.star.drawing.TransparencyGradientTable"), uno::UNO_QUERY );
1582 if( xTransGradient.is() )
1586 if( xTransGradient->hasElements() )
1588 const uno::Sequence< OUString > aNamesSeq ( xTransGradient->getElementNames() );
1589 for(
const OUString& rStrName : aNamesSeq )
1593 uno::Any aValue = xTransGradient->getByName( rStrName );
1595 aTransGradientstyle.
exportXML( rStrName, aValue );
1597 catch(
const container::NoSuchElementException&)
1604 catch(
const lang::ServiceNotRegisteredException&)
1611 uno::Reference< container::XNameAccess > xMarker( xFact->createInstance(
"com.sun.star.drawing.MarkerTable"), uno::UNO_QUERY );
1616 if( xMarker->hasElements() )
1618 const uno::Sequence< OUString > aNamesSeq ( xMarker->getElementNames() );
1619 for(
const OUString& rStrName : aNamesSeq )
1623 uno::Any aValue = xMarker->getByName( rStrName );
1625 aMarkerStyle.
exportXML( rStrName, aValue );
1627 catch(
const container::NoSuchElementException&)
1634 catch(
const lang::ServiceNotRegisteredException&)
1641 uno::Reference< container::XNameAccess > xDashes( xFact->createInstance(
"com.sun.star.drawing.DashTable"), uno::UNO_QUERY );
1646 if( xDashes->hasElements() )
1648 const uno::Sequence< OUString > aNamesSeq ( xDashes->getElementNames() );
1649 for(
const OUString& rStrName : aNamesSeq )
1653 uno::Any aValue = xDashes->getByName( rStrName );
1655 aDashStyle.
exportXML( rStrName, aValue );
1657 catch(
const container::NoSuchElementException&)
1664 catch(
const lang::ServiceNotRegisteredException&)
1698#if !ENABLE_WASM_STRIP_CHART
1718 uno::Reference<document::XViewDataSupplier> xViewDataSupplier(
GetModel(), uno::UNO_QUERY);
1719 if(!xViewDataSupplier.is())
1722 uno::Reference<container::XIndexAccess> xIndexAccess;
1723 xViewDataSupplier->setViewData( xIndexAccess );
1726 static constexpr OUStringLiteral sNoPreviewData =
u"NoPreviewData";
1728 xIndexAccess = xViewDataSupplier->getViewData();
1732 if(xIndexAccess.is() && xIndexAccess->hasElements() )
1734 sal_Int32
nCount = xIndexAccess->getCount();
1737 aAny = xIndexAccess->getByIndex(
i);
1738 uno::Sequence<beans::PropertyValue> aProps;
1739 if( aAny >>= aProps )
1741 if( aProps.hasElements() )
1752 sal_Int32 nOldLength(rProps.getLength());
1753 rProps.realloc(nOldLength + 1);
1773 Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(
GetModel(), uno::UNO_QUERY);
1774 if (!xStyleFamiliesSupplier.is())
1777 Reference<container::XNameAccess> xStylesFamilies(xStyleFamiliesSupplier->getStyleFamilies());
1778 if (!xStylesFamilies.is())
1781 Reference<container::XIndexAccess> xCellStyles(xStylesFamilies->getByName(
"CellStyles"), uno::UNO_QUERY);
1782 if (!xCellStyles.is())
1785 sal_Int32
nCount(xCellStyles->getCount());
1788 Reference<style::XStyle> xStyle(xCellStyles->getByIndex(
i), uno::UNO_QUERY);
1789 if (bFromUsedStyles && !xStyle->isInUse())
1792 Reference<beans::XPropertySet> xCellProperties(xStyle, uno::UNO_QUERY);
1793 if (xCellProperties.is())
1795 sal_Int32 nNumberFormat = 0;
1796 if (xCellProperties->getPropertyValue(
"NumberFormat") >>= nNumberFormat)
1838 ?
mpNumExport->ForceSystemLanguage( nFormat ) : nFormat;
1848 if (!aOriginURL.isEmpty())
1868 if (xInputStream.is())
1884 if (xInputStream.is())
1923 Any aAny = xNA->getByName( rEmbeddedObjectURL );
1924 Reference < XInputStream > xIn;
1938 const OUString& rName,
1939 bool *pEncoded )
const
1952 uno::Reference< beans::XPropertySetInfo > xPropertySetInfo =
mxExportInfo->getPropertySetInfo();
1953 if (xPropertySetInfo.is())
1959 if (xPropertySetInfo->hasPropertyByName(sProgressMax) &&
1960 xPropertySetInfo->hasPropertyByName(sProgressCurrent) &&
1961 xPropertySetInfo->hasPropertyByName(sProgressRange))
1964 sal_Int32 nProgressMax(0);
1965 sal_Int32 nProgressCurrent(0);
1966 sal_Int32 nProgressRange(0);
1968 if (aAny >>= nProgressRange)
1971 if (aAny >>= nProgressMax)
1973 aAny =
mxExportInfo->getPropertyValue(sProgressCurrent);
1974 if (aAny >>= nProgressCurrent)
1977 if (xPropertySetInfo->hasPropertyByName(sRepeat))
1983 SAL_WARN(
"xmloff.core",
"why is it no boolean?" );
2000 mpEventExport->AddHandler(
"StarBasic", std::make_unique<XMLStarBasicExportHandler>());
2001 mpEventExport->AddHandler(
"Script", std::make_unique<XMLScriptExportHandler>());
2021 OUString sFilterService;
2023 Reference < lang::XServiceInfo > xServiceInfo( rComp, UNO_QUERY );
2024 if( xServiceInfo.is() )
2026 for (
const auto& [sModelService, sMatchingFilterService] :
aServiceMap)
2028 if( xServiceInfo->supportsService( sModelService ) )
2030 sFilterService = sMatchingFilterService;
2036 SAL_WARN_IF( !sFilterService.getLength(),
"xmloff.core",
"no export filter for own object" );
2038 if( sFilterService.isEmpty() )
2041 Reference < XDocumentHandler > xHdl =
2044 Sequence < Any > aArgs{
Any(xHdl) };
2045 Reference< document::XExporter > xExporter(
2046 m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(sFilterService, aArgs,
m_xContext),
2048 SAL_WARN_IF( !xExporter.is(),
"xmloff.core",
"can't instantiate export filter component for own object" );
2049 if( !xExporter.is() )
2052 xExporter->setSourceDocument( rComp );
2054 Reference<XFilter> xFilter( xExporter, UNO_QUERY );
2056 Sequence < PropertyValue > aMediaDesc( 0 );
2057 xFilter->filter( aMediaDesc );
2062 OUString sValue( rValue );
2065 uno::Reference< uri::XUriReference > xUriRef;
2066 if(!sValue.isEmpty() && sValue[0] !=
'#')
2070 xUriRef =
mpImpl->mxUriReferenceFactory->parse( rValue );
2071 if( xUriRef.is() && !xUriRef->isAbsolute() )
2075 bool bWasAbsolute =
false;
2079 catch(
const uno::Exception&)
2086 if( xUriRef->getScheme() ==
mpImpl->msPackageURIScheme )
2096 bool bIgnWSOutside )
2103 bool bIgnWSOutside )
2113 catch (
const SAXInvalidCharacterException& e)
2115 Sequence<OUString> aPars { rName };
2118 catch (
const SAXException& e)
2120 Sequence<OUString> aPars { rName };
2122 aPars, e.Message,
nullptr );
2138 catch (
const SAXInvalidCharacterException& e)
2140 Sequence<OUString> aPars { rChars };
2143 catch (
const SAXException& e)
2145 Sequence<OUString> aPars { rChars };
2147 aPars, e.Message,
nullptr );
2164 if (!
mpImpl->mNamespaceMaps.empty() &&
2165 (
mpImpl->mNamespaceMaps.top().second ==
mpImpl->mDepth))
2168 mpImpl->mNamespaceMaps.pop();
2171 (
mpImpl->mNamespaceMaps.top().second >=
mpImpl->mDepth),
"xmloff.core",
"SvXMLExport: NamespaceMaps corrupted");
2182 catch (
const SAXException& e)
2184 Sequence<OUString> aPars { rName };
2186 aPars, e.Message,
nullptr );
2202 catch (
const SAXException& e)
2205 {}, e.Message, nullptr );
2211 const Sequence<OUString>& rMsgParams,
2212 const OUString& rExceptionMessage,
2213 const Reference<XLocator>& rLocator )
2216 static std::mutex
aMutex;
2217 std::scoped_lock aGuard(aMutex);
2232 mpXMLErrors->AddRecord( nId, rMsgParams, rExceptionMessage, rLocator );
2237 const Sequence<OUString>& rMsgParams)
2239 SetError( nId, rMsgParams,
"",
nullptr );
2253 return mpImpl->maInterfaceToIdentifierMapper;
2259 return mpImpl->mbOutlineStyleAsNormalListStyle;
2264 return mpImpl->mxTargetStorage;
2269 if (
mpImpl->m_oOverrideODFVersion)
2271 return *
mpImpl->m_oOverrideODFVersion;
2278 sal_uInt16
const nLegacyPrefix, OUString
const& rValue)
2301 const uno::Reference<rdf::XMetadatable> xMeta(i_xIfc,
2307 const beans::StringPair mdref( xMeta->getMetadataReference() );
2308 if ( mdref.Second.isEmpty() )
2311 const OUString streamName =
mpImpl->mStreamName;
2312 if ( !streamName.isEmpty() )
2314 if ( streamName == mdref.First )
2320 SAL_WARN(
"xmloff.core",
"SvXMLExport::AddAttributeXmlId: invalid stream name");
2331 if ( mdref.First ==
"content.xml" )
2337 SAL_INFO(
"xmloff.core",
"SvXMLExport::AddAttributeXmlId: no stream name given: dropping styles.xml xml:id");
2344 uno::Reference<text::XTextContent>
const & i_xTextContent)
2353 const uno::Reference<rdf::XMetadatable> xMeta(
2354 i_xTextContent, uno::UNO_QUERY);
2355 if (!xMeta.is() || xMeta->getMetadataReference().Second.isEmpty())
2360 if (!
mpImpl->mpRDFaHelper)
2362 mpImpl->mpRDFaHelper.reset( new ::xmloff::RDFaExportHelper(*
this) );
2364 mpImpl->mpRDFaHelper->AddRDFa(xMeta);
2369 return mpImpl->mbExportTextNumberElement;
2375 if (!
mpImpl->mbNullDateInitialized)
2378 return mpImpl->mbNullDateInitialized;
2387 const sal_uInt16 nPrefixKey,
2388 const OUString& rLName,
2389 const bool bIgnoreWhitespaceOutside )
2397 sal_uInt16 nPrefixKey,
2402 , mbIgnoreWhitespaceInside( bIWSInside )
2403 , mbDoSomething( true )
2405 const OUString sLName( OUString::createFromAscii( pLName ) );
2411 sal_uInt16 nPrefixKey,
2412 const OUString& rLName,
2416 , mbIgnoreWhitespaceInside( bIWSInside )
2417 , mbDoSomething( true )
2424 sal_uInt16 nPrefixKey,
2429 , mbIgnoreWhitespaceInside( bIWSInside )
2430 , mbDoSomething( true )
2438 sal_uInt16 nPrefixKey,
2443 , mbIgnoreWhitespaceInside( bIWSInside )
2444 , mbDoSomething( bDoSth )
2452 const OUString& rQName,
2456 , mbIgnoreWhitespaceInside( bIWSInside )
2457 , mbDoSomething( true )
css::uno::Reference< css::frame::XModel2 > mxModel
constexpr OUStringLiteral XML_PROGRESSRANGE
constexpr OUStringLiteral XML_PROGRESSMAX
constexpr OUStringLiteral XML_PROGRESSCURRENT
constexpr OUStringLiteral XML_PROGRESSREPEAT
Reference< XPropertySet > PropertySetMerger_CreateInstance(const Reference< XPropertySet > &rPropSet1, const Reference< XPropertySet > &rPropSet2) noexcept
const uno::Reference< uno::XComponentContext > m_xContext
TStyleElements m_aElements
RequestPriorityClass meClass
const XMLEventNameTranslation aStandardEventTable[]
a translation table for the events defined in the XEventsSupplier service (implemented in XMLEventExp...
constexpr OUStringLiteral XML_EXPORT_FILTER_MATH
constexpr OUStringLiteral XML_EXPORT_FILTER_WRITER
constexpr OUStringLiteral XML_EXPORT_FILTER_IMPRESS
constexpr OUStringLiteral XML_EXPORT_FILTER_DRAW
constexpr OUStringLiteral XML_EXPORT_FILTER_CALC
constexpr OUStringLiteral XML_EXPORT_FILTER_CHART
OUString getOriginURL() const
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
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
bool insertName(std::u16string_view rTheName, bool bAppendFinalSlash=false, sal_Int32 nIndex=LAST_SEGMENT, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
static OUString GetRelURL(std::u16string_view rTheBaseURIRef, OUString const &rTheAbsURIRef, EncodeMechanism eEncodeMechanism=EncodeMechanism::WasEncoded, DecodeMechanism eDecodeMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
bool isSystemLocale() const
OUString getLanguage() const
OUString getScript() const
const OUString & getBcp47(bool bResolveSystem=true) const
OUString getCountry() const
void getIsoLanguageScriptCountry(OUString &rLanguage, OUString &rScript, OUString &rCountry) const
With this class you can export a <chart:chart> element containing its data as <table:table> element o...
const bool mbIgnoreWhitespaceInside
SvXMLElementExport(SvXMLExport &rExp, sal_uInt16 nPrefix, const char *pName, bool bIgnWSOutside, bool bIgnWSInside)
SAL_DLLPRIVATE void StartElement(const sal_uInt16 nPrefix, const OUString &rName, const bool bIgnoreWhitespaceOutside)
OUString mStreamName
name of stream in package, e.g., "content.xml"
bool mbExportTextNumberElement
::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...
uno::Reference< embed::XStorage > mxTargetStorage
void SetSchemeOf(std::u16string_view rOrigFileName)
bool mbOutlineStyleAsNormalListStyle
::std::unique_ptr< ::xmloff::RDFaExportHelper > mpRDFaHelper
std::optional< SvtSaveOptions::ODFSaneDefaultVersion > m_oOverrideODFVersion
tools::Long mDepth
counts depth (number of open elements/start tags)
OUString msPackageURIScheme
::comphelper::UnoInterfaceToUniqueIdentifierMapper maInterfaceToIdentifierMapper
uno::Reference< uri::XUriReferenceFactory > mxUriReferenceFactory
bool mbNullDateInitialized
virtual void GetViewSettings(css::uno::Sequence< css::beans::PropertyValue > &aProps)
const SvXMLNamespaceMap & GetNamespaceMap() const
css::uno::Reference< css::document::XEmbeddedObjectResolver > mxEmbeddedResolver
std::unique_ptr< SvXMLExport_Impl > mpImpl
SAL_DLLPRIVATE void ImplExportMasterStyles()
ProgressBarHelper * GetProgressBarHelper()
virtual void DisposingModel()
OUString const & GetDestinationShellID() const
char const * GetODFVersionAttributeValue() const
returns value of ODF version attribute
css::uno::Reference< css::frame::XModel > mxModel
::comphelper::UnoInterfaceToUniqueIdentifierMapper & getInterfaceToIdentifierMapper()
SAL_DLLPRIVATE void InitCtor_()
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.
void GetViewSettingsAndViews(css::uno::Sequence< css::beans::PropertyValue > &rProps)
OUString const & GetSourceShellID() const
virtual ErrCode exportDoc(enum ::xmloff::token::XMLTokenEnum eClass=::xmloff::token::XML_TOKEN_INVALID)
virtual void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &aArguments) override
bool exportTextNumberElement() const
css::uno::Reference< css::xml::sax::XExtendedDocumentHandler > mxExtHandler
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() final override
virtual OUString SAL_CALL getName() override
OUString EnsureNamespace(OUString const &i_rNamespace)
ensures that the given namespace is in scope at the next started element.
std::unique_ptr< ProgressBarHelper > mpProgressBarHelper
virtual void ExportStyles_(bool bUsed)
Override this method to export the content of <style:styles>.
OUString GetRelativeReference(const OUString &rValue)
std::unique_ptr< XMLErrors > mpXMLErrors
OUString m_implementationName
void AddAttributeXmlId(css::uno::Reference< css::uno::XInterface > const &i_xIfc)
add xml:id attribute (for RDF metadata)
void AddAttributeList(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
XMLEventExport & GetEventExport()
get Event export, with handlers for script types "None" and "StarBasic" already registered; other han...
void StartElement(sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, bool bIgnWSOutside)
virtual OUString SAL_CALL getImplementationName() final override
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
void Characters(const OUString &rChars)
SAL_DLLPRIVATE void ImplExportSettings()
css::uno::Reference< css::xml::sax::XDocumentHandler > mxHandler
std::unique_ptr< XMLEventExport > mpEventExport
SvXMLExportFlags getExportFlags() const
bool GetGraphicMimeTypeFromStream(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic, OUString &rOutMimeType)
virtual void exportAnnotationMeta(const css::uno::Reference< css::drawing::XShape > &xShape)
void collectDataStyles(bool bFromUsedStyles)
SvXMLNamespaceMap & GetNamespaceMap_()
virtual void ExportContent_()=0
Override this method to export the content of <office:body>.
OUString AddEmbeddedObject(const OUString &rEmbeddedObjectURL)
sal_Int32 dataStyleForceSystemLanguage(sal_Int32 nFormat) const
SvXMLUnitConverter maUnitConv
rtl::Reference< comphelper::AttributeList > mxAttrList
virtual void exportDataStyles()
const css::uno::Reference< css::frame::XModel > & GetModel() const
virtual sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > &aDescriptor) override
virtual SvXMLAutoStylePoolP * CreateAutoStylePool()
virtual sal_Int32 GetDocumentSpecificSettings(::std::vector< SettingsGroup > &_out_rSettings)
returns the current document settings
SchXMLExportHelper * CreateChartExport()
enum ::xmloff::token::XMLTokenEnum meClass
rtl::Reference< SvXMLAutoStylePoolP > mxAutoStylePool
void SAL_DLLPRIVATE AddAttributeIdLegacy(sal_uInt16 const nLegacyPrefix, OUString const &rValue)
add xml:id and legacy namespace id
virtual void ExportMeta_()
Override this method to export the content of <office:meta>.
virtual void SAL_CALL cancel() override
virtual OUString getDataStyleName(const sal_Int32 nNumberFormat, bool bTimeFormat=false) const
virtual XMLPageExport * CreatePageExport()
virtual void ExportFontDecls_()
Override this method to export the font declarations The default implementation will export the conte...
virtual ~SvXMLExport() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) final override
css::uno::Reference< css::document::XGraphicStorageHandler > mxGraphicStorageHandler
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Reference< css::beans::XPropertySet > mxExportInfo
SAL_DLLPRIVATE void DetermineModelType_()
SAL_DLLPRIVATE void ImplExportMeta()
css::uno::Reference< css::xml::sax::XAttributeList > GetXAttrList() const
virtual void ExportAutoStyles_()=0
Override this method to export the contents of <style:auto-styles>.
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
void IgnorableWhitespace()
void addChaffWhenEncryptedStorage()
virtual void exportAutoDataStyles()
SAL_DLLPRIVATE void ImplExportStyles()
std::unique_ptr< XMLImageMapExport > mpImageMapExport
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > &xDoc) override
std::unique_ptr< SvXMLNamespaceMap > mpNamespaceMap
rtl::Reference< SvXMLAutoStylePoolP > const & GetAutoStylePool()
OUString EncodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
bool AddEmbeddedXGraphicAsBase64(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic)
void SetDocHandler(const css::uno::Reference< css::xml::sax::XDocumentHandler > &rHandler)
css::uno::Reference< css::embed::XStorage > const & GetTargetStorage() const
virtual void SetBodyAttributes()
virtual void SAL_CALL setName(const OUString &aName) override
virtual void ExportScripts_()
Override this method to export the content of <office:scripts>.
bool writeOutlineStyleAsNormalListStyle() const
virtual void addDataStyle(const sal_Int32 nNumberFormat, bool bTimeFormat=false)
XMLImageMapExport & GetImageMapExport()
get the export for image maps
virtual void collectAutoStyles()
virtual XMLTextParagraphExport * CreateTextParagraphExport()
OUString const & GetImageFilterName() const
Get clamped mimetype for image export (empty if none)
void ExportEmbeddedOwnObject(css::uno::Reference< css::lang::XComponent > const &rComp)
SvtModuleOptions::EFactory meModelType
rtl::Reference< XMLFontAutoStylePool > mxFontAutoStylePool
css::uno::Reference< css::lang::XEventListener > mxEventListener
rtl::Reference< xmloff::OFormLayerXMLExport > mxFormExport
virtual void ExportMasterStyles_()=0
Override this method to export the contents of <style:master-styles>.
void AddLanguageTagAttributes(sal_uInt16 nPrefix, sal_uInt16 nPrefixRfc, const css::lang::Locale &rLocale, bool bWriteEmpty)
Add language tag attributes, deciding which are necessary.
const SvXMLUnitConverter & GetMM100UnitConverter() const
SvXMLExportFlags mnExportFlags
bool AddEmbeddedObjectAsBase64(const OUString &rEmbeddedObjectURL)
virtual XMLShapeExport * CreateShapeExport()
SvXMLErrorFlags mnErrorFlags
void AddAttributesRDFa(css::uno::Reference< css::text::XTextContent > const &i_xTextContent)
add RDFa attributes for a metadatable text content
void EndElement(sal_uInt16 nPrefix, enum ::xmloff::token::XMLTokenEnum eName, bool bIgnWSInside)
css::uno::Reference< css::util::XNumberFormatsSupplier > mxNumberFormatsSupplier
xmloff::OFormLayerXMLExport * CreateFormExport()
SAL_DLLPRIVATE void ImplExportContent()
SvXMLExport(const css::uno::Reference< css::uno::XComponentContext > &xContext, OUString implementationName, sal_Int16 const eDefaultMeasureUnit, const enum ::xmloff::token::XMLTokenEnum eClass, SvXMLExportFlags nExportFlag)
OUString AddEmbeddedXGraphic(css::uno::Reference< css::graphic::XGraphic > const &rxGraphic, OUString &rOutMimeType, OUString const &rRequestedName=OUString())
bool SetNullDateOnUnitConverter()
set null date from model to unit converter, if not already done
SAL_DLLPRIVATE void ImplExportAutoStyles()
virtual void GetConfigurationSettings(css::uno::Sequence< css::beans::PropertyValue > &aProps)
std::unique_ptr< SvXMLNumFmtExport > mpNumExport
OUString GetQNameByKey(sal_uInt16 nKey, const OUString &rLocalName, bool bCache=true) const
sal_uInt16 GetKeyByPrefix(const OUString &rPrefix) const
sal_uInt16 Add(const OUString &rPrefix, const OUString &rName, sal_uInt16 nKey=XML_NAMESPACE_UNKNOWN)
const OUString & GetPrefixByKey(sal_uInt16 nKey) const
the SvXMLTypeConverter converts values of various types from their internal representation to the tex...
OUString encodeStyleName(const OUString &rName, bool *pEncoded=nullptr) const
bool setNullDate(const css::uno::Reference< css::frame::XModel > &xModel)
get the Null Date of the XModel and set it to the UnitConverter
void overrideSaneDefaultVersion(SvtSaveOptions::ODFSaneDefaultVersion const)
static EFactory ClassifyFactoryByModel(const css::uno::Reference< css::frame::XModel > &xModel)
bool exportOfficeBinaryDataElement(const css::uno::Reference< css::io::XInputStream > &rIn)
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
The XMLErrors is used to collect all errors and warnings that occur for appropriate processing.
Export instances of EventsSupplier services.
void Export(css::uno::Reference< css::document::XEventsSupplier > const &xAccess, bool bUseWhitespace=true)
export the events (calls EventExport::Export(Reference<XNameAccess>) )
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
Export an ImageMap as defined by service com.sun.star.image.ImageMap to XML.
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
void exportAllSettings(const css::uno::Sequence< css::beans::PropertyValue > &aProps, const OUString &rName) const
void exportXML(const OUString &rStrName, const css::uno::Any &rValue)
static OUString GetMimeTypeForImageStream(const css::uno::Reference< css::io::XInputStream > &xInputStream)
css::uno::Type const & get()
static OUString GetGeneratorString()
virtual void StartElement(enum ::xmloff::token::XMLTokenEnum i_eName)=0
virtual css::uno::Reference< css::uno::XComponentContext > GetComponentContext() const =0
virtual void AddAttribute(enum ::xmloff::token::XMLTokenEnum i_eName, const OUString &i_rValue)=0
virtual void EndElement(const bool i_bIgnoreWhitespace)=0
virtual void Characters(const OUString &i_rCharacters)=0
Reference< XSingleServiceFactory > xFactory
Sequence< PropertyValue > aArguments
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
XMLOFF_DLLPUBLIC void exportXML(OUString const &rStrName, css::uno::Any const &rValue, SvXMLExport &rExport)
Reference< XComponentContext > getProcessComponentContext()
css::uno::Reference< css::uno::XCurrentContext > NewFlagContext(const OUString &sName)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
Any SAL_CALL getCaughtException()
css::uno::Reference< css::deployment::XPackageRegistry > create(css::uno::Reference< css::deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, css::uno::Reference< css::uno::XComponentContext > const &xComponentContext)
constexpr OUStringLiteral implementationName
const sal_uInt16 XML_NAMESPACE_UNKNOWN
Handling of tokens in XML:
XMLTokenEnum
The enumeration of all XML tokens.
@ XML_CONFIGURATION_SETTINGS
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
UNOTOOLS_DLLPUBLIC SvtSaveOptions::ODFSaneDefaultVersion GetODFSaneDefaultVersion()
rtl::Reference< FragmentHandler > mxHandler
#define XMLERROR_FLAG_ERROR
#define XMLERROR_FLAG_SEVERE
#define XMLERROR_FLAG_WARNING
static void lcl_AddGrddl(SvXMLExport const &rExport, const SvXMLExportFlags)
constexpr OUStringLiteral XML_USEPRETTYPRINTING
const std::pair< OUString, OUString > aServiceMap[]
constexpr OUStringLiteral XML_MODEL_SERVICE_CHART
constexpr OUStringLiteral XML_MODEL_SERVICE_WRITER
constexpr OUStringLiteral XML_MODEL_SERVICE_IMPRESS
constexpr OUStringLiteral XML_MODEL_SERVICE_MATH
constexpr OUStringLiteral XML_EMBEDDEDOBJECT_URL_BASE
constexpr OUStringLiteral XML_EMBEDDEDOBJECTGRAPHIC_URL_BASE
constexpr OUStringLiteral XML_MODEL_SERVICE_CALC
constexpr OUStringLiteral XML_MODEL_SERVICE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_XHTML
constexpr sal_uInt16 XML_NAMESPACE_FIELD
constexpr sal_uInt16 XML_NAMESPACE_TABLE_EXT
constexpr sal_uInt16 XML_NAMESPACE_META
constexpr sal_uInt16 XML_NAMESPACE_DC
constexpr sal_uInt16 XML_NAMESPACE_REPORT
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_OOOC
constexpr sal_uInt16 XML_NAMESPACE_XSD
constexpr sal_uInt16 XML_NAMESPACE_SVG
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_FORM
constexpr sal_uInt16 XML_NAMESPACE_XFORMS
constexpr sal_uInt16 XML_NAMESPACE_DR3D
constexpr sal_uInt16 XML_NAMESPACE_CHART
constexpr sal_uInt16 XML_NAMESPACE_XML
constexpr sal_uInt16 XML_NAMESPACE_DOM
constexpr sal_uInt16 XML_NAMESPACE_OF
constexpr sal_uInt16 XML_NAMESPACE_TABLE
constexpr sal_uInt16 XML_NAMESPACE_CALC_EXT
constexpr sal_uInt16 XML_NAMESPACE_OOOW
constexpr sal_uInt16 XML_NAMESPACE_CSS3TEXT
constexpr sal_uInt16 XML_NAMESPACE_FORMX
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_OFFICE
constexpr sal_uInt16 XML_NAMESPACE_CONFIG
constexpr sal_uInt16 XML_NAMESPACE_OOO
constexpr sal_uInt16 XML_NAMESPACE_MATH
constexpr sal_uInt16 XML_NAMESPACE_GRDDL
constexpr sal_uInt16 XML_NAMESPACE_DRAW_EXT
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_SCRIPT
constexpr sal_uInt16 XML_NAMESPACE_FO
constexpr sal_uInt16 XML_NAMESPACE_XSI
constexpr sal_uInt16 XML_NAMESPACE_NUMBER
constexpr OUStringLiteral XML_WRITTENNUMBERSTYLES