Remove redundant wrappers of CJX_Object::ScriptAttributeString(), part 1

In particular, xfa_basic_data_element_script.cpp already has many
calls directly to ScriptAttributeString in other places, so the
wrappers are redundant.

Break commits into pieces as CL is getting large.

Change-Id: I26a2abaf0b05e8f658b030a1b7c374af64296c57
Reviewed-on: https://pdfium-review.googlesource.com/c/46514
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cjx_arc.cpp b/fxjs/xfa/cjx_arc.cpp
index 6e00dd1..6379ec0 100644
--- a/fxjs/xfa/cjx_arc.cpp
+++ b/fxjs/xfa/cjx_arc.cpp
@@ -11,39 +11,3 @@
 CJX_Arc::CJX_Arc(CXFA_Arc* node) : CJX_Node(node) {}
 
 CJX_Arc::~CJX_Arc() = default;
-
-void CJX_Arc::circular(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Arc::hand(CFXJSE_Value* pValue,
-                   bool bSetting,
-                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Arc::startAngle(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Arc::sweepAngle(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Arc::use(CFXJSE_Value* pValue,
-                  bool bSetting,
-                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Arc::usehref(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_arc.h b/fxjs/xfa/cjx_arc.h
index 031b620..a62f683 100644
--- a/fxjs/xfa/cjx_arc.h
+++ b/fxjs/xfa/cjx_arc.h
@@ -16,13 +16,6 @@
  public:
   explicit CJX_Arc(CXFA_Arc* node);
   ~CJX_Arc() override;
-
-  JSE_PROP(circular);
-  JSE_PROP(hand);
-  JSE_PROP(startAngle);
-  JSE_PROP(sweepAngle);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ARC_H_
diff --git a/fxjs/xfa/cjx_area.cpp b/fxjs/xfa/cjx_area.cpp
index d538c54..cca05bc 100644
--- a/fxjs/xfa/cjx_area.cpp
+++ b/fxjs/xfa/cjx_area.cpp
@@ -11,39 +11,3 @@
 CJX_Area::CJX_Area(CXFA_Area* node) : CJX_Container(node) {}
 
 CJX_Area::~CJX_Area() = default;
-
-void CJX_Area::colSpan(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Area::relevant(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Area::use(CFXJSE_Value* pValue,
-                   bool bSetting,
-                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Area::usehref(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Area::x(CFXJSE_Value* pValue,
-                 bool bSetting,
-                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Area::y(CFXJSE_Value* pValue,
-                 bool bSetting,
-                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_area.h b/fxjs/xfa/cjx_area.h
index 5958c8a..b71f673 100644
--- a/fxjs/xfa/cjx_area.h
+++ b/fxjs/xfa/cjx_area.h
@@ -16,13 +16,6 @@
  public:
   explicit CJX_Area(CXFA_Area* node);
   ~CJX_Area() override;
-
-  JSE_PROP(colSpan);
-  JSE_PROP(relevant);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
-  JSE_PROP(x);
-  JSE_PROP(y);
 };
 
 #endif  // FXJS_XFA_CJX_AREA_H_
diff --git a/fxjs/xfa/cjx_assist.cpp b/fxjs/xfa/cjx_assist.cpp
index 3cb341a..8c87cca 100644
--- a/fxjs/xfa/cjx_assist.cpp
+++ b/fxjs/xfa/cjx_assist.cpp
@@ -11,21 +11,3 @@
 CJX_Assist::CJX_Assist(CXFA_Assist* node) : CJX_Node(node) {}
 
 CJX_Assist::~CJX_Assist() = default;
-
-void CJX_Assist::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Assist::role(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Assist::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_assist.h b/fxjs/xfa/cjx_assist.h
index 46aaade..697d96c 100644
--- a/fxjs/xfa/cjx_assist.h
+++ b/fxjs/xfa/cjx_assist.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Assist(CXFA_Assist* node);
   ~CJX_Assist() override;
-
-  JSE_PROP(role);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ASSIST_H_
diff --git a/fxjs/xfa/cjx_barcode.cpp b/fxjs/xfa/cjx_barcode.cpp
index 91ca764..eab9d59 100644
--- a/fxjs/xfa/cjx_barcode.cpp
+++ b/fxjs/xfa/cjx_barcode.cpp
@@ -11,123 +11,3 @@
 CJX_Barcode::CJX_Barcode(CXFA_Barcode* node) : CJX_Node(node) {}
 
 CJX_Barcode::~CJX_Barcode() = default;
-
-void CJX_Barcode::charEncoding(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::checksum(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::dataColumnCount(CFXJSE_Value* pValue,
-                                  bool bSetting,
-                                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::dataLength(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::dataPrep(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::dataRowCount(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::endChar(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::errorCorrectionLevel(CFXJSE_Value* pValue,
-                                       bool bSetting,
-                                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::moduleHeight(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::moduleWidth(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::printCheckDigit(CFXJSE_Value* pValue,
-                                  bool bSetting,
-                                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::rowColumnRatio(CFXJSE_Value* pValue,
-                                 bool bSetting,
-                                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::startChar(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::textLocation(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::truncate(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::type(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::upsMode(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Barcode::wideNarrowRatio(CFXJSE_Value* pValue,
-                                  bool bSetting,
-                                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_barcode.h b/fxjs/xfa/cjx_barcode.h
index 551df42..0e5c950 100644
--- a/fxjs/xfa/cjx_barcode.h
+++ b/fxjs/xfa/cjx_barcode.h
@@ -17,26 +17,6 @@
   explicit CJX_Barcode(CXFA_Barcode* arc);
   ~CJX_Barcode() override;
 
-  JSE_PROP(charEncoding);
-  JSE_PROP(checksum);
-  JSE_PROP(dataColumnCount);
-  JSE_PROP(dataLength);
-  JSE_PROP(dataPrep);
-  JSE_PROP(dataRowCount);
-  JSE_PROP(endChar);
-  JSE_PROP(errorCorrectionLevel);
-  JSE_PROP(moduleHeight);
-  JSE_PROP(moduleWidth);
-  JSE_PROP(printCheckDigit);
-  JSE_PROP(rowColumnRatio);
-  JSE_PROP(startChar);
-  JSE_PROP(textLocation);
-  JSE_PROP(truncate);
-  JSE_PROP(type);
-  JSE_PROP(upsMode);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
-  JSE_PROP(wideNarrowRatio);
 };
 
 #endif  // FXJS_XFA_CJX_BARCODE_H_
diff --git a/fxjs/xfa/cjx_bind.cpp b/fxjs/xfa/cjx_bind.cpp
index b3a3dd9..81de7bd 100644
--- a/fxjs/xfa/cjx_bind.cpp
+++ b/fxjs/xfa/cjx_bind.cpp
@@ -11,39 +11,3 @@
 CJX_Bind::CJX_Bind(CXFA_Bind* node) : CJX_Node(node) {}
 
 CJX_Bind::~CJX_Bind() = default;
-
-void CJX_Bind::contentType(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bind::match(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bind::ref(CFXJSE_Value* pValue,
-                   bool bSetting,
-                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bind::transferEncoding(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bind::use(CFXJSE_Value* pValue,
-                   bool bSetting,
-                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bind::usehref(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_bind.h b/fxjs/xfa/cjx_bind.h
index 3ca9da7..b7166ba 100644
--- a/fxjs/xfa/cjx_bind.h
+++ b/fxjs/xfa/cjx_bind.h
@@ -16,13 +16,6 @@
  public:
   explicit CJX_Bind(CXFA_Bind* node);
   ~CJX_Bind() override;
-
-  JSE_PROP(contentType);
-  JSE_PROP(match);
-  JSE_PROP(ref);
-  JSE_PROP(transferEncoding);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BIND_H_
diff --git a/fxjs/xfa/cjx_binditems.cpp b/fxjs/xfa/cjx_binditems.cpp
index 116b94c..4d1439e 100644
--- a/fxjs/xfa/cjx_binditems.cpp
+++ b/fxjs/xfa/cjx_binditems.cpp
@@ -11,21 +11,3 @@
 CJX_BindItems::CJX_BindItems(CXFA_BindItems* node) : CJX_Node(node) {}
 
 CJX_BindItems::~CJX_BindItems() = default;
-
-void CJX_BindItems::connection(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BindItems::labelRef(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BindItems::valueRef(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_binditems.h b/fxjs/xfa/cjx_binditems.h
index 1bbbb2b..bc97570 100644
--- a/fxjs/xfa/cjx_binditems.h
+++ b/fxjs/xfa/cjx_binditems.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_BindItems(CXFA_BindItems* node);
   ~CJX_BindItems() override;
-
-  JSE_PROP(connection);
-  JSE_PROP(labelRef);
-  JSE_PROP(valueRef);
 };
 
 #endif  // FXJS_XFA_CJX_BINDITEMS_H_
diff --git a/fxjs/xfa/cjx_bookend.cpp b/fxjs/xfa/cjx_bookend.cpp
index ac88e3a..936adaf 100644
--- a/fxjs/xfa/cjx_bookend.cpp
+++ b/fxjs/xfa/cjx_bookend.cpp
@@ -11,27 +11,3 @@
 CJX_Bookend::CJX_Bookend(CXFA_Bookend* node) : CJX_Node(node) {}
 
 CJX_Bookend::~CJX_Bookend() = default;
-
-void CJX_Bookend::leader(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bookend::trailer(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bookend::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Bookend::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_bookend.h b/fxjs/xfa/cjx_bookend.h
index 9015205..74872bb 100644
--- a/fxjs/xfa/cjx_bookend.h
+++ b/fxjs/xfa/cjx_bookend.h
@@ -16,11 +16,6 @@
  public:
   explicit CJX_Bookend(CXFA_Bookend* node);
   ~CJX_Bookend() override;
-
-  JSE_PROP(leader);
-  JSE_PROP(trailer);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BOOKEND_H_
diff --git a/fxjs/xfa/cjx_border.cpp b/fxjs/xfa/cjx_border.cpp
index 37ed812..c759fb8 100644
--- a/fxjs/xfa/cjx_border.cpp
+++ b/fxjs/xfa/cjx_border.cpp
@@ -11,39 +11,3 @@
 CJX_Border::CJX_Border(CXFA_Border* node) : CJX_Node(node) {}
 
 CJX_Border::~CJX_Border() = default;
-
-void CJX_Border::breakValue(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Border::hand(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Border::presence(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Border::relevant(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Border::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Border::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_border.h b/fxjs/xfa/cjx_border.h
index c89b546..39d4186 100644
--- a/fxjs/xfa/cjx_border.h
+++ b/fxjs/xfa/cjx_border.h
@@ -16,13 +16,6 @@
  public:
   explicit CJX_Border(CXFA_Border* node);
   ~CJX_Border() override;
-
-  JSE_PROP(breakValue); /* break */
-  JSE_PROP(hand);
-  JSE_PROP(presence);
-  JSE_PROP(relevant);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BORDER_H_
diff --git a/fxjs/xfa/cjx_break.cpp b/fxjs/xfa/cjx_break.cpp
index 8c17eac..c018701 100644
--- a/fxjs/xfa/cjx_break.cpp
+++ b/fxjs/xfa/cjx_break.cpp
@@ -11,75 +11,3 @@
 CJX_Break::CJX_Break(CXFA_Break* node) : CJX_Node(node) {}
 
 CJX_Break::~CJX_Break() = default;
-
-void CJX_Break::after(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::afterTarget(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::before(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::beforeTarget(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::bookendLeader(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::bookendTrailer(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::overflowLeader(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::overflowTarget(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::overflowTrailer(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::startNew(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::use(CFXJSE_Value* pValue,
-                    bool bSetting,
-                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Break::usehref(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_break.h b/fxjs/xfa/cjx_break.h
index 7391217..644ec99 100644
--- a/fxjs/xfa/cjx_break.h
+++ b/fxjs/xfa/cjx_break.h
@@ -16,19 +16,6 @@
  public:
   explicit CJX_Break(CXFA_Break* node);
   ~CJX_Break() override;
-
-  JSE_PROP(after);
-  JSE_PROP(afterTarget);
-  JSE_PROP(before);
-  JSE_PROP(beforeTarget);
-  JSE_PROP(bookendLeader);
-  JSE_PROP(bookendTrailer);
-  JSE_PROP(overflowLeader);
-  JSE_PROP(overflowTarget);
-  JSE_PROP(overflowTrailer);
-  JSE_PROP(startNew);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAK_H_
diff --git a/fxjs/xfa/cjx_breakafter.cpp b/fxjs/xfa/cjx_breakafter.cpp
index ce59edb..50b50d9 100644
--- a/fxjs/xfa/cjx_breakafter.cpp
+++ b/fxjs/xfa/cjx_breakafter.cpp
@@ -11,45 +11,3 @@
 CJX_BreakAfter::CJX_BreakAfter(CXFA_BreakAfter* node) : CJX_Node(node) {}
 
 CJX_BreakAfter::~CJX_BreakAfter() = default;
-
-void CJX_BreakAfter::use(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::startNew(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::trailer(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::targetType(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::usehref(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::target(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakAfter::leader(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_breakafter.h b/fxjs/xfa/cjx_breakafter.h
index cd89f34..b15ac78 100644
--- a/fxjs/xfa/cjx_breakafter.h
+++ b/fxjs/xfa/cjx_breakafter.h
@@ -16,14 +16,6 @@
  public:
   explicit CJX_BreakAfter(CXFA_BreakAfter* node);
   ~CJX_BreakAfter() override;
-
-  JSE_PROP(leader);
-  JSE_PROP(startNew);
-  JSE_PROP(target);
-  JSE_PROP(targetType);
-  JSE_PROP(trailer);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAKAFTER_H_
diff --git a/fxjs/xfa/cjx_breakbefore.cpp b/fxjs/xfa/cjx_breakbefore.cpp
index 7585ecc..9ed2e2f 100644
--- a/fxjs/xfa/cjx_breakbefore.cpp
+++ b/fxjs/xfa/cjx_breakbefore.cpp
@@ -11,45 +11,3 @@
 CJX_BreakBefore::CJX_BreakBefore(CXFA_BreakBefore* node) : CJX_Node(node) {}
 
 CJX_BreakBefore::~CJX_BreakBefore() = default;
-
-void CJX_BreakBefore::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::startNew(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::trailer(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::targetType(CFXJSE_Value* pValue,
-                                 bool bSetting,
-                                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::target(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_BreakBefore::leader(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_breakbefore.h b/fxjs/xfa/cjx_breakbefore.h
index 59f07c0..dbaf364 100644
--- a/fxjs/xfa/cjx_breakbefore.h
+++ b/fxjs/xfa/cjx_breakbefore.h
@@ -16,14 +16,6 @@
  public:
   explicit CJX_BreakBefore(CXFA_BreakBefore* node);
   ~CJX_BreakBefore() override;
-
-  JSE_PROP(leader);
-  JSE_PROP(startNew);
-  JSE_PROP(target);
-  JSE_PROP(targetType);
-  JSE_PROP(trailer);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BREAKBEFORE_H_
diff --git a/fxjs/xfa/cjx_button.cpp b/fxjs/xfa/cjx_button.cpp
index aea53dd..917396a 100644
--- a/fxjs/xfa/cjx_button.cpp
+++ b/fxjs/xfa/cjx_button.cpp
@@ -11,21 +11,3 @@
 CJX_Button::CJX_Button(CXFA_Button* node) : CJX_Node(node) {}
 
 CJX_Button::~CJX_Button() = default;
-
-void CJX_Button::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Button::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Button::highlight(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_button.h b/fxjs/xfa/cjx_button.h
index 9fe5061..197ced1 100644
--- a/fxjs/xfa/cjx_button.h
+++ b/fxjs/xfa/cjx_button.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Button(CXFA_Button* node);
   ~CJX_Button() override;
-
-  JSE_PROP(highlight);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_BUTTON_H_
diff --git a/fxjs/xfa/cjx_calculate.cpp b/fxjs/xfa/cjx_calculate.cpp
index 6027839..a9e6982 100644
--- a/fxjs/xfa/cjx_calculate.cpp
+++ b/fxjs/xfa/cjx_calculate.cpp
@@ -11,21 +11,3 @@
 CJX_Calculate::CJX_Calculate(CXFA_Calculate* node) : CJX_Node(node) {}
 
 CJX_Calculate::~CJX_Calculate() = default;
-
-void CJX_Calculate::use(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Calculate::usehref(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Calculate::override(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_calculate.h b/fxjs/xfa/cjx_calculate.h
index 29dc732..604e849 100644
--- a/fxjs/xfa/cjx_calculate.h
+++ b/fxjs/xfa/cjx_calculate.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Calculate(CXFA_Calculate* node);
   ~CJX_Calculate() override;
-
-  JSE_PROP(override);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CALCULATE_H_
diff --git a/fxjs/xfa/cjx_caption.cpp b/fxjs/xfa/cjx_caption.cpp
index 5251a50..90920d1 100644
--- a/fxjs/xfa/cjx_caption.cpp
+++ b/fxjs/xfa/cjx_caption.cpp
@@ -11,33 +11,3 @@
 CJX_Caption::CJX_Caption(CXFA_Caption* node) : CJX_Node(node) {}
 
 CJX_Caption::~CJX_Caption() = default;
-
-void CJX_Caption::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Caption::reserve(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Caption::presence(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Caption::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Caption::placement(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_caption.h b/fxjs/xfa/cjx_caption.h
index ae89ed0..5affe60 100644
--- a/fxjs/xfa/cjx_caption.h
+++ b/fxjs/xfa/cjx_caption.h
@@ -16,12 +16,6 @@
  public:
   explicit CJX_Caption(CXFA_Caption* node);
   ~CJX_Caption() override;
-
-  JSE_PROP(placement);
-  JSE_PROP(presence);
-  JSE_PROP(reserve);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CAPTION_H_
diff --git a/fxjs/xfa/cjx_certificate.cpp b/fxjs/xfa/cjx_certificate.cpp
index ac3074f..a2d72e2 100644
--- a/fxjs/xfa/cjx_certificate.cpp
+++ b/fxjs/xfa/cjx_certificate.cpp
@@ -11,15 +11,3 @@
 CJX_Certificate::CJX_Certificate(CXFA_Certificate* node) : CJX_TextNode(node) {}
 
 CJX_Certificate::~CJX_Certificate() = default;
-
-void CJX_Certificate::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Certificate::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_certificate.h b/fxjs/xfa/cjx_certificate.h
index 93a323a..0debebd 100644
--- a/fxjs/xfa/cjx_certificate.h
+++ b/fxjs/xfa/cjx_certificate.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Certificate(CXFA_Certificate* node);
   ~CJX_Certificate() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CERTIFICATE_H_
diff --git a/fxjs/xfa/cjx_certificates.cpp b/fxjs/xfa/cjx_certificates.cpp
index d26bb41..f431340 100644
--- a/fxjs/xfa/cjx_certificates.cpp
+++ b/fxjs/xfa/cjx_certificates.cpp
@@ -11,33 +11,3 @@
 CJX_Certificates::CJX_Certificates(CXFA_Certificates* node) : CJX_Node(node) {}
 
 CJX_Certificates::~CJX_Certificates() = default;
-
-void CJX_Certificates::url(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Certificates::use(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Certificates::credentialServerPolicy(CFXJSE_Value* pValue,
-                                              bool bSetting,
-                                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Certificates::usehref(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Certificates::urlPolicy(CFXJSE_Value* pValue,
-                                 bool bSetting,
-                                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_certificates.h b/fxjs/xfa/cjx_certificates.h
index b792efb..3948932 100644
--- a/fxjs/xfa/cjx_certificates.h
+++ b/fxjs/xfa/cjx_certificates.h
@@ -16,12 +16,6 @@
  public:
   explicit CJX_Certificates(CXFA_Certificates* node);
   ~CJX_Certificates() override;
-
-  JSE_PROP(credentialServerPolicy);
-  JSE_PROP(url);
-  JSE_PROP(urlPolicy);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CERTIFICATES_H_
diff --git a/fxjs/xfa/cjx_checkbutton.cpp b/fxjs/xfa/cjx_checkbutton.cpp
index 8db7cb2..d47d9f9 100644
--- a/fxjs/xfa/cjx_checkbutton.cpp
+++ b/fxjs/xfa/cjx_checkbutton.cpp
@@ -11,39 +11,3 @@
 CJX_CheckButton::CJX_CheckButton(CXFA_CheckButton* node) : CJX_Node(node) {}
 
 CJX_CheckButton::~CJX_CheckButton() = default;
-
-void CJX_CheckButton::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_CheckButton::allowNeutral(CFXJSE_Value* pValue,
-                                   bool bSetting,
-                                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_CheckButton::mark(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_CheckButton::shape(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_CheckButton::size(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_CheckButton::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_checkbutton.h b/fxjs/xfa/cjx_checkbutton.h
index 82a96d4..1bcf726 100644
--- a/fxjs/xfa/cjx_checkbutton.h
+++ b/fxjs/xfa/cjx_checkbutton.h
@@ -16,13 +16,6 @@
  public:
   explicit CJX_CheckButton(CXFA_CheckButton* node);
   ~CJX_CheckButton() override;
-
-  JSE_PROP(allowNeutral);
-  JSE_PROP(mark);
-  JSE_PROP(shape);
-  JSE_PROP(size);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CHECKBUTTON_H_
diff --git a/fxjs/xfa/cjx_choicelist.cpp b/fxjs/xfa/cjx_choicelist.cpp
index 4a10330..8e60195 100644
--- a/fxjs/xfa/cjx_choicelist.cpp
+++ b/fxjs/xfa/cjx_choicelist.cpp
@@ -11,33 +11,3 @@
 CJX_ChoiceList::CJX_ChoiceList(CXFA_ChoiceList* node) : CJX_Node(node) {}
 
 CJX_ChoiceList::~CJX_ChoiceList() = default;
-
-void CJX_ChoiceList::use(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ChoiceList::open(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ChoiceList::commitOn(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ChoiceList::textEntry(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ChoiceList::usehref(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_choicelist.h b/fxjs/xfa/cjx_choicelist.h
index e1add2d..aca3e1b 100644
--- a/fxjs/xfa/cjx_choicelist.h
+++ b/fxjs/xfa/cjx_choicelist.h
@@ -16,12 +16,6 @@
  public:
   explicit CJX_ChoiceList(CXFA_ChoiceList* node);
   ~CJX_ChoiceList() override;
-
-  JSE_PROP(commitOn);
-  JSE_PROP(open);
-  JSE_PROP(textEntry);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CHOICELIST_H_
diff --git a/fxjs/xfa/cjx_color.cpp b/fxjs/xfa/cjx_color.cpp
index 02bc961..845053c 100644
--- a/fxjs/xfa/cjx_color.cpp
+++ b/fxjs/xfa/cjx_color.cpp
@@ -11,27 +11,3 @@
 CJX_Color::CJX_Color(CXFA_Color* node) : CJX_Node(node) {}
 
 CJX_Color::~CJX_Color() = default;
-
-void CJX_Color::use(CFXJSE_Value* pValue,
-                    bool bSetting,
-                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Color::cSpace(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Color::usehref(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Color::value(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_color.h b/fxjs/xfa/cjx_color.h
index d0816bb..073e12d 100644
--- a/fxjs/xfa/cjx_color.h
+++ b/fxjs/xfa/cjx_color.h
@@ -16,11 +16,6 @@
  public:
   explicit CJX_Color(CXFA_Color* node);
   ~CJX_Color() override;
-
-  JSE_PROP(cSpace);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
-  JSE_PROP(value);
 };
 
 #endif  // FXJS_XFA_CJX_COLOR_H_
diff --git a/fxjs/xfa/cjx_comb.cpp b/fxjs/xfa/cjx_comb.cpp
index ed9e8ab..8680972 100644
--- a/fxjs/xfa/cjx_comb.cpp
+++ b/fxjs/xfa/cjx_comb.cpp
@@ -12,20 +12,8 @@
 
 CJX_Comb::~CJX_Comb() = default;
 
-void CJX_Comb::use(CFXJSE_Value* pValue,
-                   bool bSetting,
-                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
 void CJX_Comb::numberOfCells(CFXJSE_Value* pValue,
                              bool bSetting,
                              XFA_Attribute eAttribute) {
   ScriptAttributeInteger(pValue, bSetting, eAttribute);
 }
-
-void CJX_Comb::usehref(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_comb.h b/fxjs/xfa/cjx_comb.h
index 073adf5..31dd917 100644
--- a/fxjs/xfa/cjx_comb.h
+++ b/fxjs/xfa/cjx_comb.h
@@ -18,8 +18,6 @@
   ~CJX_Comb() override;
 
   JSE_PROP(numberOfCells);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_COMB_H_
diff --git a/fxjs/xfa/cjx_command.cpp b/fxjs/xfa/cjx_command.cpp
index 1e99a72..acf259d 100644
--- a/fxjs/xfa/cjx_command.cpp
+++ b/fxjs/xfa/cjx_command.cpp
@@ -11,21 +11,3 @@
 CJX_Command::CJX_Command(CXFA_Command* node) : CJX_Node(node) {}
 
 CJX_Command::~CJX_Command() = default;
-
-void CJX_Command::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Command::timeout(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Command::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_command.h b/fxjs/xfa/cjx_command.h
index b876d69..4708449 100644
--- a/fxjs/xfa/cjx_command.h
+++ b/fxjs/xfa/cjx_command.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Command(CXFA_Command* node);
   ~CJX_Command() override;
-
-  JSE_PROP(timeout);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_COMMAND_H_
diff --git a/fxjs/xfa/cjx_connect.cpp b/fxjs/xfa/cjx_connect.cpp
index 553fdd1..3b8dd7fb 100644
--- a/fxjs/xfa/cjx_connect.cpp
+++ b/fxjs/xfa/cjx_connect.cpp
@@ -11,45 +11,3 @@
 CJX_Connect::CJX_Connect(CXFA_Connect* node) : CJX_Node(node) {}
 
 CJX_Connect::~CJX_Connect() = default;
-
-void CJX_Connect::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::timeout(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::connection(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::usage(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::delayedOpen(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Connect::ref(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_connect.h b/fxjs/xfa/cjx_connect.h
index 5ebb93e..7893edf 100644
--- a/fxjs/xfa/cjx_connect.h
+++ b/fxjs/xfa/cjx_connect.h
@@ -16,14 +16,6 @@
  public:
   explicit CJX_Connect(CXFA_Connect* node);
   ~CJX_Connect() override;
-
-  JSE_PROP(connection);
-  JSE_PROP(delayedOpen);
-  JSE_PROP(ref);
-  JSE_PROP(timeout);
-  JSE_PROP(usage);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CONNECT_H_
diff --git a/fxjs/xfa/cjx_connectstring.cpp b/fxjs/xfa/cjx_connectstring.cpp
index 8edd66a..8786a4d 100644
--- a/fxjs/xfa/cjx_connectstring.cpp
+++ b/fxjs/xfa/cjx_connectstring.cpp
@@ -12,15 +12,3 @@
     : CJX_TextNode(node) {}
 
 CJX_ConnectString::~CJX_ConnectString() = default;
-
-void CJX_ConnectString::use(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ConnectString::usehref(CFXJSE_Value* pValue,
-                                bool bSetting,
-                                XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_connectstring.h b/fxjs/xfa/cjx_connectstring.h
index 8a6beb3..b0cf4ca 100644
--- a/fxjs/xfa/cjx_connectstring.h
+++ b/fxjs/xfa/cjx_connectstring.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_ConnectString(CXFA_ConnectString* node);
   ~CJX_ConnectString() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_CONNECTSTRING_H_
diff --git a/fxjs/xfa/cjx_contentarea.cpp b/fxjs/xfa/cjx_contentarea.cpp
index 3d081b1..881b997 100644
--- a/fxjs/xfa/cjx_contentarea.cpp
+++ b/fxjs/xfa/cjx_contentarea.cpp
@@ -12,33 +12,3 @@
     : CJX_Container(node) {}
 
 CJX_ContentArea::~CJX_ContentArea() = default;
-
-void CJX_ContentArea::x(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ContentArea::y(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ContentArea::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ContentArea::relevant(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_ContentArea::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_contentarea.h b/fxjs/xfa/cjx_contentarea.h
index 82cbde1..c9c45a9 100644
--- a/fxjs/xfa/cjx_contentarea.h
+++ b/fxjs/xfa/cjx_contentarea.h
@@ -16,12 +16,6 @@
  public:
   explicit CJX_ContentArea(CXFA_ContentArea* node);
   ~CJX_ContentArea() override;
-
-  JSE_PROP(relevant);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
-  JSE_PROP(x);
-  JSE_PROP(y);
 };
 
 #endif  // FXJS_XFA_CJX_CONTENTAREA_H_
diff --git a/fxjs/xfa/cjx_corner.cpp b/fxjs/xfa/cjx_corner.cpp
index e381153..a7fc5c7 100644
--- a/fxjs/xfa/cjx_corner.cpp
+++ b/fxjs/xfa/cjx_corner.cpp
@@ -11,51 +11,3 @@
 CJX_Corner::CJX_Corner(CXFA_Corner* node) : CJX_Node(node) {}
 
 CJX_Corner::~CJX_Corner() = default;
-
-void CJX_Corner::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::stroke(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::presence(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::inverted(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::thickness(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::join(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Corner::radius(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_corner.h b/fxjs/xfa/cjx_corner.h
index 905c05c..76a2bb1 100644
--- a/fxjs/xfa/cjx_corner.h
+++ b/fxjs/xfa/cjx_corner.h
@@ -16,15 +16,6 @@
  public:
   explicit CJX_Corner(CXFA_Corner* node);
   ~CJX_Corner() override;
-
-  JSE_PROP(inverted);
-  JSE_PROP(join);
-  JSE_PROP(presence);
-  JSE_PROP(radius);
-  JSE_PROP(stroke);
-  JSE_PROP(thickness);
-  JSE_PROP(usehref);
-  JSE_PROP(use);
 };
 
 #endif  // FXJS_XFA_CJX_CORNER_H_
diff --git a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
index fdfc59a..9f57363 100644
--- a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
@@ -626,62 +626,62 @@
     /* break */
     {ATTR(0x3106c3a,
           "beforeTarget",
-          &CJX_Break::beforeTarget,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::BeforeTarget,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Break::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x13a08bdb,
           "overflowTarget",
-          &CJX_Break::overflowTarget,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::OverflowTarget,
           XFA_ScriptType::Basic)},
     {ATTR(0x169134a1,
           "overflowLeader",
-          &CJX_Break::overflowLeader,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::OverflowLeader,
           XFA_ScriptType::Basic)},
     {ATTR(0x20914367,
           "overflowTrailer",
-          &CJX_Break::overflowTrailer,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::OverflowTrailer,
           XFA_ScriptType::Basic)},
     {ATTR(0x453eaf38,
           "startNew",
-          &CJX_Break::startNew,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::StartNew,
           XFA_ScriptType::Basic)},
     {ATTR(0x64110ab5,
           "bookendTrailer",
-          &CJX_Break::bookendTrailer,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::BookendTrailer,
           XFA_ScriptType::Basic)},
     {ATTR(0xb6b44172,
           "after",
-          &CJX_Break::after,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::After,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Break::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc3c1442f,
           "bookendLeader",
-          &CJX_Break::bookendLeader,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::BookendLeader,
           XFA_ScriptType::Basic)},
     {ATTR(0xcb150479,
           "afterTarget",
-          &CJX_Break::afterTarget,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::AfterTarget,
           XFA_ScriptType::Basic)},
     {ATTR(0xf4ffce73,
           "before",
-          &CJX_Break::before,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Before,
           XFA_ScriptType::Basic)},
 
@@ -736,32 +736,32 @@
     /* checkButton */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_CheckButton::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x47cfa43a,
           "allowNeutral",
-          &CJX_CheckButton::allowNeutral,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::AllowNeutral,
           XFA_ScriptType::Basic)},
     {ATTR(0x7c2fd80b,
           "mark",
-          &CJX_CheckButton::mark,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Mark,
           XFA_ScriptType::Basic)},
     {ATTR(0x8ed182d1,
           "shape",
-          &CJX_CheckButton::shape,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Shape,
           XFA_ScriptType::Basic)},
     {ATTR(0xa686975b,
           "size",
-          &CJX_CheckButton::size,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Size,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_CheckButton::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -794,32 +794,32 @@
     /* arc */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Arc::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x5c054755,
           "startAngle",
-          &CJX_Arc::startAngle,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::StartAngle,
           XFA_ScriptType::Basic)},
     {ATTR(0x74788f8b,
           "sweepAngle",
-          &CJX_Arc::sweepAngle,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::SweepAngle,
           XFA_ScriptType::Basic)},
     {ATTR(0x9d833d75,
           "circular",
-          &CJX_Arc::circular,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Circular,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Arc::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xd996fa9b,
           "hand",
-          &CJX_Arc::hand,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Hand,
           XFA_ScriptType::Basic)},
 
@@ -908,37 +908,37 @@
     /* breakBefore */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_BreakBefore::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x453eaf38,
           "startNew",
-          &CJX_BreakBefore::startNew,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::StartNew,
           XFA_ScriptType::Basic)},
     {ATTR(0x9dcc3ab3,
           "trailer",
-          &CJX_BreakBefore::trailer,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Trailer,
           XFA_ScriptType::Basic)},
     {ATTR(0xa6118c89,
           "targetType",
-          &CJX_BreakBefore::targetType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::TargetType,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_BreakBefore::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
-          &CJX_BreakBefore::target,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
     {ATTR(0xcbcaf66d,
           "leader",
-          &CJX_BreakBefore::leader,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Leader,
           XFA_ScriptType::Basic)},
 
@@ -1243,27 +1243,27 @@
     /* choiceList */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_ChoiceList::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x8b90e1f2,
           "open",
-          &CJX_ChoiceList::open,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Open,
           XFA_ScriptType::Basic)},
     {ATTR(0x957fa006,
           "commitOn",
-          &CJX_ChoiceList::commitOn,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CommitOn,
           XFA_ScriptType::Basic)},
     {ATTR(0xb12128b7,
           "textEntry",
-          &CJX_ChoiceList::textEntry,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::TextEntry,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_ChoiceList::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -1503,102 +1503,102 @@
     /* barcode */
     {ATTR(0x43e349b,
           "dataRowCount",
-          &CJX_Barcode::dataRowCount,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::DataRowCount,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Barcode::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x28e17e91,
           "dataPrep",
-          &CJX_Barcode::dataPrep,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::DataPrep,
           XFA_ScriptType::Basic)},
     {ATTR(0x2f16a382,
           "type",
-          &CJX_Barcode::type,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0x3650557e,
           "textLocation",
-          &CJX_Barcode::textLocation,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::TextLocation,
           XFA_ScriptType::Basic)},
     {ATTR(0x3b582286,
           "moduleWidth",
-          &CJX_Barcode::moduleWidth,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ModuleWidth,
           XFA_ScriptType::Basic)},
     {ATTR(0x52666f1c,
           "printCheckDigit",
-          &CJX_Barcode::printCheckDigit,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::PrintCheckDigit,
           XFA_ScriptType::Basic)},
     {ATTR(0x5404d6df,
           "moduleHeight",
-          &CJX_Barcode::moduleHeight,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ModuleHeight,
           XFA_ScriptType::Basic)},
     {ATTR(0x5ab23b6c,
           "startChar",
-          &CJX_Barcode::startChar,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::StartChar,
           XFA_ScriptType::Basic)},
     {ATTR(0x7c732a66,
           "truncate",
-          &CJX_Barcode::truncate,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Truncate,
           XFA_ScriptType::Basic)},
     {ATTR(0x8d181d61,
           "wideNarrowRatio",
-          &CJX_Barcode::wideNarrowRatio,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::WideNarrowRatio,
           XFA_ScriptType::Basic)},
     {ATTR(0x99800d7a,
           "errorCorrectionLevel",
-          &CJX_Barcode::errorCorrectionLevel,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ErrorCorrectionLevel,
           XFA_ScriptType::Basic)},
     {ATTR(0x9a63da3d,
           "upsMode",
-          &CJX_Barcode::upsMode,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::UpsMode,
           XFA_ScriptType::Basic)},
     {ATTR(0xaf754613,
           "checksum",
-          &CJX_Barcode::checksum,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Checksum,
           XFA_ScriptType::Basic)},
     {ATTR(0xb045fbc5,
           "charEncoding",
-          &CJX_Barcode::charEncoding,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CharEncoding,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Barcode::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc035c6b1,
           "dataColumnCount",
-          &CJX_Barcode::dataColumnCount,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::DataColumnCount,
           XFA_ScriptType::Basic)},
     {ATTR(0xd3c84d25,
           "rowColumnRatio",
-          &CJX_Barcode::rowColumnRatio,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::RowColumnRatio,
           XFA_ScriptType::Basic)},
     {ATTR(0xd57c513c,
           "dataLength",
-          &CJX_Barcode::dataLength,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::DataLength,
           XFA_ScriptType::Basic)},
     {ATTR(0xf575ca75,
           "endChar",
-          &CJX_Barcode::endChar,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::EndChar,
           XFA_ScriptType::Basic)},
 
@@ -1779,17 +1779,17 @@
     /* button */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Button::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Button::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xd4cc53f8,
           "highlight",
-          &CJX_Button::highlight,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Highlight,
           XFA_ScriptType::Basic)},
 
@@ -1808,38 +1808,46 @@
     /* border */
     {ATTR(0x5518c25,
           "break",
-          &CJX_Border::breakValue,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Break,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Border::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
-          &CJX_Border::presence,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Presence,
           XFA_ScriptType::Basic)},
     {ATTR(0x8e1c2921,
           "relevant",
-          &CJX_Border::relevant,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Relevant,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Border::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xd996fa9b,
           "hand",
-          &CJX_Border::hand,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Hand,
           XFA_ScriptType::Basic)},
 
     /* area */
-    {ATTR(0x78, "x", &CJX_Area::x, XFA_Attribute::X, XFA_ScriptType::Basic)},
-    {ATTR(0x79, "y", &CJX_Area::y, XFA_Attribute::Y, XFA_ScriptType::Basic)},
+    {ATTR(0x78,
+          "x",
+          &CJX_Object::ScriptAttributeString,
+          XFA_Attribute::X,
+          XFA_ScriptType::Basic)},
+    {ATTR(0x79,
+          "y",
+          &CJX_Object::ScriptAttributeString,
+          XFA_Attribute::Y,
+          XFA_ScriptType::Basic)},
     {ATTR(0x21aed,
           "id",
           &CJX_Area::id,
@@ -1852,7 +1860,7 @@
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Area::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x1059ec18,
@@ -1862,17 +1870,17 @@
           XFA_ScriptType::Basic)},
     {ATTR(0x8e1c2921,
           "relevant",
-          &CJX_Area::relevant,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Relevant,
           XFA_ScriptType::Basic)},
     {ATTR(0xac06e2b0,
           "colSpan",
-          &CJX_Area::colSpan,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ColSpan,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Area::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xf6b47749,
@@ -2004,27 +2012,27 @@
     /* certificates */
     {ATTR(0xc080cd3,
           "url",
-          &CJX_Certificates::url,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Url,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Certificates::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xa6710262,
           "credentialServerPolicy",
-          &CJX_Certificates::credentialServerPolicy,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CredentialServerPolicy,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Certificates::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc2ba0923,
           "urlPolicy",
-          &CJX_Certificates::urlPolicy,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::UrlPolicy,
           XFA_ScriptType::Basic)},
 
@@ -2118,7 +2126,7 @@
     /* comb */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Comb::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x78bff531,
@@ -2128,7 +2136,7 @@
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Comb::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -2417,27 +2425,27 @@
           XFA_ScriptType::Basic)},
     {ATTR(0x78,
           "x",
-          &CJX_ContentArea::x,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::X,
           XFA_ScriptType::Basic)},
     {ATTR(0x79,
           "y",
-          &CJX_ContentArea::y,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Y,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_ContentArea::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x8e1c2921,
           "relevant",
-          &CJX_ContentArea::relevant,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Relevant,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_ContentArea::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3374,17 +3382,17 @@
     /* command */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Command::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x24d85167,
           "timeout",
-          &CJX_Command::timeout,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Timeout,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Command::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3507,17 +3515,17 @@
     /* assist */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Assist::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x2038c9b2,
           "role",
-          &CJX_Assist::role,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Role,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Assist::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3616,42 +3624,42 @@
     /* corner */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Corner::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x5392ea58,
           "stroke",
-          &CJX_Corner::stroke,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Stroke,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
-          &CJX_Corner::presence,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Presence,
           XFA_ScriptType::Basic)},
     {ATTR(0x7b95e661,
           "inverted",
-          &CJX_Corner::inverted,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Inverted,
           XFA_ScriptType::Basic)},
     {ATTR(0x94446dcc,
           "thickness",
-          &CJX_Corner::thickness,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Thickness,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Corner::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xe8dddf50,
           "join",
-          &CJX_Corner::join,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Join,
           XFA_ScriptType::Basic)},
     {ATTR(0xe948b9a8,
           "radius",
-          &CJX_Corner::radius,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Radius,
           XFA_ScriptType::Basic)},
 
@@ -3670,22 +3678,22 @@
     /* color */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Color::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xabfa6c4f,
           "cSpace",
-          &CJX_Color::cSpace,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CSpace,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Color::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xd6e27f1d,
           "value",
-          &CJX_Color::value,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Value,
           XFA_ScriptType::Basic)},
 
@@ -3940,12 +3948,12 @@
     /* connectString */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_ConnectString::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_ConnectString::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -4363,27 +4371,27 @@
     /* caption */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Caption::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x34ae103c,
           "reserve",
-          &CJX_Caption::reserve,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Reserve,
           XFA_ScriptType::Basic)},
     {ATTR(0x570ce835,
           "presence",
-          &CJX_Caption::presence,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Presence,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Caption::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xf2009339,
           "placement",
-          &CJX_Caption::placement,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Placement,
           XFA_ScriptType::Basic)},
 
@@ -4885,32 +4893,32 @@
     /* bind */
     {ATTR(0xbb8df5d,
           "ref",
-          &CJX_Bind::ref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Ref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Bind::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x42fed1fd,
           "contentType",
-          &CJX_Bind::contentType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ContentType,
           XFA_ScriptType::Basic)},
     {ATTR(0x54fa722c,
           "transferEncoding",
-          &CJX_Bind::transferEncoding,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::TransferEncoding,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Bind::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xf197844d,
           "match",
-          &CJX_Bind::match,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Match,
           XFA_ScriptType::Basic)},
 
@@ -5466,12 +5474,12 @@
     /* certificate */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Certificate::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Certificate::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -5584,22 +5592,22 @@
     /* bookend */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Bookend::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x9dcc3ab3,
           "trailer",
-          &CJX_Bookend::trailer,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Trailer,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Bookend::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xcbcaf66d,
           "leader",
-          &CJX_Bookend::leader,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Leader,
           XFA_ScriptType::Basic)},
 
@@ -5672,34 +5680,34 @@
     /* bindItems */
     {ATTR(0x47d03490,
           "connection",
-          &CJX_BindItems::connection,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Connection,
           XFA_ScriptType::Basic)},
     {ATTR(0xc39a88bd,
           "labelRef",
-          &CJX_BindItems::labelRef,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::LabelRef,
           XFA_ScriptType::Basic)},
     {ATTR(0xd50f903a,
           "valueRef",
-          &CJX_BindItems::valueRef,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ValueRef,
           XFA_ScriptType::Basic)},
 
     /* calculate */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Calculate::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Calculate::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xea7090a0,
           "override",
-          &CJX_Calculate::override,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Override,
           XFA_ScriptType::Basic)},
 
@@ -5751,37 +5759,37 @@
     /* connect */
     {ATTR(0xbb8df5d,
           "ref",
-          &CJX_Connect::ref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Ref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Connect::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x24d85167,
           "timeout",
-          &CJX_Connect::timeout,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Timeout,
           XFA_ScriptType::Basic)},
     {ATTR(0x47d03490,
           "connection",
-          &CJX_Connect::connection,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Connection,
           XFA_ScriptType::Basic)},
     {ATTR(0x552d9ad5,
           "usage",
-          &CJX_Connect::usage,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usage,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Connect::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc860f30a,
           "delayedOpen",
-          &CJX_Connect::delayedOpen,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::DelayedOpen,
           XFA_ScriptType::Basic)},
 
@@ -6109,37 +6117,37 @@
     /* breakAfter */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_BreakAfter::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x453eaf38,
           "startNew",
-          &CJX_BreakAfter::startNew,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::StartNew,
           XFA_ScriptType::Basic)},
     {ATTR(0x9dcc3ab3,
           "trailer",
-          &CJX_BreakAfter::trailer,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Trailer,
           XFA_ScriptType::Basic)},
     {ATTR(0xa6118c89,
           "targetType",
-          &CJX_BreakAfter::targetType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::TargetType,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_BreakAfter::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
-          &CJX_BreakAfter::target,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
     {ATTR(0xcbcaf66d,
           "leader",
-          &CJX_BreakAfter::leader,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Leader,
           XFA_ScriptType::Basic)},