39#include <com/sun/star/frame/XModel.hpp>
40#include <com/sun/star/util/DateTime.hpp>
41#include <com/sun/star/lang/XServiceInfo.hpp>
42#include <com/sun/star/text/UserDataPart.hpp>
43#include <com/sun/star/text/PageNumberType.hpp>
44#include <com/sun/star/style/NumberingType.hpp>
45#include <com/sun/star/text/ReferenceFieldPart.hpp>
46#include <com/sun/star/text/ReferenceFieldSource.hpp>
47#include <com/sun/star/beans/XPropertySet.hpp>
48#include <com/sun/star/beans/XPropertyState.hpp>
49#include <com/sun/star/text/XTextField.hpp>
50#include <com/sun/star/text/XDependentTextField.hpp>
51#include <com/sun/star/text/XTextFieldsSupplier.hpp>
53#include <com/sun/star/text/SetVariableType.hpp>
54#include <com/sun/star/text/PlaceholderType.hpp>
55#include <com/sun/star/text/FilenameDisplayFormat.hpp>
56#include <com/sun/star/text/ChapterFormat.hpp>
57#include <com/sun/star/text/TemplateDisplayFormat.hpp>
58#include <com/sun/star/container/XNameReplace.hpp>
59#include <com/sun/star/uno/Sequence.h>
60#include <com/sun/star/text/BibliographyDataType.hpp>
61#include <com/sun/star/sdb/CommandType.hpp>
62#include <com/sun/star/rdf/XMetadatable.hpp>
66#include <rtl/ustrbuf.hxx>
68#include <rtl/math.hxx>
161uno::Reference<text::XText> GetToplevelText(
const uno::Reference<text::XText>& xText)
163 uno::Reference<text::XText> xRet = xText;
166 uno::Reference<beans::XPropertySet> xPropertySet(xRet, uno::UNO_QUERY);
167 if (!xPropertySet.is())
170 if (!xPropertySet->getPropertySetInfo()->hasPropertyByName(
"ParentText"))
173 uno::Reference<text::XText> xParent;
174 if (xPropertySet->getPropertyValue(
"ParentText") >>= xParent)
277 const Reference<XPropertySet> &);
279 const Reference<XPropertySet> &,
280 const Reference<XPropertySetInfo> &,
283 const Reference<XPropertySet> &);
285 const Reference<XPropertySet> &);
287 const Reference<XPropertySet> &);
289 const Reference<XPropertySet> &);
291 const Reference<XPropertySet> &);
293 const Reference<XPropertySet> & xPropSet);
295 const OUString& sPropName,
296 const Reference<XPropertySet> & xPropSet);
374 std::unique_ptr<XMLPropertyState> pCombinedCharState)
376 pCombinedCharactersPropertyState(
std::move(pCombinedCharState))
387 const Reference<XTextField> & rTextField,
388 const Reference<XPropertySet> & xPropSet)
391 Reference<XServiceInfo> xService(rTextField, UNO_QUERY);
392 const Sequence<OUString> aServices = xService->getSupportedServiceNames();
397 const OUString* pNames = std::find_if(aServices.begin(), aServices.end(),
398 [](
const OUString& rName) { return rName.matchIgnoreAsciiCase(gsServicePrefix); });
399 if (pNames != aServices.end())
406 if( sFieldName.isEmpty() )
409 pNames = std::find_if(aServices.begin(), aServices.end(),
410 [](
const OUString& rName) { return rName.startsWith(gsPresentationServicePrefix); });
411 if (pNames != aServices.end())
417 if( !sFieldName.isEmpty() )
419 if( sFieldName ==
"Header" )
423 else if( sFieldName ==
"Footer" )
427 else if( sFieldName ==
"DateTime" )
435 DBG_ASSERT(!sFieldName.isEmpty(),
"no TextField service found!");
440 std::u16string_view sFieldName,
441 const Reference<XPropertySet> & xPropSet)
452 DBG_ASSERT(!sFieldName.empty(),
"no valid service name!");
454 if (!sFieldName.empty())
461 DBG_ASSERT(bRet,
"Unknown field service name encountered!");
475 case SetVariableType::STRING:
476 case SetVariableType::VAR:
479 case SetVariableType::SEQUENCE:
482 case SetVariableType::FORMULA:
493 case SetVariableType::STRING:
494 case SetVariableType::VAR:
497 case SetVariableType::FORMULA:
500 case SetVariableType::SEQUENCE:
516 if (xPropSet->getPropertySetInfo()->
551 case ReferenceFieldSource::REFERENCE_MARK:
554 case ReferenceFieldSource::SEQUENCE_FIELD:
557 case ReferenceFieldSource::BOOKMARK:
560 case ReferenceFieldSource::FOOTNOTE:
563 case ReferenceFieldSource::ENDNOTE:
635 const Reference<XPropertySet> & xPropSet)
637 switch (nFieldType) {
645 SetVariableType::STRING );
651 Reference<XTextField> xTextField(xPropSet, UNO_QUERY);
652 DBG_ASSERT(xTextField.is(),
"field is no XTextField!");
743 OSL_FAIL(
"unknown field type/field has no content");
751 const Reference<XTextField> & rTextField,
const bool bProgress,
752 const bool bRecursive )
755 Reference<XPropertySet> xPropSet(rTextField, UNO_QUERY);
760 Reference<XDependentTextField> xDepField(rTextField, UNO_QUERY);
765 Reference<XText> xOurText = GetToplevelText(rTextField->getAnchor()->getText());
767 map<Reference<XText>, set<OUString> >::iterator aMapIter =
774 (*pUsedMasters)[xOurText] = aSet;
781 if (!sFieldMasterName.isEmpty())
782 aMapIter->second.insert( sFieldMasterName );
793 Reference <XPropertySet> xRangePropSet(rTextField->getAnchor(), UNO_QUERY);
807 if ( (5100 != nFormat) &&
821 Reference<XPropertySetInfo> xPropSetInfo(
822 xPropSet->getPropertySetInfo() );
834 xPropSet, xPropSetInfo,
false ) )
851 bool dummy_for_autostyles(
true);
884 xPropSet, xPropSet->getPropertySetInfo(),
900 "need proper PropertyState for combined characters");
966 OSL_FAIL(
"unknown field type!");
974 const Reference<XTextField> & rTextField,
bool bProgress,
975 bool & rPrevCharIsSpace)
978 Reference<XPropertySet> xPropSet(rTextField, UNO_QUERY);
981 Reference <XPropertySet> xRangePropSet(rTextField->getAnchor(), UNO_QUERY);
998 FindTextStyle( xRangePropSet, bIsUICharStyle, bHasAutoStyle, pStates );
999 bool bHasStyle = !sStyle.isEmpty();
1002 Reference<XPropertySetInfo> xRangePropSetInfo;
1007 xRangePropSet, xRangePropSetInfo ), bHasAutoStyle,
1016 GetExport().EncodeStyleName( sStyle ) );
1024 bProgress, rPrevCharIsSpace);
1030 const Reference<XTextField> & rTextField,
1031 const Reference<XPropertySet> & rPropSet,
1032 const Reference<XPropertySet> &,
1035 bool & rPrevCharIsSpace)
1039 Reference<XPropertySetInfo> xPropSetInfo(rPropSet->getPropertySetInfo());
1041 OUString sPresentation = rTextField->getPresentation(
false);
1090 rPropSet, xPropSetInfo,
false ) );
1110 rPropSet, xPropSetInfo,
false ) );
1133 rPropSet, xPropSetInfo,
false ) );
1146 false,
false, !bCmd,
1149 rPropSet, xPropSetInfo,
false ) );
1203 !bCmd, !bCmd, !bCmd,
1206 rPropSet, xPropSetInfo,
false ) );
1232 rPropSet, xPropSetInfo,
false ),
1274 rPropSet, xPropSetInfo,
false ) );
1332 sal_Int32 nDummy = 0;
1345 rPropSet, xPropSetInfo);
1359 rPropSet, xPropSetInfo);
1369 "Unexpected presentation for database next field");
1371 rPropSet, xPropSetInfo);
1383 "Unexpected presentation for database select field");
1385 rPropSet, xPropSetInfo);
1403 false,
false,
true,
false);
1408 xMaster, xMaster->getPropertySetInfo());
1431 rPropSet, xPropSetInfo,
false ) );
1462 rPropSet, xPropSetInfo,
false ));
1520 "Unexpected presentation for hidden paragraph field");
1564 "Unexpected presentation page variable field");
1701 "Unexpected presentation for script field");
1720 "Unexpected presentation for annotation field");
1728 if (!
aName.isEmpty())
1736 OUString aResolvedText;
1737 OUStringBuffer aResolvedTextBuffer;
1739 aResolvedText = aResolvedTextBuffer.makeStringAndClear();
1748 if( !aAuthor.isEmpty() )
1760 if ( !bRemovePersonalInfo )
1774 if( !aInitials.isEmpty() )
1792 css::uno::Reference < css::text::XText > xText;
1798 catch ( css::uno::Exception& )
1887 OSL_FAIL(
"unknown field type encountered!");
1897 Reference<XText> xEmptyText;
1903 const Reference<XText> & rText )
1906 vector<OUString> aVarName;
1907 vector<OUString> aUserName;
1908 vector<OUString> aSeqName;
1909 vector<OUString> aDdeName;
1912 Reference<XTextFieldsSupplier> xTextFieldsSupp(
GetExport().GetModel(),
1914 if( !xTextFieldsSupp.is() )
1917 Reference<container::XNameAccess> xFieldMasterNameAccess =
1918 xTextFieldsSupp->getTextFieldMasters();
1923 Sequence<OUString> aFieldMasters;
1928 "field masters must be recorded in order to be "
1929 "written out separately" );
1932 map<Reference<XText>, set<OUString> > ::iterator aMapIter =
1947 aFieldMasters = xFieldMasterNameAccess->getElementNames();
1950 for(
const OUString& sFieldMaster : std::as_const(aFieldMasters)) {
1953 if ( sFieldMaster.startsWithIgnoreAsciiCase(
1954 "com.sun.star.text.FieldMaster.DataBase.") )
1960 OUString sFieldMasterType;
1965 Reference<XPropertySet> xPropSet;
1966 Any aAny = xFieldMasterNameAccess->getByName(sFieldMaster);
1975 if ( SetVariableType::SEQUENCE == nType )
1977 aSeqName.push_back( sFieldMaster );
1981 aVarName.push_back( sFieldMaster );
1986 aUserName.push_back( sFieldMaster );
1990 aDdeName.push_back( sFieldMaster );
2001 if ( !aVarName.empty() )
2008 for (
const auto& sName : aVarName)
2011 Reference<XPropertySet> xPropSet;
2012 Any aAny = xFieldMasterNameAccess->getByName(sName);
2016 OUString sFieldMasterType;
2022 == SetVariableType::STRING );
2025 Reference<XPropertySet> xFieldPropSet;
2033 false,
true,
false,
false);
2046 false,
true,
false,
false);
2056 if ( !aSeqName.empty() )
2063 for (
const auto& sName : aSeqName)
2066 Reference<XPropertySet> xPropSet;
2067 Any aAny = xFieldMasterNameAccess->getByName(sName);
2071 OUString sFieldMasterType;
2078 DBG_ASSERT(nLevel >= 0,
"illegal outline level");
2079 DBG_ASSERT(nLevel < 127,
"possible illegal outline level");
2094 if ( !aUserName.empty() )
2101 for (
const auto& sName : aUserName)
2104 Reference<XPropertySet> xPropSet;
2105 Any aAny = xFieldMasterNameAccess->getByName(sName);
2109 OUString sFieldMasterType;
2141 if ( aDdeName.empty() )
2149 for (
const auto& sName : aDdeName)
2152 Reference<XPropertySet> xPropSet;
2153 Any aAny = xFieldMasterNameAccess->getByName(sName);
2157 Reference<XPropertySet> xDummy;
2181 if (bIsAutomaticUpdate)
2196 bool bExportOnlyUsed)
2201 if (bExportOnlyUsed)
2217 eElementName, bAddSpace, bAddSpace );
2222 const OUString& sContent)
2229 eElementName,
false,
false );
2239 const Reference<XPropertySet> & rPropSet,
2240 const OUString& rContent )
2258 Sequence<PropertyValue>
aSeq;
2260 rPropSet->getPropertyValue(
"ScriptURL") >>=
sName;
2264 if (!
sName.isEmpty())
2267 aSeq = Sequence<PropertyValue>
2275 aSeq = Sequence<PropertyValue>
2291 const Reference<XPropertySet> & i_xMeta,
2292 bool i_bAutoStyles,
bool i_bProgress,
2293 bool & rPrevCharIsSpace)
2295 bool doExport(!i_bAutoStyles);
2297 switch (
GetExport().getSaneDefaultVersion()) {
2303 const Reference < XEnumerationAccess > xEA( i_xMeta, UNO_QUERY_THROW );
2304 const Reference < XEnumeration > xTextEnum( xEA->createEnumeration() );
2308 const Reference<rdf::XMetadatable> xMeta( i_xMeta, UNO_QUERY_THROW );
2313 "",
u"", 0.0,
false,
false,
true,
2317 xMeta->ensureMetadataReference();
2328 exportTextRangeEnumeration(xTextEnum, i_bAutoStyles, i_bProgress, rPrevCharIsSpace);
2334 sal_Int32 nFormatKey,
2335 const OUString& sContent,
2336 std::u16string_view sDefault,
2339 bool bExportValueType,
2341 bool bForceSystemLanguage,
2350 if (bExportValue || bExportValueType)
2353 GetExport(), sContent, sDefault, bExportValue);
2362 DBG_ASSERT(bExportValueType || !bExportValue,
"value w/o value type not supported!");
2366 if (-1 != nFormatKey)
2368 if (bExportValue || bExportValueType)
2372 GetExport(), nFormatKey, fValue, bExportValue);
2378 if( bForceSystemLanguage )
2382 OUString sDataStyleName =
2384 if( !sDataStyleName.isEmpty() )
2421 bool bBool,
bool bDefault)
2429 if ((!bBool) != (!bDefault)) {
2438 const OUString& sValue,
2447 if ( bOmitEmpty && sValue.isEmpty() )
2455 sal_uInt16 nValuePrefix,
2456 const OUString& sValue)
2465 const OUString& sValue,
2466 std::u16string_view sDefault)
2468 if (sValue != sDefault)
2476 sal_uInt16 nValuePrefix,
2477 const OUString& sValue,
2478 std::u16string_view sDefault)
2480 if (sValue != sDefault)
2507 if ( eValue != eDefault )
2514 std::u16string_view sParagraphSequence)
2519 std::u16string_view aSubString;
2537 OUString::number(nNum));
2542 sal_Int32 nNum, sal_Int32 nDefault)
2544 if (nNum != nDefault)
2553 if (NumberingType::PAGE_DESCRIPTOR == nNumberingType)
2556 OUStringBuffer sTmp( 10 );
2561 sTmp.makeStringAndClear() );
2565 if (!sTmp.isEmpty())
2568 sTmp.makeStringAndClear() );
2579 bool bOmitDurationIfZero,
2585 dValue = ::rtl::math::approxFloor(dValue);
2592 if (!bOmitDurationIfZero || dValue != 0.0)
2609 const util::DateTime& rTime)
2613 util::DateTime aDateTime(rTime);
2629 if (!(bIsDuration && (nMinutes==0)))
2632 bIsDate, bIsDuration);
2638 const util::DateTime& rTime)
2653 {
XML_BOOK, BibliographyDataType::BOOK },
2661 {
XML_EMAIL, BibliographyDataType::EMAIL },
2662 {
XML_INBOOK, BibliographyDataType::INBOOK },
2666 {
XML_MANUAL, BibliographyDataType::MANUAL },
2668 {
XML_MISC, BibliographyDataType::MISC },
2673 {
XML_WWW, BibliographyDataType::WWW },
2679 const Reference<XPropertySet>& rPropSet)
2683 Sequence<PropertyValue> aValues;
2687 for (
const auto& rProp : std::as_const(aValues))
2689 if( rProp.Name ==
"BibiliographicType" )
2691 sal_Int16 nTypeId = 0;
2692 rProp.Value >>= nTypeId;
2693 OUStringBuffer sBuf;
2700 sBuf.makeStringAndClear());
2707 rProp.Value >>= sStr;
2709 if (!sStr.isEmpty())
2729 sal_Int32 nCommandType)
2732 switch( nCommandType )
2745 const Sequence<OUString>& rSequence,
2746 const OUString& sSelected )
2756 const Sequence<OUString>& rSequence,
2757 sal_Int32 nSelected )
2759 sal_Int32
nLength = rSequence.getLength();
2760 const OUString* pSequence = rSequence.getConstArray();
2761 for( sal_Int32 i = 0;
i <
nLength;
i++ )
2763 if( i == nSelected )
2774 const OUString& sPresentation,
2775 const Reference<XPropertySet>& rPropertySet,
2776 const Reference<XPropertySetInfo>& rPropertySetInfo )
2779 SAL_WARN_IF( !rPropertySet.is(),
"xmloff.text",
"need property set" );
2780 SAL_WARN_IF( !rPropertySetInfo.is(),
"xmloff.text",
"need property set info" );
2783 OUString sDataBaseName;
2784 OUString sDataBaseURL;
2787 && !sStr.isEmpty() )
2789 sDataBaseName = sStr;
2795 sDataBaseURL = sStr;
2799 if( !sDataBaseName.isEmpty() )
2807 if( !sDataBaseURL.isEmpty() )
2822 std::u16string_view sMasterName, OUString& sFieldType, OUString& sVarName)
2825 size_t nSeparator = sMasterName.find(
'.',
nLength);
2829 SAL_WARN(
"xmloff.text",
"no field var name!");
2834 sVarName = sMasterName.substr(nSeparator+1);
2841 const Reference<XTextField> & rTextField)
2844 Reference<XDependentTextField> xDep(rTextField, UNO_QUERY);
2845 return xDep->getTextFieldMaster();
2850 const Reference<XPropertySet> & xMaster,
2851 Reference<XPropertySet> & xField)
2854 Sequence<Reference<XDependentTextField> > aFields;
2859 if (aFields.hasElements())
2862 Reference<XDependentTextField> xTField = aFields[0];
2863 xField.set(xTField, UNO_QUERY);
2865 "Surprisingly, this TextField refuses to be a PropertySet!");
2882 case PlaceholderType::TEXT:
2886 case PlaceholderType::TABLE:
2890 case PlaceholderType::TEXTFRAME:
2894 case PlaceholderType::GRAPHIC:
2898 case PlaceholderType::OBJECT:
2904 OSL_FAIL(
"unknown placeholder type");
2913 const Reference<XPropertySet> & xPropSet)
2921 const Reference<XPropertySet> & xPropSet,
2925 PageNumberType ePage;
2927 ePage = *o3tl::doAccess<PageNumberType>(aAny);
2931 case PageNumberType_PREV:
2935 case PageNumberType_CURRENT:
2938 case PageNumberType_NEXT:
2943 OSL_FAIL(
"unknown page number type");
2958 case TemplateDisplayFormat::FULL:
2961 case TemplateDisplayFormat::PATH:
2964 case TemplateDisplayFormat::NAME:
2967 case TemplateDisplayFormat::NAME_AND_EXT:
2970 case TemplateDisplayFormat::AREA:
2973 case TemplateDisplayFormat::TITLE:
2977 OSL_FAIL(
"unknown template display format");
3014 OSL_FAIL(
"no count field token");
3029 case ChapterFormat::NAME:
3032 case ChapterFormat::NUMBER:
3035 case ChapterFormat::NAME_NUMBER:
3038 case ChapterFormat::NO_PREFIX_SUFFIX:
3041 case ChapterFormat::DIGIT:
3045 OSL_FAIL(
"unknown chapter display format");
3061 case FilenameDisplayFormat::FULL:
3064 case FilenameDisplayFormat::PATH:
3067 case FilenameDisplayFormat::NAME:
3070 case FilenameDisplayFormat::NAME_AND_EXT:
3074 OSL_FAIL(
"unknown filename display format");
3088 case ReferenceFieldPart::PAGE:
3091 case ReferenceFieldPart::CHAPTER:
3094 case ReferenceFieldPart::TEXT:
3097 case ReferenceFieldPart::UP_DOWN:
3100 case ReferenceFieldPart::CATEGORY_AND_NUMBER:
3103 case ReferenceFieldPart::ONLY_CAPTION:
3106 case ReferenceFieldPart::ONLY_SEQUENCE_NUMBER:
3109 case ReferenceFieldPart::PAGE_DESC:
3115 case ReferenceFieldPart::NUMBER:
3118 case ReferenceFieldPart::NUMBER_NO_CONTEXT:
3121 case ReferenceFieldPart::NUMBER_FULL_CONTEXT:
3125 OSL_FAIL(
"unknown reference type");
3140 case ReferenceFieldSource::REFERENCE_MARK:
3143 case ReferenceFieldSource::SEQUENCE_FIELD:
3146 case ReferenceFieldSource::BOOKMARK:
3149 case ReferenceFieldSource::FOOTNOTE:
3150 case ReferenceFieldSource::ENDNOTE:
3154 OSL_FAIL(
"unknown reference source");
3164 const Reference<XPropertySet> & xPropSet)
3171 case UserDataPart::COMPANY :
3174 case UserDataPart::FIRSTNAME :
3177 case UserDataPart::NAME :
3180 case UserDataPart::SHORTCUT :
3183 case UserDataPart::STREET :
3186 case UserDataPart::COUNTRY :
3189 case UserDataPart::ZIP :
3192 case UserDataPart::CITY :
3195 case UserDataPart::TITLE :
3198 case UserDataPart::POSITION :
3201 case UserDataPart::PHONE_PRIVATE :
3204 case UserDataPart::PHONE_COMPANY :
3207 case UserDataPart::FAX :
3210 case UserDataPart::EMAIL :
3213 case UserDataPart::STATE :
3217 SAL_WARN(
"xmloff.text",
"unknown sender type");
3278 SAL_WARN(
"xmloff.text",
"unknown docinfo field type!");
3290 if(
sName ==
u"Identifier" )
3294 else if(
sName ==
u"BibiliographicType" )
3298 else if(
sName ==
u"Address" )
3302 else if(
sName ==
u"Annote" )
3306 else if(
sName ==
u"Author" )
3310 else if(
sName ==
u"Booktitle" )
3314 else if(
sName ==
u"Chapter" )
3318 else if(
sName ==
u"Edition" )
3322 else if(
sName ==
u"Editor" )
3326 else if(
sName ==
u"Howpublished" )
3330 else if(
sName ==
u"Institution" )
3334 else if(
sName ==
u"Journal" )
3338 else if(
sName ==
u"Month" )
3342 else if(
sName ==
u"Note" )
3346 else if(
sName ==
u"Number" )
3350 else if(
sName ==
u"Organizations" )
3354 else if(
sName ==
u"Pages" )
3358 else if(
sName ==
u"Publisher" )
3362 else if(
sName ==
u"School" )
3366 else if(
sName ==
u"Series" )
3370 else if(
sName ==
u"Title" )
3374 else if(
sName ==
u"Report_Type" )
3378 else if(
sName ==
u"Volume" )
3382 else if(
sName ==
u"Year" )
3386 else if(
sName ==
u"URL" )
3390 else if(
sName ==
u"Custom1" )
3394 else if(
sName ==
u"Custom2" )
3398 else if(
sName ==
u"Custom3" )
3402 else if(
sName ==
u"Custom4" )
3406 else if(
sName ==
u"Custom5" )
3410 else if(
sName ==
u"ISBN" )
3414 else if (
sName ==
u"LocalURL")
3420 SAL_WARN(
"xmloff.text",
"Unknown bibliography info data");
3443 return "ftn" + OUString::number(
static_cast<sal_Int32
>(nSeqNo));
3448 std::u16string_view rSeqName)
3451 return OUString::Concat(
"ref") +rSeqName + OUString::number(
static_cast<sal_Int32
>(nSeqNo));
3462 const OUString& sPropName,
3463 const Reference<XPropertySet> & xPropSet)
3465 Any aAny = xPropSet->getPropertyValue(sPropName);
3466 bool bBool = *o3tl::doAccess<bool>(aAny);
3471 const OUString& sPropName,
3472 const Reference<XPropertySet> & xPropSet,
3473 const Reference<XPropertySetInfo> & xPropSetInfo,
3476 return xPropSetInfo->hasPropertyByName( sPropName )
3481 const OUString& sPropName,
3482 const Reference<XPropertySet> & xPropSet)
3484 Any aAny = xPropSet->getPropertyValue(sPropName);
3485 double fDouble = 0.0;
3491 const OUString& sPropName,
3492 const Reference<XPropertySet> & xPropSet)
3494 Any aAny = xPropSet->getPropertyValue(sPropName);
3501 const OUString& sPropName,
3502 const Reference<XPropertySet> & xPropSet)
3504 Any aAny = xPropSet->getPropertyValue(sPropName);
3511 const OUString& sPropName,
3512 const Reference<XPropertySet> & xPropSet)
3514 Any aAny = xPropSet->getPropertyValue(sPropName);
3521 const OUString& sPropName,
3522 const Reference<XPropertySet> & xPropSet)
3524 Any aAny = xPropSet->getPropertyValue(sPropName);
3531 const OUString& sPropName,
3532 const Reference<XPropertySet> & xPropSet)
3534 Any aAny = xPropSet->getPropertyValue(sPropName);
3535 util::DateTime aTime;
3541 const OUString& sPropName,
3542 const Reference<XPropertySet> & xPropSet)
3544 Any aAny = xPropSet->getPropertyValue(sPropName);
3545 Sequence<OUString> aSequence;
const SvXMLNamespaceMap & GetNamespaceMap() const
OUString GetRelativeReference(const OUString &rValue)
void AddAttributeXmlId(css::uno::Reference< css::uno::XInterface > const &i_xIfc)
add xml:id attribute (for RDF metadata)
XMLEventExport & GetEventExport()
get Event export, with handlers for script types "None" and "StarBasic" already registered; other han...
rtl::Reference< XMLTextParagraphExport > const & GetTextParagraphExport()
void AddAttribute(sal_uInt16 nPrefix, const OUString &rName, const OUString &rValue)
void Characters(const OUString &rChars)
sal_Int32 dataStyleForceSystemLanguage(sal_Int32 nFormat) const
virtual OUString getDataStyleName(const sal_Int32 nNumberFormat, bool bTimeFormat=false) const
SvtSaveOptions::ODFSaneDefaultVersion getSaneDefaultVersion() const
returns the deterministic version for odf export
virtual void addDataStyle(const sal_Int32 nNumberFormat, bool bTimeFormat=false)
const SvXMLUnitConverter & GetMM100UnitConverter() const
size_t GetInfoID(const OUString sPersonalInfo) const
OUString GetQNameByKey(sal_uInt16 nKey, const OUString &rLocalName, bool bCache=true) const
bool getNextToken(std::u16string_view &rToken)
static bool convertEnum(EnumT &rEnum, std::u16string_view rValue, const SvXMLEnumMapEntry< EnumT > *pMap)
convert string to enum using given enum map, if the enum is not found in the map, this method will re...
bool convertNumFormat(sal_Int16 &rType, const OUString &rNumFormat, std::u16string_view rNumLetterSync, bool bNumberNone=false) const
convert num-format and num-letter-sync values to NumberingType
void convertDateTime(OUStringBuffer &rBuffer, const double &fDateTime, bool const bAddTimeIf0AM=false)
convert double to ISO Date Time String
static void convertNumLetterSync(OUStringBuffer &rBuffer, sal_Int16 nType)
void ExportSingleEvent(const css::uno::Sequence< css::beans::PropertyValue > &rEventValues, const OUString &rApiEventName, bool bUseWhitespace=true)
export a single event (writes <office:events> element)
void ProcessDateTime(enum ::xmloff::token::XMLTokenEnum eXMLName, double dValue, bool bIsDate, bool bIsDuration, bool bOmitDurationIfZero=true, sal_uInt16 nPrefix=XML_NAMESPACE_TEXT)
exporting a time style?
static enum::xmloff::token::XMLTokenEnum MapSenderFieldName(const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
element name for sender fields
void ProcessTimeOrDateTime(enum ::xmloff::token::XMLTokenEnum eXMLName, const css::util::DateTime &rTime)
date/time value
void ProcessValueAndType(bool bIsString, sal_Int32 nFormatKey, const OUString &sContent, std::u16string_view sDefault, double fValue, bool bExportValue, bool bExportValueType, bool bExportStyle, bool bForceSystemLanguage, bool bTimeStyle=false)
is show command/show name?
std::unique_ptr< ::std::map< css::uno::Reference< css::text::XText >, ::std::set< OUString > > > pUsedMasters
store used text field master names (NULL means: don't collect)
static enum::xmloff::token::XMLTokenEnum MapCountFieldName(FieldIdEnum nToken)
map count/statistics field token to XML name
void ProcessString(enum ::xmloff::token::XMLTokenEnum eXmlName, const OUString &sValue, bool bOmitEmpty=false, sal_uInt16 nPrefix=XML_NAMESPACE_TEXT)
default value
void ExportField(const css::uno::Reference< css::text::XTextField > &rTextField, bool bProgress, bool &rPrevCharIsSpace)
Export this field and the surrounding span element with the formatting.
XMLTextFieldExport(SvXMLExport &rExp, std::unique_ptr< XMLPropertyState > pCombinedCharState)
static OUString MakeSequenceRefName(sal_Int16 nSeqNo, std::u16string_view rSeqName)
make reference name for a sequence field
void ProcessIntegerDef(enum ::xmloff::token::XMLTokenEnum eXmlName, sal_Int32 nNum, sal_Int32 nDefault)
attribute value
static enum::xmloff::token::XMLTokenEnum MapDocInfoFieldName(enum FieldIdEnum nToken)
void SetExportOnlyUsedFieldDeclarations(bool bExportOnlyUsed=true)
export all field declarations, or only those that have been used? Calling this method will reset the ...
void ExportElement(enum ::xmloff::token::XMLTokenEnum eElement, bool bAddSpace=false)
export an empty element
static enum::xmloff::token::XMLTokenEnum MapPlaceholderType(sal_uInt16 nType)
map placeholder type
static bool GetDependentFieldPropertySet(const css::uno::Reference< css::beans::XPropertySet > &xmaster, css::uno::Reference< css::beans::XPropertySet > &xField)
get PropertySet of (any) DependentTextField for this FieldMaster
static OUString MakeFootnoteRefName(sal_Int16 nSeqNo)
out: variable name
void ProcessStringSequence(const css::uno::Sequence< OUString > &rSequence, const OUString &sSelected)
css::sdb::CommandType
static enum::xmloff::token::XMLTokenEnum MapChapterDisplayFormat(sal_Int16 nType)
map ChapterDisplayFormat to XML string
static enum::xmloff::token::XMLTokenEnum MapPageNumberName(const css::uno::Reference< css::beans::XPropertySet > &xPropSet, sal_Int32 &nOffset)
void ProcessInteger(enum ::xmloff::token::XMLTokenEnum eXmlName, sal_Int32 nNum)
attribute default; omit, if attribute differs
void ExportFieldDeclarations()
export field declarations.
void ProcessBibliographyData(const css::uno::Reference< css::beans::XPropertySet > &rPropertySet)
date/time value
void ExportDataBaseElement(enum ::xmloff::token::XMLTokenEnum eElement, const OUString &sContent, const css::uno::Reference< css::beans::XPropertySet > &rPropertySet, const css::uno::Reference< css::beans::XPropertySetInfo > &rPropertySetInfo)
export attributes that describe a data source
static enum FieldIdEnum MapFieldName(std::u16string_view sFieldName, const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
get field ID from XTextField service name (and it's PropertySet)
static enum::xmloff::token::XMLTokenEnum MapReferenceType(sal_Int16 nType)
map ReferenceFieldPart to XML string
static enum::xmloff::token::XMLTokenEnum MapBibliographyFieldName(std::u16string_view sName)
static enum::xmloff::token::XMLTokenEnum MapFilenameDisplayFormat(sal_Int16 nType)
map FilenameDisplayFormat to XML attribute names
void ExportMetaField(const css::uno::Reference< css::beans::XPropertySet > &i_xMeta, bool i_bAutoStyles, bool i_bProgress, bool &rPrevCharIsSpace)
export text:meta-field (RDF metadata)
static enum::xmloff::token::XMLTokenEnum MapReferenceSource(sal_Int16 nType)
map ReferenceFieldPart to XML string
std::unique_ptr< XMLPropertyState > pCombinedCharactersPropertyState
static enum FieldIdEnum GetFieldID(const css::uno::Reference< css::text::XTextField > &rTextField, const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
get field ID from XTextField (and it's Property-Set)
void ExportFieldAutoStyle(const css::uno::Reference< css::text::XTextField > &rTextField, const bool bProgress, const bool bRecursive)
collect styles (character styles, data styles, ...) for this field (if appropriate).
static bool IsStringField(FieldIdEnum nFieldType, const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
determine, whether field has string or numeric content
void ProcessCommandType(sal_Int32 nCommandType)
export CommandTypeAttribute
static enum::xmloff::token::XMLTokenEnum MapTemplateDisplayFormat(sal_Int16 nType)
map TemplateDisplayFormat to XML
static enum::xmloff::token::XMLTokenEnum MapAuthorFieldName(const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
also adjust page offset
static enum::xmloff::token::XMLTokenEnum MapMeasureKind(sal_Int16 nKind)
static void ExplodeFieldMasterName(std::u16string_view sMasterName, OUString &sFieldType, OUString &sVarName)
explode a field master name into field type and field name
void ProcessParagraphSequence(std::u16string_view sParagraphSequence)
default value token
void ProcessNumberingType(sal_Int16 nNumberingType)
export a numbering format (numeric, roman, alphabetic, etc.)
void ExportMacro(const css::uno::Reference< css::beans::XPropertySet > &rPropSet, const OUString &rContent)
element content
static css::uno::Reference< css::beans::XPropertySet > GetMasterPropertySet(const css::uno::Reference< css::text::XTextField > &rTextField)
for XDependentTextFields, get PropertySet of FieldMaster
void ExportFieldHelper(const css::uno::Reference< css::text::XTextField > &rTextField, const css::uno::Reference< css::beans::XPropertySet > &rPropSet, const css::uno::Reference< css::beans::XPropertySet > &rRangePropSet, enum FieldIdEnum nToken, bool bProgress, bool &rPrevCharIsSpace)
export a field after <text:span> is already written
void ProcessDisplay(bool bIsVisible, bool bIsCommand)
numbering type key
SvXMLExport & GetExport()
void ProcessBoolean(enum ::xmloff::token::XMLTokenEnum eXmlName, bool bBool, bool bDefault)
export a boolean attribute
static void convertDateTime(OUStringBuffer &rBuffer, const css::util::DateTime &rDateTime, sal_Int16 const *pTimeZoneOffset, bool bAddTimeIf0AM=false)
static void convertDuration(OUStringBuffer &rBuffer, const double fTime)
static void convertTimeOrDateTime(OUStringBuffer &rBuffer, const css::util::DateTime &rDateTime)
static bool convertBool(bool &rBool, std::u16string_view rString)
#define DBG_ASSERT(sCon, aError)
Sequence< sal_Int8 > aSeq
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
@ DocWarnRemovePersonalInfo
bool IsOptionSet(EOption eOption)
bool hasProperty(const OUString &_rName, const Reference< XPropertySet > &_rxSet)
sal_Int32 findValue(const css::uno::Sequence< T1 > &_rList, const T2 &_rValue)
css::uno::Sequence< DstElementType > containerToSequence(const SrcType &i_Container)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
Handling of tokens in XML:
XMLTokenEnum
The enumeration of all XML tokens.
@ XML_SEPARATION_CHARACTER
@ XML_SENDER_PHONE_PRIVATE
@ XML_STRING_VALUE_IF_TRUE
@ XML_DDE_CONNECTION_DECL
@ XML_DATABASE_ROW_SELECT
@ XML_DATABASE_ROW_NUMBER
@ XML_PLAIN_NUMBER_AND_NAME
@ XML_CONNECTION_RESOURCE
@ XML_DDE_CONNECTION_DECLS
@ XML_NUMBER_ALL_SUPERIOR
@ XML_DISPLAY_OUTLINE_LEVEL
@ XML_SENDER_STATE_OR_PROVINCE
@ XML_STRING_VALUE_IF_FALSE
std::map< OUString, rtl::Reference< Entity > > map
Map a const char* (with length) to a sal_uInt16 value.
Smart struct to transport an Any with an index to the appropriate property-name.
constexpr OUStringLiteral gsPropertyNumberingSeparator(u"NumberingSeparator")
constexpr OUStringLiteral gsPropertyDateTime(u"DateTime")
constexpr OUStringLiteral gsPropertyOffset(u"Offset")
char const FIELD_SERVICE_USERINPUT[]
constexpr OUStringLiteral gsPropertyPlaceholderType(u"PlaceHolderType")
constexpr OUStringLiteral gsPropertyDateTimeValue(u"DateTimeValue")
constexpr OUStringLiteral gsPropertyDataBaseURL(u"DataBaseURL")
char const FIELD_SERVICE_DOC_INFO_CREATE_AUTHOR2[]
static bool GetOptionalBoolProperty(const OUString &, const Reference< XPropertySet > &, const Reference< XPropertySetInfo > &, bool bDefault)
constexpr OUStringLiteral gsPropertyDDECommandFile(u"DDECommandFile")
constexpr OUStringLiteral gsPropertyIsExpression(u"IsExpression")
char const FIELD_SERVICE_MACRO[]
char const FIELD_SERVICE_DDE[]
char const FIELD_SERVICE_META[]
char const FIELD_SERVICE_COMBINED_CHARACTERS[]
constexpr OUStringLiteral gsPresentationServicePrefix(u"com.sun.star.presentation.TextField.")
constexpr OUStringLiteral gsPropertyLevel(u"Level")
char const FIELD_SERVICE_DOC_INFO_PRINT_DATE_TIME[]
char const FIELD_SERVICE_DOC_INFO_REVISION2[]
constexpr OUStringLiteral gsPropertyTooltip(u"Tooltip")
char const FIELD_SERVICE_ANNOTATION[]
char const FIELD_SERVICE_DOC_INFO_CREATE_AUTHOR[]
constexpr OUStringLiteral gsPropertySetNumber(u"SetNumber")
constexpr OUStringLiteral gsPropertyInstanceName(u"InstanceName")
SvXMLEnumStringMapEntry< FieldIdEnum > const aFieldServiceNameMapping[]
constexpr OUStringLiteral gsPropertyIsHidden(u"IsHidden")
static OUString GetStringProperty(const OUString &, const Reference< XPropertySet > &)
char const FIELD_SERVICE_PAGE_COUNT[]
constexpr OUStringLiteral gsPropertyIsDate(u"IsDate")
constexpr OUStringLiteral gsPropertySequenceNumber(u"SequenceNumber")
constexpr OUStringLiteral gsPropertyItems(u"Items")
constexpr OUStringLiteral gsPropertyAdjust(u"Adjust")
char const FIELD_SERVICE_TABLE_COUNT[]
constexpr OUStringLiteral gsPropertyOn(u"On")
char const FIELD_SERVICE_URL[]
constexpr OUStringLiteral gsPropertyNumberingType(u"NumberingType")
char const FIELD_SERVICE_DOC_INFO_PRINT_DATE_TIME2[]
constexpr OUStringLiteral gsPropertyDataBaseName(u"DataBaseName")
char const FIELD_SERVICE_DB_NEXT[]
constexpr OUStringLiteral gsPropertyDataTableName(u"DataTableName")
static sal_Int16 GetInt16Property(const OUString &, const Reference< XPropertySet > &)
constexpr OUStringLiteral gsPropertyAuthor(u"Author")
char const FIELD_SERVICE_CHAPTER[]
constexpr OUStringLiteral gsPropertyIsShowFormula(u"IsShowFormula")
char const FIELD_SERVICE_SENDER[]
constexpr OUStringLiteral gsPropertySequenceValue(u"SequenceValue")
constexpr OUStringLiteral gsPropertyDDECommandElement(u"DDECommandElement")
constexpr OUStringLiteral gsPropertySelectedItem(u"SelectedItem")
char const FIELD_SERVICE_DATETIME[]
constexpr OUStringLiteral gsPropertyValue(u"Value")
constexpr OUStringLiteral gsPropertyIsVisible(u"IsVisible")
char const FIELD_SERVICE_PARAGRAPH_COUNT[]
static bool GetBoolProperty(const OUString &, const Reference< XPropertySet > &)
char const FIELD_SERVICE_DOC_INFO_SUBJECT2[]
constexpr OUStringLiteral gsPropertyFullName(u"FullName")
char const FIELD_SERVICE_DOC_INFO_CHANGE_DATE_TIME[]
constexpr OUStringLiteral gsPropertySourceName(u"SourceName")
char const FIELD_SERVICE_DOC_INFO_DESCRIPTION[]
constexpr OUStringLiteral gsPropertyIsDataBaseFormat(u"DataBaseFormat")
char const FIELD_SERVICE_OBJECT_COUNT[]
constexpr OUStringLiteral gsPropertyMeasureKind(u"Kind")
constexpr OUStringLiteral gsPropertyDDECommandType(u"DDECommandType")
char const FIELD_SERVICE_PAGE_NAME[]
char const FIELD_SERVICE_SETEXP[]
constexpr OUStringLiteral gsPropertyIsConditionTrue(u"IsConditionTrue")
constexpr OUStringLiteral gsPropertyURLContent(u"URLContent")
constexpr OUStringLiteral gsPropertyFileFormat(u"FileFormat")
char const FIELD_SERVICE_USER[]
constexpr OUStringLiteral gsFieldMasterPrefix(u"com.sun.star.text.FieldMaster.")
constexpr OUStringLiteral gsPropertyReferenceFieldPart(u"ReferenceFieldPart")
constexpr OUStringLiteral gsPropertyDataColumnName(u"DataColumnName")
char const FIELD_SERVICE_BIBLIOGRAPHY[]
constexpr OUStringLiteral gsPropertyIsAutomaticUpdate(u"IsAutomaticUpdate")
char const FIELD_SERVICE_MEASURE[]
constexpr OUStringLiteral gsPropertyHint(u"Hint")
char const FIELD_SERVICE_HIDDEN_TEXT[]
constexpr OUStringLiteral gsPropertyInitials(u"Initials")
char const FIELD_SERVICE_DB_DISPLAY[]
char const FIELD_SERVICE_SCRIPT[]
constexpr OUStringLiteral gsPropertyTextRange(u"TextRange")
char const FIELD_SERVICE_DOC_INFO_REVISION[]
char const FIELD_SERVICE_WORD_COUNT[]
constexpr OUStringLiteral gsPropertyDataCommandType(u"DataCommandType")
char const FIELD_SERVICE_DOC_INFO_KEY_WORDS[]
char const FIELD_SERVICE_DOC_INFO_KEY_WORDS2[]
static sal_Int8 GetInt8Property(const OUString &, const Reference< XPropertySet > &)
char const FIELD_SERVICE_GET_REFERENCE[]
char const FIELD_SERVICE_FILE_NAME[]
char const FIELD_SERVICE_DOC_INFO_DESCRIPTION2[]
char const FIELD_SERVICE_DOC_INFO_TITLE2[]
char const FIELD_SERVICE_DB_SELECT[]
char const FIELD_SERVICE_TEMPLATE_NAME[]
char const FIELD_SERVICE_DOC_INFO_CREATE_DATE_TIME[]
char const FIELD_SERVICE_DOC_INFO_CHANGE_AUTHOR[]
char const FIELD_SERVICE_DOC_INFO_CHANGE_DATE_TIME2[]
constexpr OUStringLiteral gsPropertyChapterNumberingLevel(u"ChapterNumberingLevel")
constexpr OUStringLiteral gsPropertyCondition(u"Condition")
constexpr OUStringLiteral gsPropertyIsFixedLanguage(u"IsFixedLanguage")
char const FIELD_SERVICE_DOC_INFO_CREATE_DATE_TIME2[]
constexpr OUStringLiteral gsPropertyUserText(u"UserText")
constexpr OUStringLiteral gsPropertyScriptType(u"ScriptType")
char const FIELD_SERVICE_REFERENCE_PAGE_GET[]
constexpr OUStringLiteral gsPropertyFalseContent(u"FalseContent")
constexpr OUStringLiteral gsPropertyCharStyleNames(u"CharStyleNames")
char const FIELD_SERVICE_CONDITIONAL_TEXT[]
constexpr OUStringLiteral gsPropertyTargetFrame(u"TargetFrame")
constexpr OUStringLiteral gsPropertyHelp(u"Help")
char const FIELD_SERVICE_HIDDEN_PARAGRAPH[]
static double GetDoubleProperty(const OUString &, const Reference< XPropertySet > &)
static Sequence< OUString > GetStringSequenceProperty(const OUString &sPropName, const Reference< XPropertySet > &xPropSet)
char const FIELD_SERVICE_DOC_INFO_SUBJECT[]
static util::DateTime GetDateTimeProperty(const OUString &sPropName, const Reference< XPropertySet > &xPropSet)
char const FIELD_SERVICE_JUMPEDIT[]
constexpr OUStringLiteral gsPropertyReferenceFieldSource(u"ReferenceFieldSource")
constexpr OUStringLiteral gsPropertyName(u"Name")
char const FIELD_SERVICE_DOC_INFO_CHANGE_AUTHOR2[]
char const FIELD_SERVICE_DOC_INFO_PRINT_AUTHOR[]
constexpr OUStringLiteral gsServicePrefix(u"com.sun.star.text.textfield.")
constexpr OUStringLiteral gsPropertyChapterFormat(u"ChapterFormat")
char const FIELD_SERVICE_PAGENUMBER[]
char const FIELD_SERVICE_DOC_INFO_EDIT_TIME2[]
char const FIELD_SERVICE_DB_NAME[]
constexpr OUStringLiteral gsPropertyIsFixed(u"IsFixed")
char const FIELD_SERVICE_DOC_INFO_CUSTOM2[]
char const FIELD_SERVICE_SHEET_NAME[]
constexpr OUStringLiteral gsPropertyFieldSubType(u"UserDataType")
constexpr OUStringLiteral gsPropertyFields(u"Fields")
char const FIELD_SERVICE_REFERENCE_PAGE_SET[]
char const FIELD_SERVICE_CHARACTER_COUNT[]
constexpr OUStringLiteral gsPropertyIsInput(u"Input")
constexpr OUStringLiteral gsPropertyTrueContent(u"TrueContent")
char const FIELD_SERVICE_GRAPHIC_COUNT[]
char const FIELD_SERVICE_GETEXP[]
constexpr OUStringLiteral gsPropertyNumberFormat(u"NumberFormat")
char const FIELD_SERVICE_TABLE_FORMULA[]
char const FIELD_SERVICE_AUTHOR[]
char const FIELD_SERVICE_DOC_INFO_TITLE[]
char const FIELD_SERVICE_DOC_INFO_PRINT_AUTHOR2[]
constexpr OUStringLiteral gsPropertyReferenceFieldLanguage(u"ReferenceFieldLanguage")
char const FIELD_SERVICE_DOC_INFO_EDIT_TIME[]
constexpr OUStringLiteral gsPropertyDependentTextFields(u"DependentTextFields")
constexpr OUStringLiteral gsPropertyVariableName(u"VariableName")
char const FIELD_SERVICE_DB_NUMBER[]
char const FIELD_SERVICE_DROP_DOWN[]
constexpr OUStringLiteral gsPropertySubType(u"SubType")
char const FIELD_SERVICE_INPUT[]
constexpr OUStringLiteral gsPropertyURL(u"URL")
char const FIELD_SERVICE_DOC_INFO_CUSTOM[]
SvXMLEnumMapEntry< sal_Int16 > const aBibliographyDataTypeMap[]
static sal_Int32 GetIntProperty(const OUString &, const Reference< XPropertySet > &)
constexpr OUStringLiteral gsPropertyContent(u"Content")
@ FIELD_ID_HIDDEN_PARAGRAPH
@ FIELD_ID_DOCINFO_CREATION_AUTHOR
@ FIELD_ID_DOCINFO_SAVE_DATE
@ FIELD_ID_CONDITIONAL_TEXT
@ FIELD_ID_COUNT_GRAPHICS
@ FIELD_ID_DATABASE_DISPLAY
@ FIELD_ID_DRAW_DATE_TIME
@ FIELD_ID_DOCINFO_DESCRIPTION
@ FIELD_ID_DATABASE_SELECT
@ FIELD_ID_DOCINFO_PRINT_AUTHOR
@ FIELD_ID_COMBINED_CHARACTERS
@ FIELD_ID_DOCINFO_SAVE_AUTHOR
@ FIELD_ID_DOCINFO_CREATION_TIME
@ FIELD_ID_DOCINFO_CREATION_DATE
@ FIELD_ID_DOCINFO_KEYWORDS
@ FIELD_ID_DOCINFO_REVISION
@ FIELD_ID_COUNT_CHARACTERS
@ FIELD_ID_VARIABLE_INPUT
@ FIELD_ID_DOCINFO_SUBJECT
@ FIELD_ID_DOCINFO_EDIT_DURATION
@ FIELD_ID_COUNT_PARAGRAPHS
@ FIELD_ID_DATABASE_NUMBER
@ FIELD_ID_DOCINFO_PRINT_DATE
@ FIELD_ID_DOCINFO_SAVE_TIME
@ FIELD_ID_DOCINFO_PRINT_TIME
@ FIELD_ID_DOCINFO_CUSTOM
constexpr OUStringLiteral sScript
constexpr OUStringLiteral sEventType
std::unique_ptr< char[]> aBuffer
#define ENUM_STRING_MAP_ENTRY(name, tok)
constexpr sal_uInt16 XML_NAMESPACE_META
constexpr sal_uInt16 XML_NAMESPACE_DC
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_FORM
constexpr sal_uInt16 XML_NAMESPACE_OOOW
constexpr sal_uInt16 XML_NAMESPACE_LO_EXT
constexpr sal_uInt16 XML_NAMESPACE_OFFICE
constexpr sal_uInt16 XML_NAMESPACE_PRESENTATION
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_SCRIPT