Add declarations of missing XFA attributes.

These appear in the (element,attribute) table but not in the
attribute table itself. This is an obstacle to "normalizing"
these tables.

In turn, an XFA_Attribute will no longer fit in a uint8_t, as
caught by our tests, so bump up to int16_t, using a signed
representation for consistency with the other related enums.

Change-Id: I207a81d7a01c6db3419a3b88818825791abbe747
Reviewed-on: https://pdfium-review.googlesource.com/c/46830
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/xfa/fxfa/fxfa_basic.h b/xfa/fxfa/fxfa_basic.h
index a10caef..b3abafa 100644
--- a/xfa/fxfa/fxfa_basic.h
+++ b/xfa/fxfa/fxfa_basic.h
@@ -102,16 +102,13 @@
 #undef VALUE____
 };
 
-enum class XFA_Attribute : uint8_t {
+enum class XFA_Attribute : int16_t {
+  Unknown = -1,
 #undef ATTR____
 #define ATTR____(a, b, c) c,
 #include "xfa/fxfa/parser/attributes.inc"
 #undef ATTR____
-  FIRST_UNUSED,
-  Unknown = 255,
 };
-static_assert(XFA_Attribute::FIRST_UNUSED < XFA_Attribute::Unknown,
-              "enumerated value collsion");
 
 enum class XFA_Element : int16_t {
   Unknown = -1,
diff --git a/xfa/fxfa/parser/attributes.inc b/xfa/fxfa/parser/attributes.inc
index 6f4504f..381204e 100644
--- a/xfa/fxfa/parser/attributes.inc
+++ b/xfa/fxfa/parser/attributes.inc
@@ -8,7 +8,9 @@
 ATTR____(0x00000077u, "w", W)
 ATTR____(0x00000078u, "x", X)
 ATTR____(0x00000079u, "y", Y)
+ATTR____(0x00020146u, "db", Db)
 ATTR____(0x00021aedu, "id", Id)
+ATTR____(0x000234a1u, "ns", Ns)
 ATTR____(0x00025363u, "to", To)
 ATTR____(0x00cb0ac9u, "lineThrough", LineThrough)
 ATTR____(0x02282c73u, "hAlign", HAlign)
@@ -19,10 +21,13 @@
 ATTR____(0x043e349bu, "dataRowCount", DataRowCount)
 ATTR____(0x05518c25u, "break", Break)
 ATTR____(0x05ce6195u, "vScrollPolicy", VScrollPolicy)
+ATTR____(0x066c1ae9u, "validationsEnabled", ValidationsEnabled)
 ATTR____(0x08c74ae9u, "fontHorizontalScale", FontHorizontalScale)
 ATTR____(0x08d4f1c7u, "textIndent", TextIndent)
+ATTR____(0x097be91bu, "content", Content)
 ATTR____(0x097c1c65u, "context", Context)
 ATTR____(0x09876578u, "trayOut", TrayOut)
+ATTR____(0x09f9d0f9u, "all", All)
 ATTR____(0x0a2e3514u, "cap", Cap)
 ATTR____(0x0b3543a6u, "max", Max)
 ATTR____(0x0b356ca4u, "min", Min)
@@ -31,24 +36,34 @@
 ATTR____(0x0c080cd3u, "url", Url)
 ATTR____(0x0c0811edu, "use", Use)
 ATTR____(0x0cfea02eu, "leftInset", LeftInset)
+ATTR____(0x0d843798u, "fullText", FullText)
+ATTR____(0x0f23332fu, "errorText", ErrorText)
+ATTR____(0x0fb67185u, "recordsBefore", RecordsBefore)
 ATTR____(0x1026c59du, "widows", Widows)
 ATTR____(0x1059ec18u, "level", Level)
 ATTR____(0x1356caf8u, "bottomInset", BottomInset)
 ATTR____(0x13a08bdbu, "overflowTarget", OverflowTarget)
 ATTR____(0x1414d431u, "allowMacro", AllowMacro)
 ATTR____(0x14a32d52u, "pagePosition", PagePosition)
+ATTR____(0x14d04502u, "title", Title)
 ATTR____(0x1517dfa1u, "columnWidths", ColumnWidths)
 ATTR____(0x169134a1u, "overflowLeader", OverflowLeader)
+ATTR____(0x1abbd7e0u, "dataNode", DataNode)
+ATTR____(0x1b6d1cf5u, "reenter", Reenter)
 ATTR____(0x1b8dce3eu, "action", Action)
 ATTR____(0x1e459b8fu, "nonRepudiation", NonRepudiation)
+ATTR____(0x1e6ffa9au, "prevContentType", PrevContentType)
 ATTR____(0x1ec8ab2cu, "rate", Rate)
+ATTR____(0x1ee2d24du, "instanceIndex", InstanceIndex)
 ATTR____(0x1ef3a64au, "allowRichText", AllowRichText)
 ATTR____(0x2038c9b2u, "role", Role)
 ATTR____(0x20914367u, "overflowTrailer", OverflowTrailer)
+ATTR____(0x21d5dfcbu, "currentRecordNumber", CurrentRecordNumber)
 ATTR____(0x226ca8f1u, "operation", Operation)
 ATTR____(0x24d85167u, "timeout", Timeout)
 ATTR____(0x25764436u, "topInset", TopInset)
 ATTR____(0x25839852u, "access", Access)
+ATTR____(0x25a3c206u, "soapFaultString", SoapFaultString)
 ATTR____(0x268b7ec1u, "commandType", CommandType)
 ATTR____(0x28dee6e9u, "format", Format)
 ATTR____(0x28e17e91u, "dataPrep", DataPrep)
@@ -58,42 +73,55 @@
 ATTR____(0x2b5df51eu, "dataDescription", DataDescription)
 ATTR____(0x2bb3f470u, "encipherOnly", EncipherOnly)
 ATTR____(0x2cd79033u, "kerningMode", KerningMode)
+ATTR____(0x2d574d58u, "this", ThisValue)
+ATTR____(0x2e00c007u, "newContentType", NewContentType)
 ATTR____(0x2ee7678fu, "rotate", Rotate)
 ATTR____(0x2f105f72u, "wordCharacterCount", WordCharacterCount)
 ATTR____(0x2f16a382u, "type", Type)
+ATTR____(0x312af044u, "recordsAfter", RecordsAfter)
 ATTR____(0x34ae103cu, "reserve", Reserve)
 ATTR____(0x3650557eu, "textLocation", TextLocation)
+ATTR____(0x392ae445u, "platform", Platform)
 ATTR____(0x39cdb0a2u, "priority", Priority)
 ATTR____(0x3a0273a6u, "underline", Underline)
+ATTR____(0x3b1ddd06u, "fillColor", FillColor)
 ATTR____(0x3b582286u, "moduleWidth", ModuleWidth)
 ATTR____(0x3d123c26u, "hyphenate", Hyphenate)
 ATTR____(0x3e7af94fu, "listen", Listen)
 ATTR____(0x4156ee3fu, "delimiter", Delimiter)
 ATTR____(0x42fed1fdu, "contentType", ContentType)
 ATTR____(0x453eaf38u, "startNew", StartNew)
+ATTR____(0x4570500fu, "modifier", Modifier)
 ATTR____(0x45a6daf8u, "eofAction", EofAction)
 ATTR____(0x47cfa43au, "allowNeutral", AllowNeutral)
 ATTR____(0x47d03490u, "connection", Connection)
 ATTR____(0x4873c601u, "baselineShift", BaselineShift)
 ATTR____(0x4b319767u, "overlinePeriod", OverlinePeriod)
 ATTR____(0x4b8bc840u, "fracDigits", FracDigits)
+ATTR____(0x4df15659u, "nodes", Nodes)
 ATTR____(0x4ef3d02cu, "orientation", Orientation)
 ATTR____(0x4fdc3454u, "timeStamp", TimeStamp)
+ATTR____(0x50d1a9d1u, "model", Model)
+ATTR____(0x50e2e33bu, "selEnd", SelEnd)
 ATTR____(0x52666f1cu, "printCheckDigit", PrintCheckDigit)
 ATTR____(0x534729c9u, "marginLeft", MarginLeft)
 ATTR____(0x5392ea58u, "stroke", Stroke)
 ATTR____(0x5404d6dfu, "moduleHeight", ModuleHeight)
+ATTR____(0x54c399e3u, "formattedValue", FormattedValue)
 ATTR____(0x54fa722cu, "transferEncoding", TransferEncoding)
 ATTR____(0x552d9ad5u, "usage", Usage)
 ATTR____(0x570ce835u, "presence", Presence)
 ATTR____(0x5739d1ffu, "radixOffset", RadixOffset)
 ATTR____(0x577682acu, "preserve", Preserve)
+ATTR____(0x57de87c2u, "prevText", PrevText)
 ATTR____(0x58be2870u, "aliasNode", AliasNode)
 ATTR____(0x5a32e493u, "multiLine", MultiLine)
+ATTR____(0x5a3b375du, "borderColor", BorderColor)
 ATTR____(0x5a50e9e6u, "version", Version)
 ATTR____(0x5ab23b6cu, "startChar", StartChar)
 ATTR____(0x5b707a35u, "scriptTest", ScriptTest)
 ATTR____(0x5c054755u, "startAngle", StartAngle)
+ATTR____(0x5e936ed6u, "fontColor", FontColor)
 ATTR____(0x5ec958c0u, "cursorType", CursorType)
 ATTR____(0x5f760b50u, "digitalSignature", DigitalSignature)
 ATTR____(0x60a61eddu, "codeType", CodeType)
@@ -102,16 +130,26 @@
 ATTR____(0x65e30c67u, "imagingBBox", ImagingBBox)
 ATTR____(0x66539c48u, "excludeInitialCap", ExcludeInitialCap)
 ATTR____(0x66642f8fu, "force", Force)
+ATTR____(0x66cb1eedu, "variation", Variation)
+ATTR____(0x6826c408u, "parentSubform", ParentSubform)
 ATTR____(0x69aa2292u, "crlSign", CrlSign)
 ATTR____(0x6a3405ddu, "previous", Previous)
 ATTR____(0x6a95c976u, "pushCharacterCount", PushCharacterCount)
+ATTR____(0x6aab37cbu, "isDefined", IsDefined)
 ATTR____(0x6b6ddcfbu, "nullTest", NullTest)
+ATTR____(0x6c0d9600u, "currentValue", CurrentValue)
 ATTR____(0x6cfa828au, "runAt", RunAt)
+ATTR____(0x6ea04e0au, "soapFaultCode", SoapFaultCode)
+ATTR____(0x6f544d49u, "count", Count)
+ATTR____(0x6f6556cfu, "newText", NewText)
 ATTR____(0x731e0665u, "spaceBelow", SpaceBelow)
 ATTR____(0x74788f8bu, "sweepAngle", SweepAngle)
+ATTR____(0x7717cbc4u, "language", Language)
+ATTR____(0x78a8d6cfu, "classAll", ClassAll)
 ATTR____(0x78bff531u, "numberOfCells", NumberOfCells)
 ATTR____(0x79543055u, "letterSpacing", LetterSpacing)
 ATTR____(0x79975f2bu, "lockType", LockType)
+ATTR____(0x79b67434u, "mandatoryMessage", MandatoryMessage)
 ATTR____(0x7a0cc471u, "passwordChar", PasswordChar)
 ATTR____(0x7a7cc341u, "vAlign", VAlign)
 ATTR____(0x7b29630au, "sourceBelow", SourceBelow)
@@ -129,7 +167,11 @@
 ATTR____(0x824f21b7u, "embedPDF", EmbedPDF)
 ATTR____(0x8340ea66u, "oddOrEven", OddOrEven)
 ATTR____(0x836d4d7cu, "tabDefault", TabDefault)
+ATTR____(0x846599f8u, "transient", Transient)
+ATTR____(0x85fd6fafu, "mandatory", Mandatory)
+ATTR____(0x86698963u, "appType", AppType)
 ATTR____(0x8855805fu, "contains", Contains)
+ATTR____(0x891f4606u, "change", Change)
 ATTR____(0x8a692521u, "rightInset", RightInset)
 ATTR____(0x8af2e657u, "maxChars", MaxChars)
 ATTR____(0x8b90e1f2u, "open", Open)
@@ -140,11 +182,15 @@
 ATTR____(0x8ec6204cu, "lineThroughPeriod", LineThroughPeriod)
 ATTR____(0x8ed182d1u, "shape", Shape)
 ATTR____(0x8fa01790u, "tabStops", TabStops)
+ATTR____(0x8fa3c19eu, "shift", Shift)
 ATTR____(0x8fc36c0au, "outputBelow", OutputBelow)
 ATTR____(0x9041d4b0u, "short", Short)
 ATTR____(0x907c7719u, "fontVerticalScale", FontVerticalScale)
+ATTR____(0x942643f0u, "savedValue", SavedValue)
 ATTR____(0x94446dccu, "thickness", Thickness)
+ATTR____(0x94ff9e8du, "calculationsEnabled", CalculationsEnabled)
 ATTR____(0x957fa006u, "commitOn", CommitOn)
+ATTR____(0x964fb42eu, "formatMessage", FormatMessage)
 ATTR____(0x982bd892u, "remainCharacterCount", RemainCharacterCount)
 ATTR____(0x98fd4d81u, "keyAgreement", KeyAgreement)
 ATTR____(0x99800d7au, "errorCorrectionLevel", ErrorCorrectionLevel)
@@ -153,26 +199,34 @@
 ATTR____(0x9d833d75u, "circular", Circular)
 ATTR____(0x9d8ee204u, "psName", PsName)
 ATTR____(0x9dcc3ab3u, "trailer", Trailer)
+ATTR____(0x9f3e9510u, "instanceManager", InstanceManager)
+ATTR____(0xa021b738u, "stateless", Stateless)
+ATTR____(0xa03cf627u, "rawValue", RawValue)
 ATTR____(0xa0933954u, "unicodeRange", UnicodeRange)
 ATTR____(0xa1b0d2f5u, "executeType", ExecuteType)
 ATTR____(0xa25a883du, "duplexImposition", DuplexImposition)
 ATTR____(0xa42ca1b7u, "trayIn", TrayIn)
 ATTR____(0xa433f001u, "bindingNode", BindingNode)
+ATTR____(0xa52682bdu, "{default}", DefaultValue)
 ATTR____(0xa5340ff5u, "bofAction", BofAction)
 ATTR____(0xa5b410cfu, "save", Save)
+ATTR____(0xa60dd202u, "length", Length)
 ATTR____(0xa6118c89u, "targetType", TargetType)
 ATTR____(0xa66404cbu, "keyEncipherment", KeyEncipherment)
 ATTR____(0xa6710262u, "credentialServerPolicy", CredentialServerPolicy)
 ATTR____(0xa686975bu, "size", Size)
 ATTR____(0xa85e74f3u, "initialNumber", InitialNumber)
+ATTR____(0xa9d9b2e1u, "keyDown", keyDown)
 ATTR____(0xabef37e3u, "slope", Slope)
 ATTR____(0xabfa6c4fu, "cSpace", CSpace)
 ATTR____(0xac06e2b0u, "colSpan", ColSpan)
+ATTR____(0xacb4823fu, "isContainer", IsContainer)
 ATTR____(0xadc4c77bu, "binding", Binding)
 ATTR____(0xaf754613u, "checksum", Checksum)
 ATTR____(0xb045fbc5u, "charEncoding", CharEncoding)
 ATTR____(0xb0e5485du, "bind", Bind)
 ATTR____(0xb12128b7u, "textEntry", TextEntry)
+ATTR____(0xb2c80857u, "className", ClassName)
 ATTR____(0xb373a862u, "archive", Archive)
 ATTR____(0xb598a1f7u, "uuid", Uuid)
 ATTR____(0xb5e49bf2u, "posture", Posture)
@@ -181,15 +235,18 @@
 ATTR____(0xbc0c4695u, "qualifiedName", QualifiedName)
 ATTR____(0xbc254332u, "usehref", Usehref)
 ATTR____(0xbc8fa350u, "locale", Locale)
+ATTR____(0xbcd44940u, "currentPage", CurrentPage)
 ATTR____(0xbd6e1d88u, "weight", Weight)
 ATTR____(0xbd96a0e9u, "underlinePeriod", UnderlinePeriod)
 ATTR____(0xbde9abdau, "data", Data)
 ATTR____(0xbe52dfbfu, "desc", Desc)
 ATTR____(0xbe9ba472u, "numbered", Numbered)
+ATTR____(0xbfc89db2u, "selStart", selStart)
 ATTR____(0xc035c6b1u, "dataColumnCount", DataColumnCount)
 ATTR____(0xc0ec9fa4u, "overline", Overline)
 ATTR____(0xc2ba0923u, "urlPolicy", UrlPolicy)
 ATTR____(0xc2bd40fdu, "anchorType", AnchorType)
+ATTR____(0xc32a5812u, "commitKey", CommitKey)
 ATTR____(0xc39a88bdu, "labelRef", LabelRef)
 ATTR____(0xc3c1442fu, "bookendLeader", BookendLeader)
 ATTR____(0xc4547a08u, "maxLength", MaxLength)
@@ -198,6 +255,8 @@
 ATTR____(0xc860f30au, "delayedOpen", DelayedOpen)
 ATTR____(0xc8da4da7u, "target", Target)
 ATTR____(0xca5dc27cu, "dataEncipherment", DataEncipherment)
+ATTR____(0xcabfa3d0u, "validationMessage", ValidationMessage)
+ATTR____(0xcad6d8cau, "parent", Parent)
 ATTR____(0xcb150479u, "afterTarget", AfterTarget)
 ATTR____(0xcbcaf66du, "leader", Leader)
 ATTR____(0xcca7897eu, "picker", Picker)
@@ -209,22 +268,29 @@
 ATTR____(0xd4cc53f8u, "highlight", Highlight)
 ATTR____(0xd50f903au, "valueRef", ValueRef)
 ATTR____(0xd52482e0u, "maxEntries", MaxEntries)
+ATTR____(0xd5679c78u, "index", Index)
 ATTR____(0xd57c513cu, "dataLength", DataLength)
+ATTR____(0xd592b920u, "numPages", NumPages)
 ATTR____(0xd6128d8du, "activity", Activity)
 ATTR____(0xd6a39990u, "input", Input)
 ATTR____(0xd6e27f1du, "value", Value)
 ATTR____(0xd70798c2u, "blankOrNotBlank", BlankOrNotBlank)
 ATTR____(0xd861f8afu, "addRevocationInfo", AddRevocationInfo)
+ATTR____(0xd8624e04u, "cancelAction", cancelAction)
 ATTR____(0xd8f982bfu, "genericFamily", GenericFamily)
 ATTR____(0xd996fa9bu, "hand", Hand)
 ATTR____(0xdb55fec5u, "href", Href)
+ATTR____(0xdb5b4bceu, "classIndex", ClassIndex)
 ATTR____(0xdc75676cu, "textEncoding", TextEncoding)
+ATTR____(0xdcecd663u, "editValue", EditValue)
 ATTR____(0xde7f92bau, "leadDigits", LeadDigits)
+ATTR____(0xe07e5061u, "selectedIndex", SelectedIndex)
 ATTR____(0xe11a2cbcu, "permissions", Permissions)
 ATTR____(0xe18b5659u, "spaceAbove", SpaceAbove)
 ATTR____(0xe1a26b56u, "codeBase", CodeBase)
 ATTR____(0xe349d044u, "stock", Stock)
 ATTR____(0xe372ae97u, "isNull", IsNull)
+ATTR____(0xe4989adfu, "somExpression", SomExpression)
 ATTR____(0xe4c3a5e5u, "restoreState", RestoreState)
 ATTR____(0xe5c96d6au, "excludeAllCaps", ExcludeAllCaps)
 ATTR____(0xe64b1129u, "formatTest", FormatTest)
@@ -242,8 +308,11 @@
 ATTR____(0xf4ffce73u, "before", Before)
 ATTR____(0xf531b059u, "writingScript", WritingScript)
 ATTR____(0xf575ca75u, "endChar", EndChar)
+ATTR____(0xf65e34beu, "borderWidth", BorderWidth)
 ATTR____(0xf6b47749u, "lock", Lock)
 ATTR____(0xf6b4afb0u, "long", Long)
 ATTR____(0xf6b59543u, "intact", Intact)
 ATTR____(0xf889e747u, "xdpContent", XdpContent)
+ATTR____(0xfcef86b5u, "ready", Ready)
+ATTR____(0xfe612a5bu, "oneOfChild", OneOfChild)
 ATTR____(0xfea53ec6u, "decipherOnly", DecipherOnly)
diff --git a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
index 48c81c4..639fc53 100644
--- a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
@@ -610,7 +610,7 @@
     {ATTR(0x1ee2d24d,
           "instanceIndex",
           &CJX_SubformSet::instanceIndex,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::InstanceIndex,
           XFA_ScriptType::Basic)},
     {ATTR(0x8c99377e,
           "relation",
@@ -737,7 +737,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Object::ScriptSomDefaultValue_Read,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xf6b47749,
           "lock",
@@ -1094,7 +1094,7 @@
     {ATTR(0x2d574d58,
           "this",
           &CJX_Xfa::thisValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ThisValue,
           XFA_ScriptType::Object)},
     {ATTR(0x4fdc3454,
           "timeStamp",
@@ -1761,17 +1761,17 @@
     {ATTR(0x6c0d9600,
           "currentValue",
           &CJX_Delta::currentValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::CurrentValue,
           XFA_ScriptType::Basic)},
     {ATTR(0x942643f0,
           "savedValue",
           &CJX_Delta::savedValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SavedValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
           &CJX_Delta::target,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
 
     /* eraNames */
@@ -1974,7 +1974,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Text::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -1984,7 +1984,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Text::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* time */
@@ -1996,7 +1996,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Time::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -2006,7 +2006,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Time::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* type */
@@ -2134,7 +2134,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_DateTime::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -2144,7 +2144,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_DateTime::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* comb */
@@ -2251,7 +2251,7 @@
     {ATTR(0x1abbd7e0,
           "dataNode",
           &CJX_Object::ScriptSomDataNode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DataNode,
           XFA_ScriptType::Object)},
     {ATTR(0x25839852,
           "access",
@@ -2266,12 +2266,12 @@
     {ATTR(0x3b1ddd06,
           "fillColor",
           &CJX_Field::fillColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FillColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x54c399e3,
           "formattedValue",
           &CJX_Field::formattedValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FormattedValue,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
@@ -2281,22 +2281,22 @@
     {ATTR(0x5a3b375d,
           "borderColor",
           &CJX_Field::borderColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x5e936ed6,
           "fontColor",
           &CJX_Field::fontColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FontColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x6826c408,
           "parentSubform",
           &CJX_Field::parentSubform,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ParentSubform,
           XFA_ScriptType::Basic)},
     {ATTR(0x79b67434,
           "mandatoryMessage",
           &CJX_Field::mandatoryMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::MandatoryMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0x7a7cc341,
           "vAlign",
@@ -2326,7 +2326,7 @@
     {ATTR(0x85fd6faf,
           "mandatory",
           &CJX_Field::mandatory,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Mandatory,
           XFA_ScriptType::Basic)},
     {ATTR(0x8e1c2921,
           "relevant",
@@ -2336,22 +2336,22 @@
     {ATTR(0x964fb42e,
           "formatMessage",
           &CJX_Field::formatMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FormatMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0xa03cf627,
           "rawValue",
           &CJX_Field::rawValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::RawValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Field::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xa60dd202,
           "length",
           &CJX_Object::ScriptFieldLength,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Length,
           XFA_ScriptType::Basic)},
     {ATTR(0xac06e2b0,
           "colSpan",
@@ -2381,22 +2381,22 @@
     {ATTR(0xcabfa3d0,
           "validationMessage",
           &CJX_Field::validationMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ValidationMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0xdcecd663,
           "editValue",
           &CJX_Field::editValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::EditValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xe07e5061,
           "selectedIndex",
           &CJX_Field::selectedIndex,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SelectedIndex,
           XFA_ScriptType::Basic)},
     {ATTR(0xf65e34be,
           "borderWidth",
           &CJX_Field::borderWidth,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderWidth,
           XFA_ScriptType::Basic)},
 
     /* agent */
@@ -2493,87 +2493,87 @@
     {ATTR(0xd843798,
           "fullText",
           &CJX_EventPseudoModel::fullText,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FullText,
           XFA_ScriptType::Basic)},
     {ATTR(0x1b6d1cf5,
           "reenter",
           &CJX_EventPseudoModel::reenter,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Reenter,
           XFA_ScriptType::Basic)},
     {ATTR(0x1e6ffa9a,
           "prevContentType",
           &CJX_EventPseudoModel::prevContentType,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::PrevContentType,
           XFA_ScriptType::Basic)},
     {ATTR(0x25a3c206,
           "soapFaultString",
           &CJX_EventPseudoModel::soapFaultString,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SoapFaultString,
           XFA_ScriptType::Basic)},
     {ATTR(0x2e00c007,
           "newContentType",
           &CJX_EventPseudoModel::newContentType,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::NewContentType,
           XFA_ScriptType::Basic)},
     {ATTR(0x4570500f,
           "modifier",
           &CJX_EventPseudoModel::modifier,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Modifier,
           XFA_ScriptType::Basic)},
     {ATTR(0x50e2e33b,
           "selEnd",
           &CJX_EventPseudoModel::selEnd,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SelEnd,
           XFA_ScriptType::Basic)},
     {ATTR(0x57de87c2,
           "prevText",
           &CJX_EventPseudoModel::prevText,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::PrevText,
           XFA_ScriptType::Basic)},
     {ATTR(0x6ea04e0a,
           "soapFaultCode",
           &CJX_EventPseudoModel::soapFaultCode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SoapFaultCode,
           XFA_ScriptType::Basic)},
     {ATTR(0x6f6556cf,
           "newText",
           &CJX_EventPseudoModel::newText,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::NewText,
           XFA_ScriptType::Basic)},
     {ATTR(0x891f4606,
           "change",
           &CJX_EventPseudoModel::change,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Change,
           XFA_ScriptType::Basic)},
     {ATTR(0x8fa3c19e,
           "shift",
           &CJX_EventPseudoModel::shift,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Shift,
           XFA_ScriptType::Basic)},
     {ATTR(0xa9d9b2e1,
           "keyDown",
           &CJX_EventPseudoModel::keyDown,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::keyDown,
           XFA_ScriptType::Basic)},
     {ATTR(0xbfc89db2,
           "selStart",
           &CJX_EventPseudoModel::selStart,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::selStart,
           XFA_ScriptType::Basic)},
     {ATTR(0xc32a5812,
           "commitKey",
           &CJX_EventPseudoModel::commitKey,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::CommitKey,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
           &CJX_EventPseudoModel::target,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
     {ATTR(0xd8624e04,
           "cancelAction",
           &CJX_EventPseudoModel::cancelAction,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::cancelAction,
           XFA_ScriptType::Basic)},
 
     /* wsdlAddress */
@@ -2733,12 +2733,12 @@
     {ATTR(0xf23332f,
           "errorText",
           &CJX_Object::ScriptExclGroupErrorText,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ErrorText,
           XFA_ScriptType::Basic)},
     {ATTR(0x1abbd7e0,
           "dataNode",
           &CJX_Object::ScriptSomDataNode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DataNode,
           XFA_ScriptType::Object)},
     {ATTR(0x25839852,
           "access",
@@ -2748,7 +2748,7 @@
     {ATTR(0x3b1ddd06,
           "fillColor",
           &CJX_ExclGroup::fillColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FillColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
@@ -2758,12 +2758,12 @@
     {ATTR(0x5a3b375d,
           "borderColor",
           &CJX_ExclGroup::borderColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x79b67434,
           "mandatoryMessage",
           &CJX_ExclGroup::mandatoryMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::MandatoryMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0x7a7cc341,
           "vAlign",
@@ -2798,12 +2798,12 @@
     {ATTR(0x846599f8,
           "transient",
           &CJX_ExclGroup::transient,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Transient,
           XFA_ScriptType::Basic)},
     {ATTR(0x85fd6faf,
           "mandatory",
           &CJX_ExclGroup::mandatory,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Mandatory,
           XFA_ScriptType::Basic)},
     {ATTR(0x8e1c2921,
           "relevant",
@@ -2813,12 +2813,12 @@
     {ATTR(0xa03cf627,
           "rawValue",
           &CJX_ExclGroup::rawValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::RawValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_ExclGroup::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xac06e2b0,
           "colSpan",
@@ -2843,12 +2843,12 @@
     {ATTR(0xcabfa3d0,
           "validationMessage",
           &CJX_ExclGroup::validationMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ValidationMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0xf65e34be,
           "borderWidth",
           &CJX_ExclGroup::borderWidth,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderWidth,
           XFA_ScriptType::Basic)},
 
     /* toolTip */
@@ -2979,7 +2979,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Image::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -2994,7 +2994,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Image::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xdb55fec5,
           "href",
@@ -3095,7 +3095,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Decimal::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -3105,7 +3105,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Decimal::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xde7f92ba,
           "leadDigits",
@@ -3157,12 +3157,12 @@
     {ATTR(0x1abbd7e0,
           "dataNode",
           &CJX_Object::ScriptSomDataNode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DataNode,
           XFA_ScriptType::Object)},
     {ATTR(0x1ee2d24d,
           "instanceIndex",
           &CJX_Subform::instanceIndex,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::InstanceIndex,
           XFA_ScriptType::Basic)},
     {ATTR(0x25839852,
           "access",
@@ -3173,7 +3173,7 @@
     {ATTR(0x3b1ddd06,
           "fillColor",
           &CJX_Object::ScriptSomFillColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::FillColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
@@ -3183,7 +3183,7 @@
     {ATTR(0x5a3b375d,
           "borderColor",
           &CJX_Object::ScriptSomBorderColor,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderColor,
           XFA_ScriptType::Basic)},
     {ATTR(0x7a7cc341,
           "vAlign",
@@ -3229,7 +3229,7 @@
     {ATTR(0x9f3e9510,
           "instanceManager",
           &CJX_Object::ScriptSubformInstanceManager,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::InstanceManager,
           XFA_ScriptType::Object)},
     {ATTR(0xac06e2b0,
           "colSpan",
@@ -3244,7 +3244,7 @@
     {ATTR(0xbc8fa350,
           "locale",
           &CJX_Subform::locale,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Locale,
           XFA_ScriptType::Basic)},
     {ATTR(0xc2bd40fd,
           "anchorType",
@@ -3254,7 +3254,7 @@
     {ATTR(0xcabfa3d0,
           "validationMessage",
           &CJX_Subform::validationMessage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ValidationMessage,
           XFA_ScriptType::Basic)},
     {ATTR(0xe4c3a5e5,
           "restoreState",
@@ -3269,7 +3269,7 @@
     {ATTR(0xf65e34be,
           "borderWidth",
           &CJX_Object::ScriptSomBorderWidth,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::BorderWidth,
           XFA_ScriptType::Basic)},
 
     /* select */
@@ -3322,7 +3322,7 @@
     {ATTR(0x5a50e9e6,
           "version",
           &CJX_Handler::version,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Version,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -3334,57 +3334,57 @@
     {ATTR(0x31b19c1,
           "name",
           &CJX_HostPseudoModel::name,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Name,
           XFA_ScriptType::Basic)},
     {ATTR(0x66c1ae9,
           "validationsEnabled",
           &CJX_HostPseudoModel::validationsEnabled,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ValidationsEnabled,
           XFA_ScriptType::Basic)},
     {ATTR(0x14d04502,
           "title",
           &CJX_HostPseudoModel::title,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Title,
           XFA_ScriptType::Basic)},
     {ATTR(0x392ae445,
           "platform",
           &CJX_HostPseudoModel::platform,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Platform,
           XFA_ScriptType::Basic)},
     {ATTR(0x5a50e9e6,
           "version",
           &CJX_HostPseudoModel::version,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Version,
           XFA_ScriptType::Basic)},
     {ATTR(0x66cb1eed,
           "variation",
           &CJX_HostPseudoModel::variation,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Variation,
           XFA_ScriptType::Basic)},
     {ATTR(0x7717cbc4,
           "language",
           &CJX_HostPseudoModel::language,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Language,
           XFA_ScriptType::Basic)},
     {ATTR(0x86698963,
           "appType",
           &CJX_HostPseudoModel::appType,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::AppType,
           XFA_ScriptType::Basic)},
     {ATTR(0x94ff9e8d,
           "calculationsEnabled",
           &CJX_HostPseudoModel::calculationsEnabled,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::CalculationsEnabled,
           XFA_ScriptType::Basic)},
     {ATTR(0xbcd44940,
           "currentPage",
           &CJX_HostPseudoModel::currentPage,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::CurrentPage,
           XFA_ScriptType::Basic)},
     {ATTR(0xd592b920,
           "numPages",
           &CJX_HostPseudoModel::numPages,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::NumPages,
           XFA_ScriptType::Basic)},
 
     /* presence */
@@ -3485,7 +3485,7 @@
     {ATTR(0x7d9fd7c5,
           "mode",
           &CJX_Object::ScriptSubmitFormatMode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Mode,
           XFA_ScriptType::Basic)},
     {ATTR(0xbe52dfbf,
           "desc",
@@ -3507,7 +3507,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Boolean::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -3517,7 +3517,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Boolean::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* message */
@@ -3594,7 +3594,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Picture::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -3609,7 +3609,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Picture::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xf6b47749,
           "lock",
@@ -3662,7 +3662,7 @@
     {ATTR(0xfcef86b5,
           "ready",
           &CJX_LayoutPseudoModel::ready,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Ready,
           XFA_ScriptType::Basic)},
 
     /* producer */
@@ -3913,7 +3913,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Integer::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -3923,7 +3923,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Integer::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* soapAddress */
@@ -4157,22 +4157,22 @@
     {ATTR(0xfb67185,
           "recordsBefore",
           &CJX_DataWindow::recordsBefore,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::RecordsBefore,
           XFA_ScriptType::Basic)},
     {ATTR(0x21d5dfcb,
           "currentRecordNumber",
           &CJX_DataWindow::currentRecordNumber,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::CurrentRecordNumber,
           XFA_ScriptType::Basic)},
     {ATTR(0x312af044,
           "recordsAfter",
           &CJX_DataWindow::recordsAfter,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::RecordsAfter,
           XFA_ScriptType::Basic)},
     {ATTR(0x6aab37cb,
           "isDefined",
           &CJX_DataWindow::isDefined,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::IsDefined,
           XFA_ScriptType::Basic)},
 
     /* script */
@@ -4194,12 +4194,12 @@
     {ATTR(0xa021b738,
           "stateless",
           &CJX_Script::stateless,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Stateless,
           XFA_ScriptType::Basic)},
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Script::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xadc4c77b,
           "binding",
@@ -4219,7 +4219,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Script::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xf6b47749,
           "lock",
@@ -4375,7 +4375,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Object::ScriptSomDefaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xf6b47749,
           "lock",
@@ -4504,7 +4504,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_ExData::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -4519,7 +4519,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Object::ScriptSomDefaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xdb55fec5,
           "href",
@@ -4577,7 +4577,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Manifest::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -4666,17 +4666,17 @@
     {ATTR(0xb3543a6,
           "max",
           &CJX_InstanceManager::max,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Max,
           XFA_ScriptType::Basic)},
     {ATTR(0xb356ca4,
           "min",
           &CJX_InstanceManager::min,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Min,
           XFA_ScriptType::Basic)},
     {ATTR(0x6f544d49,
           "count",
           &CJX_InstanceManager::count,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Count,
           XFA_ScriptType::Basic)},
 
     /* equateRange */
@@ -4818,12 +4818,12 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_DataValue::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_DataValue::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
     {ATTR(0xe372ae97,
           "isNull",
@@ -5122,7 +5122,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Date::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -5132,7 +5132,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Date::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* desc */
@@ -5156,7 +5156,7 @@
     {ATTR(0x28dee6e9,
           "format",
           &CJX_Encrypt::format,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Format,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -5248,12 +5248,12 @@
     {ATTR(0xa03cf627,
           "rawValue",
           &CJX_Draw::rawValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::RawValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Draw::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xac06e2b0,
           "colSpan",
@@ -5528,7 +5528,7 @@
     {ATTR(0xaf754613,
           "checksum",
           &CJX_Object::ScriptFormChecksumS,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Checksum,
           XFA_ScriptType::Basic)},
 
     /* mediumInfo */
@@ -5600,7 +5600,7 @@
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Float::defaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -5610,7 +5610,7 @@
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Float::value,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
     /* renderPolicy */
@@ -5804,7 +5804,7 @@
     {ATTR(0x2f16a382,
           "type",
           &CJX_Extras::type,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
@@ -5944,7 +5944,7 @@
     {ATTR(0x97be91b,
           "content",
           &CJX_Packet::content,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Content,
           XFA_ScriptType::Basic)},
 
     /* rootElement */
@@ -6249,14 +6249,14 @@
     {ATTR(0xa60dd202,
           "length",
           &CJX_List::length,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Length,
           XFA_ScriptType::Basic)},
 
     /* source */
     {ATTR(0x20146,
           "db",
           &CJX_Source::db,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Db,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
@@ -6273,12 +6273,12 @@
     {ATTR(0xb3543a6,
           "max",
           &CJX_Occur::max,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Max,
           XFA_ScriptType::Basic)},
     {ATTR(0xb356ca4,
           "min",
           &CJX_Occur::min,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Min,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
@@ -6411,14 +6411,14 @@
     {ATTR(0xb2c80857,
           "className",
           &CJX_Object::className,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ClassName,
           XFA_ScriptType::Basic)},
 
     /* list */
     {ATTR(0xa60dd202,
           "length",
           &CJX_List::length,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Length,
           XFA_ScriptType::Basic)},
 
     /* [unknown] */
@@ -6432,37 +6432,37 @@
     {ATTR(0x9f9d0f9,
           "all",
           &CJX_Tree::all,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::All,
           XFA_ScriptType::Object)},
     {ATTR(0x4df15659,
           "nodes",
           &CJX_Tree::nodes,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Nodes,
           XFA_ScriptType::Object)},
     {ATTR(0x78a8d6cf,
           "classAll",
           &CJX_Tree::classAll,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ClassAll,
           XFA_ScriptType::Object)},
     {ATTR(0xcad6d8ca,
           "parent",
           &CJX_Tree::parent,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Parent,
           XFA_ScriptType::Object)},
     {ATTR(0xd5679c78,
           "index",
           &CJX_Tree::index,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Index,
           XFA_ScriptType::Basic)},
     {ATTR(0xdb5b4bce,
           "classIndex",
           &CJX_Tree::classIndex,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::ClassIndex,
           XFA_ScriptType::Basic)},
     {ATTR(0xe4989adf,
           "somExpression",
           &CJX_Tree::somExpression,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::SomExpression,
           XFA_ScriptType::Basic)},
 
     /* node */
@@ -6474,27 +6474,27 @@
     {ATTR(0x234a1,
           "ns",
           &CJX_Node::ns,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Ns,
           XFA_ScriptType::Basic)},
     {ATTR(0x50d1a9d1,
           "model",
           &CJX_Node::model,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Model,
           XFA_ScriptType::Object)},
     {ATTR(0xacb4823f,
           "isContainer",
           &CJX_Node::isContainer,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::IsContainer,
           XFA_ScriptType::Basic)},
     {ATTR(0xe372ae97,
           "isNull",
           &CJX_Node::isNull,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::IsNull,
           XFA_ScriptType::Basic)},
     {ATTR(0xfe612a5b,
           "oneOfChild",
           &CJX_Node::oneOfChild,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::OneOfChild,
           XFA_ScriptType::Object)},
 
     /* [unknown] */
@@ -6505,24 +6505,24 @@
     {ATTR(0x97c1c65,
           "context",
           &CJX_Model::context,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Context,
           XFA_ScriptType::Object)},
     {ATTR(0x58be2870,
           "aliasNode",
           &CJX_Model::aliasNode,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::AliasNode,
           XFA_ScriptType::Object)},
 
     /* [unknown] */
     {ATTR(0xa52682bd,
           "{default}",
           &CJX_Object::ScriptSomDefaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::DefaultValue,
           XFA_ScriptType::Basic)},
     {ATTR(0xd6e27f1d,
           "value",
           &CJX_Object::ScriptSomDefaultValue,
-          XFA_Attribute::Unknown,
+          XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 };