Table of Contents

Enum FieldKind

Namespace
DocWright.Dom.Fields
Assembly
DocWright.Dom.dll

The field kinds the DOM field engine recognizes (ECMA-376 Part 1 §17.16.5).

public enum FieldKind

Fields

Unknown = 0

An unrecognized or empty instruction.

If = 1

IF — conditional text based on a comparison.

Compare = 2

COMPARE — the comparison alone, yielding "1" or "0".

Formula = 3

= — the formula field.

MergeField = 4

MERGEFIELD — a mail-merge data field.

MergeRec = 5

MERGEREC — the current merge record number.

MergeSeq = 6

MERGESEQ — the current merge output sequence number.

Next = 7

NEXT — advance to the next merge record.

NextIf = 8

NEXTIF — advance to the next merge record when a comparison holds.

SkipIf = 9

SKIPIF — skip the current merge record when a comparison holds.

Set = 10

SET — bind a bookmark name to a value.

Ref = 11

REF — the text of a bookmark.

NoRef = 12

NOREF — a bookmark reference that suppresses the page-number form.

DocVariable = 13

DOCVARIABLE — a document variable.

DocProperty = 14

DOCPROPERTY — a document property.

FileName = 15

FILENAME — the document file name.

Author = 16

AUTHOR — the document author.

Title = 17

TITLE — the document title.

Subject = 18

SUBJECT — the document subject.

Keywords = 19

KEYWORDS — the document keywords.

Comments = 20

COMMENTS — the document comments property.

LastSavedBy = 21

LASTSAVEDBY — the last author to save the document.

Date = 22

DATE — the current date.

Time = 23

TIME — the current time.

CreateDate = 24

CREATEDATE — the document creation date.

SaveDate = 25

SAVEDATE — the document last-saved date.

PrintDate = 26

PRINTDATE — the document last-printed date.

Quote = 27

QUOTE — literal text, evaluated for switches and nested fields.

StyleRef = 28

STYLEREF — the text of the nearest paragraph in a given style.

UserName = 29

USERNAME — the application user name.

UserInitials = 30

USERINITIALS — the application user initials.

UserAddress = 31

USERADDRESS — the application user address.

Page = 32

PAGE — the current page number. Evaluated by layout, not here.

NumPages = 33

NUMPAGES — the document page count. Evaluated by layout, not here.

SectionPages = 34

SECTIONPAGES — the section page count. Evaluated by layout, not here.

Section = 35

SECTION — the current section number. Evaluated by layout, not here.

PageRef = 36

PAGEREF — the page a bookmark is on. Evaluated by layout, not here.

Seq = 37

SEQ — a sequence counter. Evaluated by layout, not here.

ListNum = 38

LISTNUM — a list counter. Evaluated by layout, not here.

Toc = 39

TOC — a table of contents.

TocEntry = 40

TC — a table-of-contents entry marker.

Index = 41

INDEX — an index.

IndexEntry = 42

XE — an index entry marker.

HYPERLINK — a hyperlink.

IncludeText = 44

INCLUDETEXT — external text. Recognized and preserved; never fetched.

IncludePicture = 45

INCLUDEPICTURE — an external image. Recognized and preserved; never fetched.

LINK — an OLE link. Recognized and preserved; never fetched.

Dde = 47

DDE — a dynamic data exchange link. Recognized and preserved; never fetched.

DdeAuto = 48

DDEAUTO — an automatic DDE link. Recognized and preserved; never fetched.

MacroButton = 49

MACROBUTTON — an interactive macro trigger. Recognized and preserved.

GoToButton = 50

GOTOBUTTON — an interactive navigation trigger. Recognized and preserved.

Private = 51

PRIVATE — converter-private data. Recognized and preserved.

Ask = 52

ASK — an interactive prompt. Recognized and preserved.

FillIn = 53

FILLIN — an interactive prompt. Recognized and preserved.

FormText = 54

FORMTEXT — a text form field. Instruction parsed; evaluation belongs to forms.

FormCheckBox = 55

FORMCHECKBOX — a checkbox form field. Instruction parsed; evaluation belongs to forms.

FormDropDown = 56

FORMDROPDOWN — a dropdown form field. Instruction parsed; evaluation belongs to forms.

Symbol = 57

SYMBOL — a literal character by code point.

Equation = 58

EQ — the legacy equation field. Recognized and preserved.

AutoText = 59

AUTOTEXT — an auto-text entry. Recognized and preserved.

AddressBlock = 60

ADDRESSBLOCK — a merge address block. Recognized and preserved.

GreetingLine = 61

GREETINGLINE — a merge greeting line. Recognized and preserved.

NumChars = 62

NUMCHARS — the document character count. Recognized and preserved.

NumWords = 63

NUMWORDS — the document word count. Recognized and preserved.

Template = 64

TEMPLATE — the attached template name.

Remarks

This is deliberately a second vocabulary, separate from the layout resolver's internal field enum. That enum names the handful of fields layout evaluates because they depend on pagination; sharing one enum would either publish layout internals or drag pagination concerns into the DOM. Recognition here is not a promise of evaluation — see GetSupport(FieldKind) and the field support matrix in COMPAT.md.

Values are explicit and append-only, like the diagnostic codes.