diff --git a/fxjs/BUILD.gn b/fxjs/BUILD.gn
index cf5f732..d8b132d 100644
--- a/fxjs/BUILD.gn
+++ b/fxjs/BUILD.gn
@@ -193,8 +193,6 @@
         "xfa/cjx_source.h",
         "xfa/cjx_subform.cpp",
         "xfa/cjx_subform.h",
-        "xfa/cjx_subformset.cpp",
-        "xfa/cjx_subformset.h",
         "xfa/cjx_template.cpp",
         "xfa/cjx_template.h",
         "xfa/cjx_textnode.cpp",
diff --git a/fxjs/xfa/cjx_exclgroup.cpp b/fxjs/xfa/cjx_exclgroup.cpp
index cb68916..f24b7e6 100644
--- a/fxjs/xfa/cjx_exclgroup.cpp
+++ b/fxjs/xfa/cjx_exclgroup.cpp
@@ -147,45 +147,9 @@
                               bool bSetting,
                               XFA_Attribute eAttribute) {}
 
-void CJX_ExclGroup::borderColor(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptSomBorderColor(pValue, bSetting, eAttribute);
-}
-
-void CJX_ExclGroup::borderWidth(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptSomBorderWidth(pValue, bSetting, eAttribute);
-}
-
 void CJX_ExclGroup::errorText(CFXJSE_Value* pValue,
                               bool bSetting,
                               XFA_Attribute eAttribute) {
   if (bSetting)
     ThrowInvalidPropertyException();
 }
