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