Beyond the basics
It's interesting to see the varying emotions people have had in reaction to the standardization of the Office Open XML formats. It was obviously an immense amount of work, and it resulted in a 6,000 page standard. As you all know by now, the reason there was so much information in the specification was that we absolutely had to ensure that all the information people currently had in their existing set of Office binary documents could be ported over into the new format (with no loss).
In addition to that, we wanted to make sure we did our best to ensure that anyone coming trying to build support for the OpenXML formats in their solution had all the information they would need for consuming and producing those documents. This meant we had to go beyond the basics, and document all the pieces of the format we could. This is where you start to see the differences between the approach taken with the ODF standard and the OpenXML standard. In the ODF standard, the decision was made to leave a lot of the pieces out of the standard and to instead have them be application defined. This means you have a simpler standard, but it also means that interoperability is much more difficult to achieve. Let me explain:
As you start to document a specific feature in a file format, you have a few choices:
- Fully document – This means you define the syntax for representing the feature, and all the information people would need to interpret it.
- Pros: Everyone can build support for the feature using the specification.
- Cons: None really (other than it makes the spec bigger)
- Partially document – This means you define the syntax for representing the feature, but don't provide all the details for implementation.
- Pros: If two application already have the behavior, it means they have a prescribed method for persisting that in the file format. So while the spec doesn't tell you how to implement the behavior, it does help you interoperate with others who already know the behavior.
- Cons: It's not as interoperable as when you fully document something, but it still allows for more interoperability than the next approach.
- Application defined – This means you allow the specification to be extended by an implementer to represent the feature as they choose. Usually you provide a way in which they can use their own namespace for identifying it as not being part of the standard but instead an extension.
- Pros: This is the only option to account for things not yet in use when the standard was written.
- Cons: There is no way to interoperate using the spec. You need to look at the implementation for any applications you will be interacting with and see how they extended the spec.
One of the sections people have been wondering about in the Open XML spec is section 2.15 in part 4 (Markup Language Reference). That section defines a couple hundred document level settings. Some of for application behaviors like "don't check spelling." Others are for display behaviors like "show gridlines on tables." And others are for layout behaviors like "align tables row by row."
The important thing for people to realize is that many of these settings are common in a number of Wordprocessing applications. KOffice, OpenOffice, and Microsoft Office all have a similar set of document settings. In ODF, they took the "application defined" approach for the settings, rather than either partially or fully documenting (similar to the original approach with spreadsheet formulas). So, if you save out a blank text document or spreadsheet from OpenOffice you'll get the following set of extended properties, and not a single one of these appear in the ODF standard (many of these directly impact the interoperability of the document in terms of layout and display):
OpenOffice extensions to ODF standard using the https://openoffice.org/2004/office namespace
Name | Type | Primary Use | Interoperability | Section in Spec |
ActiveTable | string | App Behavior | Application Defined | N/A |
AddExternalLeading | boolean | View | Application Defined | N/A |
AddFrameOffsets | boolean | View | Application Defined | N/A |
AddParaSpacingToTableCells | boolean | View | Application Defined | N/A |
AddParaTableSpacing | boolean | Layout | Application Defined | N/A |
AddParaTableSpacingAtStart | boolean | Layout | Application Defined | N/A |
AlignTabStopPosition | boolean | Layout | Application Defined | N/A |
AllowPrintJobCancel | boolean | App Behavior | Application Defined | N/A |
ApplyUserData | boolean | View | Application Defined | N/A |
AutoCalculate | boolean | Display | Application Defined | N/A |
CharacterCompressionType | short | Layout | Application Defined | N/A |
ChartAutoUpdate | boolean | Display | Application Defined | N/A |
ClipAsCharacterAnchoredWriterFlyFrames | boolean | ??? | Application Defined | N/A |
ConsiderTextWrapOnObjPos | boolean | Layout | Application Defined | N/A |
CurrentDatabaseCommand | string | Data | Application Defined | N/A |
CurrentDatabaseCommandType | int | Data | Application Defined | N/A |
CurrentDatabaseDataSource | string | Data | Application Defined | N/A |
DoNotCaptureDrawObjsOnPage | boolean | Display | Application Defined | N/A |
DoNotJustifyLinesWithManualBreak | boolean | View | Application Defined | N/A |
DoNotResetParaAttrsForNumFont | boolean | Display | Application Defined | N/A |
FieldAutoUpdate | boolean | Display | Application Defined | N/A |
GridColor | long | Display | Application Defined | N/A |
HasColumnRowHeaders | boolean | Display | Application Defined | N/A |
HasSheetTabs | boolean | App Behavior | Application Defined | N/A |
HorizontalScrollbarWidth | int | App Behavior | Application Defined | N/A |
IgnoreFirstLineIndentInNumbering | boolean | Display | Application Defined | N/A |
IgnoreTabsAndBlanksForLineCalculation | boolean | Display | Application Defined | N/A |
InBrowseMode | boolean | App Behavior | Application Defined | N/A |
IsKernAsianPunctuation | boolean | Display | Application Defined | N/A |
IsLabelDocument | boolean | App Behavior | Application Defined | N/A |
IsOutlineSymbolsSet | boolean | Display | Application Defined | N/A |
IsRasterAxisSynchronized | boolean | Display | Application Defined | N/A |
IsSelectedFrame | boolean | App Behavior | Application Defined | N/A |
IsSnapToRaster | boolean | Display | Application Defined | N/A |
LinkUpdateMode | short | App Behavior | Application Defined | N/A |
LoadReadonly | boolean | App Behavior | Application Defined | N/A |
OutlineLevelYieldsNumbering | boolean | Display | Application Defined | N/A |
PageViewZoomValue | int | View | Application Defined | N/A |
PrintAnnotationMode | short | Printing | Application Defined | N/A |
PrintBlackFonts | boolean | Printing | Application Defined | N/A |
PrintControls | boolean | Printing | Application Defined | N/A |
PrintDrawings | boolean | Printing | Application Defined | N/A |
PrintEmptyPages | boolean | Printing | Application Defined | N/A |
PrinterIndependentLayout | string | Printing | Application Defined | N/A |
PrinterName | string | Printing | Application Defined | N/A |
PrinterSetup | base64Binary | Printing | Application Defined | N/A |
PrintFaxName | string | Printing | Application Defined | N/A |
PrintGraphics | boolean | Printing | Application Defined | N/A |
PrintLeftPages | boolean | Printing | Application Defined | N/A |
PrintPageBackground | boolean | Printing | Application Defined | N/A |
PrintPaperFromSetup | boolean | Printing | Application Defined | N/A |
PrintProspect | boolean | Printing | Application Defined | N/A |
PrintReversed | boolean | Printing | Application Defined | N/A |
PrintRightPages | boolean | Printing | Application Defined | N/A |
PrintSingleJobs | boolean | Printing | Application Defined | N/A |
PrintTables | boolean | Printing | Application Defined | N/A |
RasterIsVisible | boolean | Display | Application Defined | N/A |
RasterResolutionX | int | Display | Application Defined | N/A |
RasterResolutionY | int | Display | Application Defined | N/A |
RasterSubdivisionX | int | Display | Application Defined | N/A |
RasterSubdivisionY | int | Display | Application Defined | N/A |
RedlineProtectionKey | base64Binary | ??? | Application Defined | N/A |
SaveGlobalDocumentLinks | boolean | Data | Application Defined | N/A |
SaveVersionOnClose | boolean | Data | Application Defined | N/A |
ShowGrid | boolean | Display | Application Defined | N/A |
ShowNotes | boolean | Display | Application Defined | N/A |
ShowPageBreakPreview | boolean | Display | Application Defined | N/A |
ShowPageBreaks | boolean | Display | Application Defined | N/A |
ShowRedlineChanges | boolean | Display | Application Defined | N/A |
ShowZeroValues | boolean | Display | Application Defined | N/A |
TableRowKeep | boolean | Display | Application Defined | N/A |
UpdateFromTemplate | boolean | App Behavior | Application Defined | N/A |
UseFormerLineSpacing | boolean | Display | Application Defined | N/A |
UseFormerObjectPositioning | boolean | Display | Application Defined | N/A |
UseFormerTextWrapping | boolean | Display | Application Defined | N/A |
UseOldNumbering | boolean | Display | Application Defined | N/A |
ViewAreaHeight | int | View | Application Defined | N/A |
ViewAreaLeft | int | View | Application Defined | N/A |
ViewAreaTop | int | View | Application Defined | N/A |
ViewAreaWidth | int | View | Application Defined | N/A |
ViewId | string | View | Application Defined | N/A |
ViewLeft | int | View | Application Defined | N/A |
ViewTop | int | View | Application Defined | N/A |
VisibleAreaHeight | int | View | Application Defined | N/A |
VisibleAreaLeft | int | View | Application Defined | N/A |
VisibleAreaTop | int | View | Application Defined | N/A |
VisibleAreaWidth | int | View | Application Defined | N/A |
VisibleBottom | int | View | Application Defined | N/A |
VisibleLeft | int | View | Application Defined | N/A |
VisibleRight | int | View | Application Defined | N/A |
VisibleTop | int | View | Application Defined | N/A |
ZoomFactor | short | View | Application Defined | N/A |
ZoomType | short | View | Application Defined | N/A |
ZoomValue | int | View | Application Defined | N/A |
If you were to use KOffice to open the document, it wouldn't understand any of these settings as they are all in the https://openoffice.org/2004/office namespace and not defined in the ODF standard. The OpenOffice folks most likely document many of these on their own site so KOffice could use that material when trying for interoperability, but at that point they've had to go beyond the ISO standard and start to rely on application specific information that OASIS and ISO have no say over.
In KOffice they also have document settings (although it doesn't appear to be nearly as much as OpenOffic) So with KOffice, you would get a different set of properties (here are a few I found):
KOffice extensions to ODF standard using empty namespace
Name | Type | Primary Use | Interoperability | Section in Spec |
unit | string | App Behavior | Application Defined | N/A |
SpellCheckerIgnoreList | string | App Behavior | Application Defined | N/A |
displaylink | boolean | View | Application Defined | N/A |
underlinelink | boolean | View | Application Defined | N/A |
displaycomment | boolean | View | Application Defined | N/A |
displayfieldcode | boolean | View | Application Defined | N/A |
lastPrintingDate | string | Data | Application Defined | N/A |
creationDate | string | Data | Application Defined | N/A |
modificationDate | string | Data | Application Defined | N/A |
Settings in OpenXML
Let's compare that with the OpenXML specification where the large majority are fully documented, and only a few are partially documented (none are application defined). Also note that all of these are completely optional for implementation, and even within Microsoft Office we try to move our customers toward turning many of them off (especially the application specific legacy behaviors). Obviously there may be more settings out there in other applications than what we've specified, and the spec is fully extensible to allow for those as well. We wanted to try to cover all of those currently in use, and as we find new ones we can add them to the spec if needed:
Name | Type | Primary Use | Interoperability | Section in Spec |
activeWritingStyle | complex type | App Behavior | Fully Documented | 2.15.1.01 |
adjustLineHeightInTable | Boolean | Layout | Fully Documented | 2.15.3.01 |
alignBordersAndEdges | Boolean | Display | Fully Documented | 2.15.1.02 |
alignTablesRowByRow | Boolean | Layout | Fully Documented | 2.15.3.02 |
allowSpaceOfSameStyleInTable | Boolean | Layout | Fully Documented | 2.15.3.03 |
alwaysMergeEmptyNamespace | Boolean | App Behavior | Fully Documented | 2.15.1.03 |
alwaysShowPlaceholderText | Boolean | Display | Fully Documented | 2.15.1.04 |
applyBreakingRules | Boolean | Layout | Fully Documented | 2.15.3.04 |
attachedSchema | String | Data | Fully Documented | 2.15.1.05 |
attachedTemplate | relationship | App Behavior | Fully Documented | 2.15.1.06 |
autofitToFirstFixedWidthCell | Boolean | Layout | Fully Documented | 2.15.3.05 |
autoFormatOverride | Boolean | App Behavior | Fully Documented | 2.15.1.09 |
autoHyphenation | Boolean | Display | Fully Documented | 2.15.1.10 |
autoSpaceLikeWord95 | Boolean | Layout | Partially Documented | 2.15.3.06 |
balanceSingleByteDoubleByteWidth | Boolean | Layout | Fully Documented | 2.15.3.07 |
bookFoldPrinting | Boolean | Printing | Fully Documented | 2.15.1.11 |
bookFoldPrintingSheets | Integer | Printing | Fully Documented | 2.15.1.12 |
bookFoldRevPrinting | Boolean | Printing | Fully Documented | 2.15.1.13 |
bordersDoNotSurroundFooter | Boolean | Display | Fully Documented | 2.15.1.14 |
bordersDoNotSurroundHeader | Boolean | Display | Fully Documented | 2.15.1.15 |
cachedColBalance | Boolean | Layout | Fully Documented | 2.15.3.08 |
captions | CT_Captions | Display | Fully Documented | 2.15.1.17 |
characterSpacingControl | CT_CharacterSpacing | Layout | Fully Documented | 2.15.1.18 |
clickAndTypeStyle | String | App Behavior | Fully Documented | 2.15.1.19 |
clrSchemeMapping | complex type | Display | Fully Documented | 2.15.1.20 |
consecutiveHyphenLimit | Integer | Display | Fully Documented | 2.15.1.21 |
convMailMergeEsc | Boolean | Display | Fully Documented | 2.15.3.10 |
decimalSymbol | String | Data | Fully Documented | 2.15.1.22 |
defaultTableStyle | String | Display | Fully Documented | 2.15.1.23 |
defaultTabStop | Integer | Display | Fully Documented | 2.15.1.24 |
displayBackgroundShape | Boolean | Display | Fully Documented | 2.15.1.25 |
displayHangulFixedWidth | Boolean | Layout | Fully Documented | 2.15.3.11 |
displayHorizontalDrawingGridEvery | Integer | Display | Fully Documented | 2.15.1.26 |
displayVerticalDrawingGridEvery | Integer | Display | Fully Documented | 2.15.1.27 |
documentProtection | CT_DocProtect | App Behavior | Fully Documented | 2.15.1.28 |
documentType | CT_DocType | App Behavior | Fully Documented | 2.15.1.29 |
docVars | CT_DocVars | App Behavior | Fully Documented | 2.15.1.31 |
doNotAutoCompressPictures | Boolean | App Behavior | Fully Documented | 2.15.1.32 |
doNotAutofitConstrainedTables | Boolean | Layout | Fully Documented | 2.15.3.12 |
doNotBreakConstrainedForcedTable | Boolean | Layout | Fully Documented | 2.15.3.13 |
doNotBreakWrappedTables | Boolean | Layout | Fully Documented | 2.15.3.14 |
doNotDemarcateInvalidXml | Boolean | App Behavior | Fully Documented | 2.15.1.33 |
doNotDisplayPageBoundaries | Boolean | Display | Fully Documented | 2.15.1.34 |
doNotEmbedSmartTags | Boolean | App Behavior | Fully Documented | 2.15.1.35 |
doNotExpandShiftReturn | Boolean | Layout | Fully Documented | 2.15.3.15 |
doNotHyphenateCaps | Boolean | Display | Fully Documented | 2.15.1.36 |
doNotIncludeSubdocsInStats | Boolean | App Behavior | Fully Documented | 2.15.1.37 |
doNotLeaveBackslashAlone | Boolean | Display | Fully Documented | 2.15.3.16 |
doNotShadeFormData | Boolean | App Behavior | Fully Documented | 2.15.1.38 |
doNotSnapToGridInCell | Boolean | Layout | Fully Documented | 2.15.3.17 |
doNotSuppressIndentation | Boolean | Layout | Fully Documented | 2.15.3.18 |
doNotSuppressParagraphBorders | Boolean | Display | Fully Documented | 2.15.3.19 |
doNotTrackFormatting | Boolean | App Behavior | Fully Documented | 2.15.1.39 |
doNotTrackMoves | Boolean | App Behavior | Fully Documented | 2.15.1.40 |
doNotUseEastAsianBreakRules | Boolean | Layout | Fully Documented | 2.15.3.20 |
doNotUseHTMLParagraphAutoSpacing | Boolean | Layout | Fully Documented | 2.15.3.21 |
doNotUseIndentAsNumberingTabStop | Boolean | Layout | Fully Documented | 2.15.3.22 |
doNotUseMarginsForDrawingGridOrigin | Boolean | Layout | Fully Documented | 2.15.1.41 |
doNotValidateAgainstSchema | Boolean | App Behavior | Fully Documented | 2.15.1.42 |
doNotVertAlignCellWithSp | Boolean | Layout | Fully Documented | 2.15.3.23 |
doNotVertAlignInTxbx | Boolean | Layout | Fully Documented | 2.15.3.24 |
doNotWrapTextWithPunct | Boolean | Layout | Fully Documented | 2.15.3.25 |
drawingGridHorizontalOrigin | Integer | Layout | Fully Documented | 2.15.1.43 |
drawingGridHorizontalSpacing | Integer | Layout | Fully Documented | 2.15.1.44 |
drawingGridVerticalOrigin | Integer | Layout | Fully Documented | 2.15.1.45 |
drawingGridVerticalSpacing | Integer | Layout | Fully Documented | 2.15.1.46 |
footnoteLayoutLikeWW8 | Boolean | Layout | Partially Documented | 2.15.3.26 |
forceUpgrade | CT_Empty | App Behavior | Fully Documented | 2.15.1.47 |
forgetLastTabAlignment | Boolean | Layout | Fully Documented | 2.15.3.27 |
formsDesign | Boolean | App Behavior | Fully Documented | 2.15.1.48 |
growAutofit | Boolean | Layout | Fully Documented | 2.15.3.28 |
gutterAtTop | Boolean | Layout | Fully Documented | 2.15.1.49 |
hdrShapeDefaults | complex type | Layout | Fully Documented | 2.15.1.50 |
hideGrammaticalErrors | Boolean | App Behavior | Fully Documented | 2.15.1.51 |
hideSpellingErrors | Boolean | App Behavior | Fully Documented | 2.15.1.52 |
hyphenationZone | Integer | Layout | Fully Documented | 2.15.1.53 |
ignoreMixedContent | Boolean | App Behavior | Fully Documented | 2.15.1.54 |
layoutRawTableWidth | Boolean | Layout | Fully Documented | 2.15.3.29 |
layoutTableRowsApart | Boolean | Layout | Fully Documented | 2.15.3.30 |
lineWrapLikeWord6 | Boolean | Layout | Partially Documented | 2.15.3.31 |
linkStyles | Boolean | App Behavior | Fully Documented | 2.15.1.55 |
listSeparator | String | Data | Fully Documented | 2.15.1.56 |
mirrorMargins | Boolean | Layout | Fully Documented | 2.15.1.57 |
mwSmallCaps | Boolean | Layout | Partially Documented | 2.15.3.32 |
noColumnBalance | Boolean | Layout | Fully Documented | 2.15.3.33 |
noExtraLineSpacing | Boolean | Layout | Fully Documented | 2.15.3.34 |
noLeading | Boolean | Layout | Fully Documented | 2.15.3.35 |
noLineBreaksAfter | CT_Kinsoku | Layout | Fully Documented | 2.15.1.58 |
noLineBreaksBefore | CT_Kinsoku | Layout | Fully Documented | 2.15.1.59 |
noPunctuationKerning | Boolean | Layout | Fully Documented | 2.15.1.60 |
noSpaceRaiseLower | Boolean | Layout | Fully Documented | 2.15.3.36 |
noTabHangInd | Boolean | Layout | Fully Documented | 2.15.3.37 |
printBodyTextBeforeHeader | Boolean | Printing | Fully Documented | 2.15.3.38 |
printColBlack | Boolean | Printing | Fully Documented | 2.15.3.39 |
printFormsData | Boolean | Printing | Fully Documented | 2.15.1.61 |
printFractionalCharacterWidth | Boolean | Printing | Fully Documented | 2.15.1.62 |
printPostScriptOverText | Boolean | Printing | Fully Documented | 2.15.1.63 |
printTwoOnOne | Boolean | Printing | Fully Documented | 2.15.1.64 |
proofState | String | App Behavior | Fully Documented | 2.15.1.65 |
readModeInkLockDown | complex type | App Behavior | Fully Documented | 2.15.1.66 |
removeDateAndTime | Boolean | App Behavior | Fully Documented | 2.15.1.67 |
removePersonalInformation | Boolean | App Behavior | Fully Documented | 2.15.1.68 |
revisionView | complex type | Display | Fully Documented | 2.15.1.69 |
rsids | CT_DocRsids | Data | Fully Documented | 2.15.1.72 |
saveFormsData | Boolean | App Behavior | Fully Documented | 2.15.1.73 |
saveInvalidXml | Boolean | App Behavior | Fully Documented | 2.15.1.74 |
savePreviewPicture | Boolean | App Behavior | Fully Documented | 2.15.1.75 |
saveSubsetFonts | Boolean | App Behavior | Fully Documented | 2.15.1.76 |
saveThroughXslt | complex type | App Behavior | Fully Documented | 2.15.1.77 |
saveXmlDataOnly | Boolean | App Behavior | Fully Documented | 2.15.1.78 |
selectFldWithFirstOrLastChar | Boolean | App Behavior | Fully Documented | 2.15.3.40 |
shapeDefaults | complex type | Data | Fully Documented | 2.15.1.79 |
shapeLayoutLikeWW8 | Boolean | Layout | Partially Documented | 2.15.3.41 |
showBreaksInFrames | Boolean | Display | Fully Documented | 2.15.3.42 |
showEnvelope | Boolean | App Behavior | Fully Documented | 2.15.1.80 |
showXMLTags | Boolean | App Behavior | Fully Documented | 2.15.1.81 |
smartTagType | complex type | App Behavior | Fully Documented | 2.15.1.82 |
spaceForUL | Boolean | Layout | Fully Documented | 2.15.3.43 |
spacingInWholePoints | Boolean | Layout | Fully Documented | 2.15.3.44 |
splitPgBreakAndParaMark | Boolean | Layout | Fully Documented | 2.15.3.45 |
strictFirstAndLastChars | Boolean | Layout | Fully Documented | 2.15.1.83 |
styleLockQFSet | Boolean | App Behavior | Fully Documented | 2.15.1.84 |
styleLockTheme | Boolean | App Behavior | Fully Documented | 2.15.1.85 |
stylePaneFormatFilter | complex type | App Behavior | Fully Documented | 2.15.1.86 |
stylePaneSortMethod | complex type | App Behavior | Fully Documented | 2.15.1.87 |
subFontBySize | Boolean | Layout | Fully Documented | 2.15.3.46 |
summaryLength | Integer | App Behavior | Fully Documented | 2.15.1.88 |
suppressBottomSpacing | Boolean | Layout | Fully Documented | 2.15.3.47 |
suppressSpacingAtTopOfPage | Boolean | Layout | Fully Documented | 2.15.3.48 |
suppressSpBfAfterPgBrk | Boolean | Layout | Fully Documented | 2.15.3.49 |
suppressTopSpacing | Boolean | Layout | Fully Documented | 2.15.3.50 |
suppressTopSpacingWP | Boolean | Layout | Partially Documented | 2.15.3.51 |
swapBordersFacingPages | Boolean | Display | Fully Documented | 2.15.3.52 |
themeFontLang | CT_Language | Data | Fully Documented | 2.15.1.89 |
trackRevisions | Boolean | App Behavior | Fully Documented | 2.15.1.90 |
truncateFontHeightsLikeWP6 | Boolean | Layout | Partially Documented | 2.15.3.53 |
uiCompat97To2003 | Boolean | App Behavior | Partially Documented | 2.15.3.54 |
ulTrailSpace | Boolean | Display | Fully Documented | 2.15.3.55 |
underlineTabInNumList | Boolean | Display | Fully Documented | 2.15.3.56 |
updateFields | Boolean | Display | Fully Documented | 2.15.1.91 |
useAltKinsokuLineBreakRules | Boolean | Layout | Fully Documented | 2.15.3.57 |
useAnsiKerningPairs | Boolean | Layout | Fully Documented | 2.15.3.58 |
useFELayout | Boolean | Layout | Fully Documented | 2.15.3.59 |
useNormalStyleForList | Boolean | Display | Fully Documented | 2.15.3.60 |
usePrinterMetrics | Boolean | Display | Fully Documented | 2.15.3.61 |
useSingleBorderforContiguousCells | Boolean | Display | Fully Documented | 2.15.3.62 |
useWord2002TableStyleRules | Boolean | Display | Partially Documented | 2.15.3.63 |
useWord97LineBreakRules | Boolean | Layout | Partially Documented | 2.15.3.64 |
useXSLTWhenSaving | Boolean | App Behavior | Fully Documented | 2.15.1.92 |
view | complex type | Display | Fully Documented | 2.15.1.93 |
wpJustification | Boolean | Layout | Partially Documented | 2.15.3.65 |
wpSpaceWidth | Boolean | Layout | Partially Documented | 2.15.3.66 |
wrapTrailSpaces | Boolean | Layout | Fully Documented | 2.15.3.67 |
writeProtection | complex type | App Behavior | Fully Documented | 2.15.1.94 |
zoom | complex type | Display | Fully Documented | 2.15.1.95 |
-Brian