-
-void CJX_ExclGroup::fillColor(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptSomFillColor(pValue, bSetting, eAttribute);
-}
-
-void CJX_ExclGroup::mandatory(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptSomMandatory(pValue, bSetting, eAttribute);
-}
-
-void CJX_ExclGroup::mandatoryMessage(CFXJSE_Value* pValue,
-                                     bool bSetting,
-                                     XFA_Attribute eAttribute) {
-  ScriptSomMandatoryMessage(pValue, bSetting, eAttribute);
-}
-
-void CJX_ExclGroup::validationMessage(CFXJSE_Value* pValue,
-                                      bool bSetting,
-                                      XFA_Attribute eAttribute) {
-  ScriptSomValidationMessage(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_exclgroup.h b/fxjs/xfa/cjx_exclgroup.h
index f71bb5f..b459808 100644
--- a/fxjs/xfa/cjx_exclgroup.h
+++ b/fxjs/xfa/cjx_exclgroup.h
@@ -27,15 +27,9 @@
   JSE_METHOD(selectedMember);
 
   JSE_PROP(defaultValue); /* {default} */
-  JSE_PROP(borderColor);
-  JSE_PROP(borderWidth);
   JSE_PROP(errorText);
-  JSE_PROP(fillColor);
-  JSE_PROP(mandatory);
-  JSE_PROP(mandatoryMessage);
   JSE_PROP(rawValue);
   JSE_PROP(transient);
-  JSE_PROP(validationMessage);
 
  private:
   using Type__ = CJX_ExclGroup;
diff --git a/fxjs/xfa/cjx_field.cpp b/fxjs/xfa/cjx_field.cpp
index 1b41a27..e43acc9 100644
--- a/fxjs/xfa/cjx_field.cpp
+++ b/fxjs/xfa/cjx_field.cpp
@@ -380,50 +380,8 @@
   node->SetItemState(iIndex, true, true, true, true);
 }
 
-void CJX_Field::borderColor(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptSomBorderColor(pValue, bSetting, eAttribute);
-}
-
-void CJX_Field::borderWidth(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptSomBorderWidth(pValue, bSetting, eAttribute);
-}
-
-void CJX_Field::fillColor(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptSomFillColor(pValue, bSetting, eAttribute);
-}
-
-void CJX_Field::fontColor(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptSomFontColor(pValue, bSetting, eAttribute);
-}
-
-void CJX_Field::mandatory(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptSomMandatory(pValue, bSetting, eAttribute);
-}
-
-void CJX_Field::mandatoryMessage(CFXJSE_Value* pValue,
-                                 bool bSetting,
-                                 XFA_Attribute eAttribute) {
-  ScriptSomMandatoryMessage(pValue, bSetting, eAttribute);
-}
-
 void CJX_Field::rawValue(CFXJSE_Value* pValue,
                          bool bSetting,
                          XFA_Attribute eAttribute) {
   defaultValue(pValue, bSetting, eAttribute);
 }
-
-void CJX_Field::validationMessage(CFXJSE_Value* pValue,
-                                  bool bSetting,
-                                  XFA_Attribute eAttribute) {
-  ScriptSomValidationMessage(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_field.h b/fxjs/xfa/cjx_field.h
index cceaea3..6e16e7a 100644
--- a/fxjs/xfa/cjx_field.h
+++ b/fxjs/xfa/cjx_field.h
@@ -34,20 +34,13 @@
   JSE_METHOD(setItemState);
 
   JSE_PROP(defaultValue); /* {default} */
-  JSE_PROP(borderColor);
-  JSE_PROP(borderWidth);
   JSE_PROP(editValue);
-  JSE_PROP(fillColor);
-  JSE_PROP(fontColor);
   JSE_PROP(formatMessage);
   JSE_PROP(formattedValue);
   JSE_PROP(length);
-  JSE_PROP(mandatory);
-  JSE_PROP(mandatoryMessage);
   JSE_PROP(parentSubform);
   JSE_PROP(rawValue);
   JSE_PROP(selectedIndex);
-  JSE_PROP(validationMessage);
 
  private:
   using Type__ = CJX_Field;
diff --git a/fxjs/xfa/cjx_manifest.cpp b/fxjs/xfa/cjx_manifest.cpp
index 30c18b7..f94232e 100644
--- a/fxjs/xfa/cjx_manifest.cpp
+++ b/fxjs/xfa/cjx_manifest.cpp
@@ -35,9 +35,3 @@
   return CJS_Result::Success(
       runtime->NewBoolean(GetXFANode()->IsWidgetReady()));
 }
-
-void CJX_Manifest::defaultValue(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptSomDefaultValue(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_manifest.h b/fxjs/xfa/cjx_manifest.h
index f441689..8380ac6 100644
--- a/fxjs/xfa/cjx_manifest.h
+++ b/fxjs/xfa/cjx_manifest.h
@@ -22,8 +22,6 @@
 
   JSE_METHOD(evaluate);
 
-  JSE_PROP(defaultValue); /* {default} */
-
  private:
   using Type__ = CJX_Manifest;
   using ParentType__ = CJX_Node;
diff --git a/fxjs/xfa/cjx_script.cpp b/fxjs/xfa/cjx_script.cpp
index 201a6df..482a57e 100644
--- a/fxjs/xfa/cjx_script.cpp
+++ b/fxjs/xfa/cjx_script.cpp
@@ -26,15 +26,3 @@
   }
   pValue->SetString(FX_UTF8Encode(WideStringView(L"0", 1)).AsStringView());
 }
-
-void CJX_Script::defaultValue(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptSomDefaultValue(pValue, bSetting, eAttribute);
-}
-
-void CJX_Script::value(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  defaultValue(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h
index cf0e1ac..af7c985 100644
--- a/fxjs/xfa/cjx_script.h
+++ b/fxjs/xfa/cjx_script.h
@@ -20,9 +20,7 @@
   // CJX_Object:
   bool DynamicTypeIs(TypeTag eType) const override;
 
-  JSE_PROP(defaultValue); /* {default} */
   JSE_PROP(stateless);
-  JSE_PROP(value);
 
  private:
   using Type__ = CJX_Script;
diff --git a/fxjs/xfa/cjx_subform.cpp b/fxjs/xfa/cjx_subform.cpp
index 979e3a7..17739a1 100644
--- a/fxjs/xfa/cjx_subform.cpp
+++ b/fxjs/xfa/cjx_subform.cpp
@@ -98,12 +98,6 @@
   pValue->SetString(wsLocaleName.ToUTF8().AsStringView());
 }
 
-void CJX_Subform::instanceIndex(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptSomInstanceIndex(pValue, bSetting, eAttribute);
-}
-
 void CJX_Subform::instanceManager(CFXJSE_Value* pValue,
                                   bool bSetting,
                                   XFA_Attribute eAttribute) {
@@ -134,9 +128,3 @@
   pValue->Assign(
       GetDocument()->GetScriptContext()->GetJSValueFromMap(pInstanceMgr));
 }
-
-void CJX_Subform::validationMessage(CFXJSE_Value* pValue,
-                                    bool bSetting,
-                                    XFA_Attribute eAttribute) {
-  ScriptSomValidationMessage(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_subform.h b/fxjs/xfa/cjx_subform.h
index 77dda08..83ac66e 100644
--- a/fxjs/xfa/cjx_subform.h
+++ b/fxjs/xfa/cjx_subform.h
@@ -25,10 +25,8 @@
   JSE_METHOD(execInitialize);
   JSE_METHOD(execValidate);
 
-  JSE_PROP(instanceIndex);
   JSE_PROP(instanceManager);
   JSE_PROP(locale);
-  JSE_PROP(validationMessage);
 
  private:
   using Type__ = CJX_Subform;
diff --git a/fxjs/xfa/cjx_subformset.cpp b/fxjs/xfa/cjx_subformset.cpp
deleted file mode 100644
index 0db7cd8..0000000
--- a/fxjs/xfa/cjx_subformset.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2017 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "fxjs/xfa/cjx_subformset.h"
-
-#include "xfa/fxfa/parser/cxfa_subformset.h"
-
-CJX_SubformSet::CJX_SubformSet(CXFA_SubformSet* node) : CJX_Container(node) {}
-
-CJX_SubformSet::~CJX_SubformSet() = default;
-
-bool CJX_SubformSet::DynamicTypeIs(TypeTag eType) const {
-  return eType == static_type__ || ParentType__::DynamicTypeIs(eType);
-}
-
-void CJX_SubformSet::instanceIndex(CFXJSE_Value* pValue,
-                                   bool bSetting,
-                                   XFA_Attribute eAttribute) {
-  ScriptSomInstanceIndex(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_subformset.h b/fxjs/xfa/cjx_subformset.h
deleted file mode 100644
index ce0b7d9..0000000
--- a/fxjs/xfa/cjx_subformset.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2017 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef FXJS_XFA_CJX_SUBFORMSET_H_
-#define FXJS_XFA_CJX_SUBFORMSET_H_
-
-#include "fxjs/xfa/cjx_container.h"
-#include "fxjs/xfa/jse_define.h"
-
-class CXFA_SubformSet;
-
-class CJX_SubformSet final : public CJX_Container {
- public:
-  explicit CJX_SubformSet(CXFA_SubformSet* node);
-  ~CJX_SubformSet() override;
-
-  // CJX_Object:
-  bool DynamicTypeIs(TypeTag eType) const override;
-
-  JSE_PROP(instanceIndex);
-
- private:
-  using Type__ = CJX_SubformSet;
-  using ParentType__ = CJX_Container;
-
-  static const TypeTag static_type__ = TypeTag::SubformSet;
-};
-
-#endif  // FXJS_XFA_CJX_SUBFORMSET_H_
diff --git a/xfa/fxfa/parser/cxfa_subformset.cpp b/xfa/fxfa/parser/cxfa_subformset.cpp
index e95efba..d1f6ba5 100644
--- a/xfa/fxfa/parser/cxfa_subformset.cpp
+++ b/xfa/fxfa/parser/cxfa_subformset.cpp
@@ -6,7 +6,7 @@
 
 #include "xfa/fxfa/parser/cxfa_subformset.h"
 
-#include "fxjs/xfa/cjx_subformset.h"
+#include "fxjs/xfa/cjx_container.h"
 #include "third_party/base/ptr_util.h"
 
 namespace {
@@ -37,6 +37,6 @@
                 XFA_Element::SubformSet,
                 kSubformSetPropertyData,
                 kSubformSetAttributeData,
-                pdfium::MakeUnique<CJX_SubformSet>(this)) {}
+                pdfium::MakeUnique<CJX_Container>(this)) {}
 
 CXFA_SubformSet::~CXFA_SubformSet() = default;
diff --git a/xfa/fxfa/parser/element_attributes.inc b/xfa/fxfa/parser/element_attributes.inc
index 2d7de7d..c8bfc60 100644
--- a/xfa/fxfa/parser/element_attributes.inc
+++ b/xfa/fxfa/parser/element_attributes.inc
@@ -10,7 +10,7 @@
 ELEM_ATTR____(RecordSet, LockType, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(RecordSet, BofAction, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(RecordSet, CursorLocation, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(SubformSet, InstanceIndex, CJX_SubformSet::instanceIndex)
+ELEM_ATTR____(SubformSet, InstanceIndex, CJX_Object::ScriptSomInstanceIndex)
 ELEM_ATTR____(SubformSet, Relation, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(SubformSet, Relevant, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Typeface, Name, CJX_Object::ScriptAttributeString)
@@ -162,19 +162,19 @@
 ELEM_ATTR____(Field, DataNode, CJX_Object::ScriptSomDataNode)
 ELEM_ATTR____(Field, Access, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, Rotate, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Field, FillColor, CJX_Field::fillColor)
+ELEM_ATTR____(Field, FillColor, CJX_Object::ScriptSomFillColor)
 ELEM_ATTR____(Field, FormattedValue, CJX_Field::formattedValue)
 ELEM_ATTR____(Field, Presence, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Field, BorderColor, CJX_Field::borderColor)
-ELEM_ATTR____(Field, FontColor, CJX_Field::fontColor)
+ELEM_ATTR____(Field, BorderColor, CJX_Object::ScriptSomBorderColor)
+ELEM_ATTR____(Field, FontColor, CJX_Object::ScriptSomFontColor)
 ELEM_ATTR____(Field, ParentSubform, CJX_Field::parentSubform)
-ELEM_ATTR____(Field, MandatoryMessage, CJX_Field::mandatoryMessage)
+ELEM_ATTR____(Field, MandatoryMessage, CJX_Object::ScriptSomMandatoryMessage)
 ELEM_ATTR____(Field, VAlign, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, MaxH, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, MaxW, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, MinH, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, MinW, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Field, Mandatory, CJX_Field::mandatory)
+ELEM_ATTR____(Field, Mandatory, CJX_Object::ScriptSomMandatory)
 ELEM_ATTR____(Field, Relevant, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, FormatMessage, CJX_Field::formatMessage)
 ELEM_ATTR____(Field, RawValue, CJX_Field::rawValue)
@@ -184,10 +184,10 @@
 ELEM_ATTR____(Field, Locale, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, AnchorType, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Field, AccessKey, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Field, ValidationMessage, CJX_Field::validationMessage)
+ELEM_ATTR____(Field, ValidationMessage, CJX_Object::ScriptSomValidationMessage)
 ELEM_ATTR____(Field, EditValue, CJX_Field::editValue)
 ELEM_ATTR____(Field, SelectedIndex, CJX_Field::selectedIndex)
-ELEM_ATTR____(Field, BorderWidth, CJX_Field::borderWidth)
+ELEM_ATTR____(Field, BorderWidth, CJX_Object::ScriptSomBorderWidth)
 ELEM_ATTR____(Agent, Name, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ContentArea, H, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ContentArea, W, CJX_Object::ScriptAttributeString)
@@ -211,10 +211,10 @@
 ELEM_ATTR____(ExclGroup, ErrorText, CJX_ExclGroup::errorText)
 ELEM_ATTR____(ExclGroup, DataNode, CJX_Object::ScriptSomDataNode)
 ELEM_ATTR____(ExclGroup, Access, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(ExclGroup, FillColor, CJX_ExclGroup::fillColor)
+ELEM_ATTR____(ExclGroup, FillColor, CJX_Object::ScriptSomFillColor)
 ELEM_ATTR____(ExclGroup, Presence, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(ExclGroup, BorderColor, CJX_ExclGroup::borderColor)
-ELEM_ATTR____(ExclGroup, MandatoryMessage, CJX_ExclGroup::mandatoryMessage)
+ELEM_ATTR____(ExclGroup, BorderColor, CJX_Object::ScriptSomBorderColor)
+ELEM_ATTR____(ExclGroup, MandatoryMessage, CJX_Object::ScriptSomMandatoryMessage)
 ELEM_ATTR____(ExclGroup, VAlign, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, MaxH, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, MaxW, CJX_Object::ScriptAttributeString)
@@ -222,15 +222,15 @@
 ELEM_ATTR____(ExclGroup, MinW, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, Layout, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, Transient, CJX_ExclGroup::transient)
-ELEM_ATTR____(ExclGroup, Mandatory, CJX_ExclGroup::mandatory)
+ELEM_ATTR____(ExclGroup, Mandatory, CJX_Object::ScriptSomMandatory)
 ELEM_ATTR____(ExclGroup, Relevant, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, RawValue, CJX_ExclGroup::rawValue)
 ELEM_ATTR____(ExclGroup, DefaultValue, CJX_ExclGroup::defaultValue)
 ELEM_ATTR____(ExclGroup, ColSpan, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, AnchorType, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(ExclGroup, AccessKey, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(ExclGroup, ValidationMessage, CJX_ExclGroup::validationMessage)
-ELEM_ATTR____(ExclGroup, BorderWidth, CJX_ExclGroup::borderWidth)
+ELEM_ATTR____(ExclGroup, ValidationMessage, CJX_Object::ScriptSomValidationMessage)
+ELEM_ATTR____(ExclGroup, BorderWidth, CJX_Object::ScriptSomBorderWidth)
 ELEM_ATTR____(Compress, Scope, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Execute, Connection, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Execute, RunAt, CJX_Object::ScriptAttributeString)
@@ -257,7 +257,7 @@
 ELEM_ATTR____(Subform, AllowMacro, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, ColumnWidths, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, DataNode, CJX_Object::ScriptSomDataNode)
-ELEM_ATTR____(Subform, InstanceIndex, CJX_Subform::instanceIndex)
+ELEM_ATTR____(Subform, InstanceIndex, CJX_Object::ScriptSomInstanceIndex)
 ELEM_ATTR____(Subform, Access, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, FillColor, CJX_Object::ScriptSomFillColor)
 ELEM_ATTR____(Subform, Presence, CJX_Object::ScriptAttributeString)
@@ -274,7 +274,7 @@
 ELEM_ATTR____(Subform, ColSpan, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, Locale, CJX_Subform::locale)
 ELEM_ATTR____(Subform, AnchorType, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Subform, ValidationMessage, CJX_Subform::validationMessage)
+ELEM_ATTR____(Subform, ValidationMessage, CJX_Object::ScriptSomValidationMessage)
 ELEM_ATTR____(Subform, RestoreState, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, Scope, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Subform, BorderWidth, CJX_Object::ScriptSomBorderWidth)
@@ -330,10 +330,10 @@
 ELEM_ATTR____(Script, ContentType, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Script, RunAt, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Script, Stateless, CJX_Script::stateless)
-ELEM_ATTR____(Script, DefaultValue, CJX_Script::defaultValue)
+ELEM_ATTR____(Script, DefaultValue, CJX_Object::ScriptSomDefaultValue)
 ELEM_ATTR____(Script, Binding, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Script, Desc, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Script, Value, CJX_Script::value)
+ELEM_ATTR____(Script, Value, CJX_Object::ScriptSomDefaultValue)
 ELEM_ATTR____(Script, Lock, CJX_Object::ScriptAttributeBool)
 ELEM_ATTR____(PasswordEdit, PasswordChar, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(PasswordEdit, HScrollPolicy, CJX_Object::ScriptAttributeString)
@@ -358,7 +358,7 @@
 ELEM_ATTR____(DayNames, Abbr, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(DefaultTypeface, WritingScript, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Manifest, Action, CJX_Object::ScriptAttributeString)
-ELEM_ATTR____(Manifest, DefaultValue, CJX_Manifest::defaultValue)
+ELEM_ATTR____(Manifest, DefaultValue, CJX_Object::ScriptSomDefaultValue)
 ELEM_ATTR____(Overflow, Trailer, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Overflow, Target, CJX_Object::ScriptAttributeString)
 ELEM_ATTR____(Overflow, Leader, CJX_Object::ScriptAttributeString)
diff --git a/xfa/fxfa/parser/xfa_basic_data.cpp b/xfa/fxfa/parser/xfa_basic_data.cpp
index e55e254..9ba5e42 100644
--- a/xfa/fxfa/parser/xfa_basic_data.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data.cpp
@@ -34,7 +34,6 @@
 #include "fxjs/xfa/cjx_signaturepseudomodel.h"
 #include "fxjs/xfa/cjx_source.h"
 #include "fxjs/xfa/cjx_subform.h"
-#include "fxjs/xfa/cjx_subformset.h"
 #include "fxjs/xfa/cjx_textnode.h"
 #include "fxjs/xfa/cjx_tree.h"
 #include "fxjs/xfa/cjx_treelist.h"
