1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 /** @#file 25 * XML export of all text fields 26 */ 27 28 #ifndef _XMLOFF_TXTFLDE_HXX 29 #define _XMLOFF_TXTFLDE_HXX 30 31 #include <com/sun/star/uno/Reference.h> 32 #include "xmloff/xmlnmspe.hxx" 33 34 #include <rtl/ustring.hxx> 35 #include <xmloff/xmltoken.hxx> 36 37 #include <map> 38 #include <set> 39 40 41 class SvXMLExport; 42 class SvXMLNumFmtExport; 43 struct XMLPropertyState; 44 45 namespace com { namespace sun { namespace star { 46 namespace util { struct DateTime; } 47 namespace util { struct Date; } 48 namespace text { class XTextField; } 49 namespace text { class XText; } 50 namespace beans { class XPropertySet; } 51 namespace beans { class XPropertySetInfo; } 52 namespace frame { class XModel; } 53 namespace uno { template<typename A> class Sequence; } 54 } } } 55 namespace rtl { class OUString; } 56 57 58 /// field IDs, 59 // including translation between UNO speak and XML speak if appropriate 60 61 enum FieldIdEnum { 62 FIELD_ID_SENDER, // sender == extended user 63 FIELD_ID_AUTHOR, 64 FIELD_ID_DATE, // current date 65 FIELD_ID_TIME, // current time (+date) 66 FIELD_ID_PAGENUMBER, // page number 67 FIELD_ID_PAGESTRING, // page contination string (page number string) 68 FIELD_ID_REFPAGE_SET, // set reference page 69 FIELD_ID_REFPAGE_GET, // get reference page number 70 71 FIELD_ID_PLACEHOLDER, // placeholder field == jump edit field 72 73 FIELD_ID_VARIABLE_DECL, // field type for set variable 74 FIELD_ID_VARIABLE_GET, // get variable == get expression 75 FIELD_ID_VARIABLE_SET, // set variable == set expression 76 FIELD_ID_VARIABLE_INPUT, // input field (variable) 77 FIELD_ID_USER_DECL, // field type for user field 78 FIELD_ID_USER_GET, // user field 79 FIELD_ID_USER_INPUT, // input field (user field) 80 FIELD_ID_TEXT_INPUT, // input field (text) 81 FIELD_ID_EXPRESSION, // expression field = formula field 82 FIELD_ID_SEQUENCE_DECL, // field type for sequence 83 FIELD_ID_SEQUENCE, // sequence field 84 85 FIELD_ID_DATABASE_NEXT, // select next row 86 FIELD_ID_DATABASE_SELECT, // select row # (NumSet) 87 FIELD_ID_DATABASE_DISPLAY, // display data (form letter field) 88 FIELD_ID_DATABASE_NAME, // display current db name (database name) 89 FIELD_ID_DATABASE_NUMBER, // display row # (SetNumber) 90 91 FIELD_ID_DOCINFO_CREATION_AUTHOR, // docinfo fields 92 FIELD_ID_DOCINFO_CREATION_TIME, 93 FIELD_ID_DOCINFO_CREATION_DATE, 94 FIELD_ID_DOCINFO_DESCRIPTION, 95 FIELD_ID_DOCINFO_CUSTOM, 96 FIELD_ID_DOCINFO_PRINT_TIME, 97 FIELD_ID_DOCINFO_PRINT_DATE, 98 FIELD_ID_DOCINFO_PRINT_AUTHOR, 99 FIELD_ID_DOCINFO_TITLE, 100 FIELD_ID_DOCINFO_SUBJECT, 101 FIELD_ID_DOCINFO_KEYWORDS, 102 FIELD_ID_DOCINFO_REVISION, 103 FIELD_ID_DOCINFO_EDIT_DURATION, 104 FIELD_ID_DOCINFO_SAVE_TIME, 105 FIELD_ID_DOCINFO_SAVE_DATE, 106 FIELD_ID_DOCINFO_SAVE_AUTHOR, 107 108 FIELD_ID_CONDITIONAL_TEXT, // conditionally choose between 2 texts 109 FIELD_ID_HIDDEN_TEXT, // conditionally hide a text 110 FIELD_ID_HIDDEN_PARAGRAPH, // conditionally hide a paragraph 111 112 FIELD_ID_TEMPLATE_NAME, // display name of template 113 FIELD_ID_CHAPTER, // display name/number of current chapter 114 FIELD_ID_FILE_NAME, // display name of current file 115 116 FIELD_ID_COUNT_PARAGRAPHS, // statistics fields: - paragraphs 117 FIELD_ID_COUNT_WORDS, // - words 118 FIELD_ID_COUNT_CHARACTERS, // - chars 119 FIELD_ID_COUNT_PAGES, // - pages 120 FIELD_ID_COUNT_TABLES, // - tables 121 FIELD_ID_COUNT_GRAPHICS, // - graphics 122 FIELD_ID_COUNT_OBJECTS, // - objects 123 124 FIELD_ID_MACRO, // macro fields 125 FIELD_ID_REF_REFERENCE, // get reference field (reference) 126 FIELD_ID_REF_SEQUENCE, // get reference field (sequence) 127 FIELD_ID_REF_BOOKMARK, // get reference field (bookmark) 128 FIELD_ID_REF_FOOTNOTE, // get reference field (footnote) 129 FIELD_ID_REF_ENDNOTE, // get reference field (endnote) 130 FIELD_ID_DDE, // DDE field 131 132 FIELD_ID_BIBLIOGRAPHY, // bibliography index entry 133 134 FIELD_ID_SHEET_NAME, // name of current (spread-)sheet 135 FIELD_ID_URL, // URL field (only Calc, Draw, Impress) 136 137 FIELD_ID_SCRIPT, // script fields (for HTML pages, mostly) 138 FIELD_ID_ANNOTATION, // annotation (notice) field 139 140 FIELD_ID_COMBINED_CHARACTERS, // combined characters (asian typography) 141 142 FIELD_ID_META, // text:meta-field (RDF metadata) 143 144 FIELD_ID_MEASURE, // for measure shapes 145 146 FIELD_ID_TABLE_FORMULA, // DEPRECATED: table formulas (Writer 2.0) 147 FIELD_ID_DROP_DOWN, // DEPRECATED: dropdown fields (WW8) 148 149 FIELD_ID_DRAW_HEADER, 150 FIELD_ID_DRAW_FOOTER, 151 FIELD_ID_DRAW_DATE_TIME, 152 153 FIELD_ID_UNKNOWN // invalid or unknown field type! 154 }; 155 156 157 158 class XMLTextFieldExport 159 { 160 SvXMLExport& rExport; 161 162 /// store used text field master names (NULL means: don't collect) 163 ::std::map< 164 ::com::sun::star::uno::Reference< ::com::sun::star::text::XText >, 165 ::std::set< ::rtl::OUString > > * 166 pUsedMasters; 167 168 public: 169 170 XMLTextFieldExport( SvXMLExport& rExp, 171 /// XMLPropertyState for the combined characters field 172 XMLPropertyState* pCombinedCharState = NULL ); 173 virtual ~XMLTextFieldExport(); 174 175 /// Export this field and the surrounding span element with the formatting. 176 /// To be called for every field in the document body. 177 void ExportField(const ::com::sun::star::uno::Reference < 178 ::com::sun::star::text::XTextField > & rTextField, 179 sal_Bool bProgress ); 180 181 /// collect styles (character styles, data styles, ...) for this field 182 /// (if appropriate). 183 /// Also collect used field masters (if pUsedMasters is set) 184 /// to be called for every field during style export. 185 void ExportFieldAutoStyle(const ::com::sun::star::uno::Reference < 186 ::com::sun::star::text::XTextField > & rTextField, 187 const sal_Bool bProgress, const sal_Bool bRecursive ); 188 189 /// export field declarations. 190 /// to be called once at beginning of document body. 191 void ExportFieldDeclarations(); 192 193 /// export field declarations for fields used in the the particular XText. 194 /// (Requires that a list of used field declarations has previously been 195 /// built-up in ExportFieldAutoStyle() ) 196 void ExportFieldDeclarations( 197 const ::com::sun::star::uno::Reference < 198 ::com::sun::star::text::XText > & rText); 199 200 /// export all field declarations, or only those that have been used? 201 /// Calling this method will reset the list of used field declataions. 202 void SetExportOnlyUsedFieldDeclarations( 203 sal_Bool bExportOnlyUsed = sal_True); 204 205 // determine element or attribute names 206 // (public, because they may be useful in related XML export classes) 207 static enum ::xmloff::token::XMLTokenEnum MapPlaceholderType(sal_uInt16 nType); 208 static enum ::xmloff::token::XMLTokenEnum MapTemplateDisplayFormat(sal_Int16 nType); 209 static enum ::xmloff::token::XMLTokenEnum MapChapterDisplayFormat(sal_Int16 nType); 210 static enum ::xmloff::token::XMLTokenEnum MapFilenameDisplayFormat(sal_Int16 nType); 211 static enum ::xmloff::token::XMLTokenEnum MapDocInfoFieldName(enum FieldIdEnum nToken); 212 static enum ::xmloff::token::XMLTokenEnum MapReferenceSource(sal_Int16 nType); 213 static enum ::xmloff::token::XMLTokenEnum MapReferenceType(sal_Int16 nType); 214 static enum ::xmloff::token::XMLTokenEnum MapCountFieldName(FieldIdEnum nToken); 215 static enum ::xmloff::token::XMLTokenEnum MapBibliographyFieldName(::rtl::OUString sName); 216 static enum ::xmloff::token::XMLTokenEnum MapMeasureKind(sal_Int16 nKind); 217 enum ::xmloff::token::XMLTokenEnum MapPageNumberName(const ::com::sun::star::uno::Reference< 218 ::com::sun::star::beans::XPropertySet> & xPropSet, 219 sal_Int32& nOffset); /// also adjust page offset 220 enum ::xmloff::token::XMLTokenEnum MapAuthorFieldName(const ::com::sun::star::uno::Reference < 221 ::com::sun::star::beans::XPropertySet > & xPropSet); 222 enum ::xmloff::token::XMLTokenEnum MapSenderFieldName(const ::com::sun::star::uno::Reference < 223 ::com::sun::star::beans::XPropertySet > & xPropSet); 224 225 protected: 226 227 SvXMLExport& GetExport() { return rExport; } 228 229 /// export a field after <text:span> is already written 230 void ExportFieldHelper( 231 const ::com::sun::star::uno::Reference< 232 ::com::sun::star::text::XTextField> & rTextField, 233 const ::com::sun::star::uno::Reference< 234 ::com::sun::star::beans::XPropertySet> & rPropSet, 235 const ::com::sun::star::uno::Reference< 236 ::com::sun::star::beans::XPropertySet> & rRangePropSet, 237 enum FieldIdEnum nToken, 238 sal_Bool bProgress ); 239 240 /// export an empty element 241 void ExportElement(enum ::xmloff::token::XMLTokenEnum eElement, /// element token 242 sal_Bool bAddSpace = sal_False); /// add blanks around 243 /// element? 244 245 /// export an element with string content 246 void ExportElement(enum ::xmloff::token::XMLTokenEnum eElement, /// element token 247 const ::rtl::OUString& sContent, /// element content 248 sal_Bool bAddSpace = sal_False); /// add blanks around 249 /// element? 250 251 /// export a macro (as used in the macro field) 252 void ExportMacro( const ::com::sun::star::uno::Reference< 253 ::com::sun::star::beans::XPropertySet> & rPropSet, 254 const ::rtl::OUString& rContent); 255 256 /// export text:meta-field (RDF metadata) 257 void ExportMetaField( const ::com::sun::star::uno::Reference< 258 ::com::sun::star::beans::XPropertySet> & i_xMeta, 259 bool i_bAutoStyles, sal_Bool i_bProgress ); 260 261 /// export a boolean attribute 262 void ProcessBoolean( 263 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 264 sal_Bool bBool, /// attribute value 265 sal_Bool bDefault); /// attribute default; omit, if attribute differs 266 267 /// export an integer attribute 268 void ProcessInteger( 269 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 270 sal_Int32 nNum); /// attribute value 271 272 /// export an integer attribute, omit if default 273 void ProcessIntegerDef( 274 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 275 sal_Int32 nNum, /// attribute value 276 sal_Int32 nDefault); /// default value 277 278 /// export a string attribute 279 void ProcessString( 280 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 281 const ::rtl::OUString& sValue, /// attribute value 282 sal_Bool bOmitEmpty = sal_False, /// omit attribute, if value is empty 283 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 284 285 /// export a string attribute taht gets a QName value 286 void ProcessString( 287 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 288 sal_uInt16 nValuePrefix, 289 const ::rtl::OUString& sValue, /// attribute value 290 sal_Bool bOmitEmpty = sal_False, /// omit attribute, if value is empty 291 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 292 293 294 /// export a string attribute, omit if default 295 void ProcessString( 296 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 297 const ::rtl::OUString& sValue, /// attribute value 298 const ::rtl::OUString& sDefault, /// default value; omit if equal 299 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 300 301 /// export a string attribute, omit if default 302 void ProcessString( 303 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 304 sal_uInt16 nValuePrefix, 305 const ::rtl::OUString& sValue, /// attribute value 306 const ::rtl::OUString& sDefault, /// default value; omit if equal 307 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 308 309 /// export a string attribute 310 void ProcessString( 311 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 312 enum ::xmloff::token::XMLTokenEnum eValue, /// attribute token 313 sal_Bool bOmitEmpty = sal_False, /// omit attribute, if value is empty 314 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 315 316 /// export a string attribute, omit if default 317 void ProcessString( 318 enum ::xmloff::token::XMLTokenEnum eXmlName, /// attribute token (namespace text) 319 enum ::xmloff::token::XMLTokenEnum eValue, /// attribute value token 320 enum ::xmloff::token::XMLTokenEnum eDefault, /// default value token 321 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 322 323 /// export a string as a sequence of paragraphs 324 void ProcessParagraphSequence( 325 /// string containing the paragraphs 326 const ::rtl::OUString& sParagraphSequence); 327 328 /// export a numbering format (numeric, roman, alphabetic, etc.) 329 void ProcessNumberingType( 330 sal_Int16 nNumberingType); /// numbering type key 331 332 /// export display attribute (value, formula, none) 333 void ProcessDisplay(sal_Bool bIsVisible, /// is visible? 334 sal_Bool bIsCommand, /// is show command/show name? 335 sal_Bool bDefault = sal_True); /// omit, if default 336 337 /// export all data-style related attributes 338 void ProcessValueAndType( 339 sal_Bool bIsString, /// do we process a string or a number? 340 sal_Int32 nFormatKey, /// format key for NumberFormatter; possibly -1 341 const ::rtl::OUString& sContent, /// string content; possibly invalid 342 const ::rtl::OUString& sDefault, /// default string 343 double fValue, /// float content; possibly invalid 344 sal_Bool bExportValue, /// export value attribute? 345 sal_Bool bExportValueType, /// export value-type attribute? 346 sal_Bool bExportStyle, /// export style-sttribute? 347 sal_Bool bForceSystemLanguage, /// no style language export 348 sal_Bool bTimeStyle = sal_False); /// exporting a time style? 349 350 /// export times, dates and durations according to ISO 8601 351 void ProcessDateTime( 352 enum ::xmloff::token::XMLTokenEnum eXMLName, /// attribute token 353 double dValue, /// date/time value 354 sal_Bool bIsDate, /// export as date (rather than date/time)? 355 sal_Bool bIsDuration = sal_False, /// export as duration 356 sal_Bool bOmitDurationIfZero = sal_True, /// omit zero-length durat. 357 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 358 359 /// export a date, time, or duration 360 void ProcessDateTime( 361 enum ::xmloff::token::XMLTokenEnum eXMLName, /// attribute token 362 sal_Int32 nMinutes, /// date/time value in minutes 363 sal_Bool bIsDate, /// export as date? 364 sal_Bool bIsDuration, /// export as duration? 365 sal_Bool bOmitDurationIfZero, /// omit zero-length durations 366 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 367 368 /// export times, dates and durations according to ISO 8601 369 void ProcessDateTime( 370 enum ::xmloff::token::XMLTokenEnum eXMLName, /// attribute token 371 const ::com::sun::star::util::DateTime& rTime, /// date/time value 372 sal_Bool bIsDate, /// export as date (rather than date/time)? 373 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 374 375 /// export date according to ISO 8601 376 void ProcessDate( 377 enum ::xmloff::token::XMLTokenEnum eXMLName, /// attribute token 378 const ::com::sun::star::util::Date& rTime, /// date value 379 sal_uInt16 nPrefix = XML_NAMESPACE_TEXT); /// attribute name prefix 380 381 /// export all attributes for bibliography data fields 382 void ProcessBibliographyData( 383 const ::com::sun::star::uno::Reference < 384 ::com::sun::star::beans::XPropertySet > & rPropertySet); 385 386 /// export CommandTypeAttribute 387 void ProcessCommandType( 388 sal_Int32 nCommandType); /// com::sun::star::sdb::CommandType 389 390 void ProcessStringSequence( 391 const ::com::sun::star::uno::Sequence<rtl::OUString>& rSequence, 392 const rtl::OUString sSelected ); 393 394 void ProcessStringSequence( 395 const ::com::sun::star::uno::Sequence<rtl::OUString>& rSequence, 396 sal_Int32 nSelected ); 397 398 /// export attributes that describe a data source 399 void ExportDataBaseElement( 400 enum ::xmloff::token::XMLTokenEnum eElement, 401 const ::rtl::OUString& sContent, 402 const ::com::sun::star::uno::Reference < 403 ::com::sun::star::beans::XPropertySet > & rPropertySet, 404 const ::com::sun::star::uno::Reference < 405 ::com::sun::star::beans::XPropertySetInfo > & rPropertySetInfo ); 406 407 /// for XDependentTextFields, get PropertySet of FieldMaster 408 ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > 409 GetMasterPropertySet(const ::com::sun::star::uno::Reference < 410 ::com::sun::star::text::XTextField > & rTextField); 411 412 /// get PropertySet of (any) DependentTextField for this FieldMaster 413 sal_Bool GetDependentFieldPropertySet( 414 const ::com::sun::star::uno::Reference< 415 ::com::sun::star::beans::XPropertySet> & xmaster, 416 ::com::sun::star::uno::Reference< 417 ::com::sun::star::beans::XPropertySet> & xField); 418 419 420 /// get field ID from XTextField (and it's Property-Set) 421 enum FieldIdEnum GetFieldID(const ::com::sun::star::uno::Reference < 422 ::com::sun::star::text::XTextField > & rTextField, 423 const ::com::sun::star::uno::Reference < 424 ::com::sun::star::beans::XPropertySet > & xPropSet); 425 426 /// get field ID from XTextField service name (and it's PropertySet) 427 enum FieldIdEnum MapFieldName(const ::rtl::OUString& sFieldName, 428 const ::com::sun::star::uno::Reference < 429 ::com::sun::star::beans::XPropertySet> & xPropSet); 430 431 /// determine, whether field has string or numeric content 432 sal_Bool IsStringField(FieldIdEnum nFieldType, /// field ID 433 const ::com::sun::star::uno::Reference < 434 ::com::sun::star::beans::XPropertySet > & xPropSet); 435 436 437 /// explode a field master name into field type and field name 438 sal_Bool ExplodeFieldMasterName( 439 const ::rtl::OUString& sMasterName, /// name as returned by SO API 440 ::rtl::OUString& sFieldType, /// out: field type 441 ::rtl::OUString& sVarName); /// out: variable name 442 443 /// make reference name for a foot- or endnote 444 static ::rtl::OUString MakeFootnoteRefName(sal_Int16 nSeqNo); 445 446 /// make reference name for a sequence field 447 static ::rtl::OUString MakeSequenceRefName(sal_Int16 nSeqNo, 448 const ::rtl::OUString& rSeqName); 449 450 private: 451 // constants 452 453 // service names 454 const ::rtl::OUString sServicePrefix; 455 const ::rtl::OUString sFieldMasterPrefix; 456 const ::rtl::OUString sPresentationServicePrefix; 457 458 // property names 459 const ::rtl::OUString sPropertyAdjust; 460 const ::rtl::OUString sPropertyAuthor; 461 const ::rtl::OUString sPropertyChapterFormat; 462 const ::rtl::OUString sPropertyChapterNumberingLevel; 463 const ::rtl::OUString sPropertyCharStyleNames; 464 const ::rtl::OUString sPropertyCondition; 465 const ::rtl::OUString sPropertyContent; 466 const ::rtl::OUString sPropertyDataBaseName; 467 const ::rtl::OUString sPropertyDataBaseURL; 468 const ::rtl::OUString sPropertyDataColumnName; 469 const ::rtl::OUString sPropertyDataCommandType; 470 const ::rtl::OUString sPropertyDataTableName; 471 const ::rtl::OUString sPropertyDate; 472 const ::rtl::OUString sPropertyDateTime; 473 const ::rtl::OUString sPropertyDateTimeValue; 474 const ::rtl::OUString sPropertyDDECommandElement; 475 const ::rtl::OUString sPropertyDDECommandFile; 476 const ::rtl::OUString sPropertyDDECommandType; 477 const ::rtl::OUString sPropertyDependentTextFields; 478 const ::rtl::OUString sPropertyFalseContent; 479 const ::rtl::OUString sPropertyFields; 480 const ::rtl::OUString sPropertyFieldSubType; 481 const ::rtl::OUString sPropertyFileFormat; 482 const ::rtl::OUString sPropertyFullName; 483 const ::rtl::OUString sPropertyHint; 484 const ::rtl::OUString sPropertyInstanceName; 485 const ::rtl::OUString sPropertyIsAutomaticUpdate; 486 const ::rtl::OUString sPropertyIsConditionTrue; 487 const ::rtl::OUString sPropertyIsDataBaseFormat; 488 const ::rtl::OUString sPropertyIsDate; 489 const ::rtl::OUString sPropertyIsExpression; 490 const ::rtl::OUString sPropertyIsFixed; 491 const ::rtl::OUString sPropertyIsFixedLanguage; 492 const ::rtl::OUString sPropertyIsHidden; 493 const ::rtl::OUString sPropertyIsInput; 494 const ::rtl::OUString sPropertyIsShowFormula; 495 const ::rtl::OUString sPropertyIsVisible; 496 const ::rtl::OUString sPropertyItems; 497 const ::rtl::OUString sPropertyLevel; 498 const ::rtl::OUString sPropertyMacro; 499 const ::rtl::OUString sPropertyMeasureKind; 500 const ::rtl::OUString sPropertyName; 501 const ::rtl::OUString sPropertyNumberFormat; 502 const ::rtl::OUString sPropertyNumberingSeparator; 503 const ::rtl::OUString sPropertyNumberingType; 504 const ::rtl::OUString sPropertyOffset; 505 const ::rtl::OUString sPropertyOn; 506 const ::rtl::OUString sPropertyPlaceholder; 507 const ::rtl::OUString sPropertyPlaceholderType; 508 const ::rtl::OUString sPropertyReferenceFieldPart; 509 const ::rtl::OUString sPropertyReferenceFieldSource; 510 const ::rtl::OUString sPropertyReferenceFieldType; 511 const ::rtl::OUString sPropertyRevision; 512 const ::rtl::OUString sPropertyScriptType; 513 const ::rtl::OUString sPropertySelectedItem; 514 const ::rtl::OUString sPropertySequenceNumber; 515 const ::rtl::OUString sPropertySequenceValue; 516 const ::rtl::OUString sPropertySetNumber; 517 const ::rtl::OUString sPropertySourceName; 518 const ::rtl::OUString sPropertySubType; 519 const ::rtl::OUString sPropertyTargetFrame; 520 const ::rtl::OUString sPropertyTrueContent; 521 const ::rtl::OUString sPropertyURL; 522 const ::rtl::OUString sPropertyURLContent; 523 const ::rtl::OUString sPropertyUserText; 524 const ::rtl::OUString sPropertyValue; 525 const ::rtl::OUString sPropertyVariableName; 526 const ::rtl::OUString sPropertyVariableSubType; 527 const ::rtl::OUString sPropertyHelp; 528 const ::rtl::OUString sPropertyTooltip; 529 const ::rtl::OUString sPropertyTextRange; 530 531 const ::rtl::OUString sEmpty; 532 533 XMLPropertyState* pCombinedCharactersPropertyState; 534 535 }; 536 537 538 539 540 541 542 #endif 543