Remove ScriptAttributeString() wrappers, part 7

Change-Id: I2fa828b01d820119bc1a7e4cbbbf275454d4809e
Reviewed-on: https://pdfium-review.googlesource.com/c/46590
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/xfa/cjx_passwordedit.cpp b/fxjs/xfa/cjx_passwordedit.cpp
index 22b81fe..427ad19 100644
--- a/fxjs/xfa/cjx_passwordedit.cpp
+++ b/fxjs/xfa/cjx_passwordedit.cpp
@@ -11,27 +11,3 @@
 CJX_PasswordEdit::CJX_PasswordEdit(CXFA_PasswordEdit* node) : CJX_Node(node) {}
 
 CJX_PasswordEdit::~CJX_PasswordEdit() = default;
-
-void CJX_PasswordEdit::use(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_PasswordEdit::passwordChar(CFXJSE_Value* pValue,
-                                    bool bSetting,
-                                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_PasswordEdit::usehref(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_PasswordEdit::hScrollPolicy(CFXJSE_Value* pValue,
-                                     bool bSetting,
-                                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_passwordedit.h b/fxjs/xfa/cjx_passwordedit.h
index 4f9ce1a..d55abf6 100644
--- a/fxjs/xfa/cjx_passwordedit.h
+++ b/fxjs/xfa/cjx_passwordedit.h
@@ -16,11 +16,6 @@
  public:
   explicit CJX_PasswordEdit(CXFA_PasswordEdit* node);
   ~CJX_PasswordEdit() override;
-
-  JSE_PROP(hScrollPolicy);
-  JSE_PROP(passwordChar);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PASSWORDEDIT_H_
diff --git a/fxjs/xfa/cjx_pattern.cpp b/fxjs/xfa/cjx_pattern.cpp
index 7360a15..f4a1603 100644
--- a/fxjs/xfa/cjx_pattern.cpp
+++ b/fxjs/xfa/cjx_pattern.cpp
@@ -11,21 +11,3 @@
 CJX_Pattern::CJX_Pattern(CXFA_Pattern* node) : CJX_Node(node) {}
 
 CJX_Pattern::~CJX_Pattern() = default;
-
-void CJX_Pattern::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Pattern::type(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Pattern::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_pattern.h b/fxjs/xfa/cjx_pattern.h
index 0bb975b..f9ebb11 100644
--- a/fxjs/xfa/cjx_pattern.h
+++ b/fxjs/xfa/cjx_pattern.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Pattern(CXFA_Pattern* node);
   ~CJX_Pattern() override;
-
-  JSE_PROP(type);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_PATTERN_H_
diff --git a/fxjs/xfa/cjx_picture.cpp b/fxjs/xfa/cjx_picture.cpp
index a00a645..9def3d8 100644
--- a/fxjs/xfa/cjx_picture.cpp
+++ b/fxjs/xfa/cjx_picture.cpp
@@ -12,24 +12,12 @@
 
 CJX_Picture::~CJX_Picture() = default;
 
-void CJX_Picture::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
 void CJX_Picture::defaultValue(CFXJSE_Value* pValue,
                                bool bSetting,
                                XFA_Attribute eAttribute) {
   ScriptSomDefaultValue(pValue, bSetting, eAttribute);
 }
 
-void CJX_Picture::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
 void CJX_Picture::value(CFXJSE_Value* pValue,
                         bool bSetting,
                         XFA_Attribute eAttribute) {
diff --git a/fxjs/xfa/cjx_picture.h b/fxjs/xfa/cjx_picture.h
index e2dc063..43e8c8f 100644
--- a/fxjs/xfa/cjx_picture.h
+++ b/fxjs/xfa/cjx_picture.h
@@ -18,8 +18,6 @@
   ~CJX_Picture() override;
 
   JSE_PROP(defaultValue); /* {default} */
-  JSE_PROP(use);
-  JSE_PROP(usehref);
   JSE_PROP(value);
 };
 
diff --git a/fxjs/xfa/cjx_query.cpp b/fxjs/xfa/cjx_query.cpp
index a3e37a9..49119f8 100644
--- a/fxjs/xfa/cjx_query.cpp
+++ b/fxjs/xfa/cjx_query.cpp
@@ -11,21 +11,3 @@
 CJX_Query::CJX_Query(CXFA_Query* node) : CJX_Node(node) {}
 
 CJX_Query::~CJX_Query() = default;
-
-void CJX_Query::use(CFXJSE_Value* pValue,
-                    bool bSetting,
-                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Query::commandType(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Query::usehref(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_query.h b/fxjs/xfa/cjx_query.h
index 893b2b7..44aaff4 100644
--- a/fxjs/xfa/cjx_query.h
+++ b/fxjs/xfa/cjx_query.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Query(CXFA_Query* node);
   ~CJX_Query() override;
-
-  JSE_PROP(commandType);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_QUERY_H_
diff --git a/fxjs/xfa/cjx_radial.cpp b/fxjs/xfa/cjx_radial.cpp
index bb7c214..71609d9 100644
--- a/fxjs/xfa/cjx_radial.cpp
+++ b/fxjs/xfa/cjx_radial.cpp
@@ -11,21 +11,3 @@
 CJX_Radial::CJX_Radial(CXFA_Radial* node) : CJX_Node(node) {}
 
 CJX_Radial::~CJX_Radial() = default;
-
-void CJX_Radial::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Radial::type(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Radial::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_radial.h b/fxjs/xfa/cjx_radial.h
index d7ad871..bd56239 100644
--- a/fxjs/xfa/cjx_radial.h
+++ b/fxjs/xfa/cjx_radial.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Radial(CXFA_Radial* node);
   ~CJX_Radial() override;
-
-  JSE_PROP(type);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RADIAL_H_
diff --git a/fxjs/xfa/cjx_reason.cpp b/fxjs/xfa/cjx_reason.cpp
index c1f3549..d981041 100644
--- a/fxjs/xfa/cjx_reason.cpp
+++ b/fxjs/xfa/cjx_reason.cpp
@@ -11,15 +11,3 @@
 CJX_Reason::CJX_Reason(CXFA_Reason* node) : CJX_TextNode(node) {}
 
 CJX_Reason::~CJX_Reason() = default;
-
-void CJX_Reason::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Reason::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_reason.h b/fxjs/xfa/cjx_reason.h
index b69c638..7b89d95 100644
--- a/fxjs/xfa/cjx_reason.h
+++ b/fxjs/xfa/cjx_reason.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Reason(CXFA_Reason* node);
   ~CJX_Reason() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REASON_H_
diff --git a/fxjs/xfa/cjx_reasons.cpp b/fxjs/xfa/cjx_reasons.cpp
index 53c8a0d..99ccfe3 100644
--- a/fxjs/xfa/cjx_reasons.cpp
+++ b/fxjs/xfa/cjx_reasons.cpp
@@ -11,21 +11,3 @@
 CJX_Reasons::CJX_Reasons(CXFA_Reasons* node) : CJX_Node(node) {}
 
 CJX_Reasons::~CJX_Reasons() = default;
-
-void CJX_Reasons::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Reasons::type(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Reasons::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_reasons.h b/fxjs/xfa/cjx_reasons.h
index 80cdcff..633bea5 100644
--- a/fxjs/xfa/cjx_reasons.h
+++ b/fxjs/xfa/cjx_reasons.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Reasons(CXFA_Reasons* node);
   ~CJX_Reasons() override;
-
-  JSE_PROP(type);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REASONS_H_
diff --git a/fxjs/xfa/cjx_recordset.cpp b/fxjs/xfa/cjx_recordset.cpp
index d303864..94f0ee7 100644
--- a/fxjs/xfa/cjx_recordset.cpp
+++ b/fxjs/xfa/cjx_recordset.cpp
@@ -13,51 +13,3 @@
 CJX_RecordSet::CJX_RecordSet(CXFA_RecordSet* node) : CJX_Node(node) {}
 
 CJX_RecordSet::~CJX_RecordSet() = default;
-
-void CJX_RecordSet::max(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::use(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::eofAction(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::cursorType(CFXJSE_Value* pValue,
-                               bool bSetting,
-                               XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::lockType(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::bofAction(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::usehref(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RecordSet::cursorLocation(CFXJSE_Value* pValue,
-                                   bool bSetting,
-                                   XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_recordset.h b/fxjs/xfa/cjx_recordset.h
index e4973f5..ee30961 100644
--- a/fxjs/xfa/cjx_recordset.h
+++ b/fxjs/xfa/cjx_recordset.h
@@ -16,15 +16,6 @@
  public:
   explicit CJX_RecordSet(CXFA_RecordSet* node);
   ~CJX_RecordSet() override;
-
-  JSE_PROP(bofAction);
-  JSE_PROP(cursorLocation);
-  JSE_PROP(cursorType);
-  JSE_PROP(eofAction);
-  JSE_PROP(lockType);
-  JSE_PROP(max);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RECORDSET_H_
diff --git a/fxjs/xfa/cjx_rectangle.cpp b/fxjs/xfa/cjx_rectangle.cpp
index 81d6448..f715098 100644
--- a/fxjs/xfa/cjx_rectangle.cpp
+++ b/fxjs/xfa/cjx_rectangle.cpp
@@ -11,21 +11,3 @@
 CJX_Rectangle::CJX_Rectangle(CXFA_Rectangle* node) : CJX_Node(node) {}
 
 CJX_Rectangle::~CJX_Rectangle() = default;
-
-void CJX_Rectangle::use(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Rectangle::usehref(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Rectangle::hand(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_rectangle.h b/fxjs/xfa/cjx_rectangle.h
index 2aed046..ae7e0aa 100644
--- a/fxjs/xfa/cjx_rectangle.h
+++ b/fxjs/xfa/cjx_rectangle.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Rectangle(CXFA_Rectangle* node);
   ~CJX_Rectangle() override;
-
-  JSE_PROP(hand);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_RECTANGLE_H_
diff --git a/fxjs/xfa/cjx_ref.cpp b/fxjs/xfa/cjx_ref.cpp
index b806434..67e2bd2 100644
--- a/fxjs/xfa/cjx_ref.cpp
+++ b/fxjs/xfa/cjx_ref.cpp
@@ -11,15 +11,3 @@
 CJX_Ref::CJX_Ref(CXFA_Ref* node) : CJX_TextNode(node) {}
 
 CJX_Ref::~CJX_Ref() = default;
-
-void CJX_Ref::use(CFXJSE_Value* pValue,
-                  bool bSetting,
-                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Ref::usehref(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_ref.h b/fxjs/xfa/cjx_ref.h
index aaf4a5f..dc231c1 100644
--- a/fxjs/xfa/cjx_ref.h
+++ b/fxjs/xfa/cjx_ref.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Ref(CXFA_Ref* node);
   ~CJX_Ref() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_REF_H_
diff --git a/fxjs/xfa/cjx_rootelement.cpp b/fxjs/xfa/cjx_rootelement.cpp
index 90412e5..238bb91 100644
--- a/fxjs/xfa/cjx_rootelement.cpp
+++ b/fxjs/xfa/cjx_rootelement.cpp
@@ -11,15 +11,3 @@
 CJX_RootElement::CJX_RootElement(CXFA_RootElement* node) : CJX_TextNode(node) {}
 
 CJX_RootElement::~CJX_RootElement() = default;
-
-void CJX_RootElement::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_RootElement::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_rootelement.h b/fxjs/xfa/cjx_rootelement.h
index 95e192f..601a26f 100644
--- a/fxjs/xfa/cjx_rootelement.h
+++ b/fxjs/xfa/cjx_rootelement.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_RootElement(CXFA_RootElement* node);
   ~CJX_RootElement() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_ROOTELEMENT_H_
diff --git a/fxjs/xfa/cjx_script.cpp b/fxjs/xfa/cjx_script.cpp
index 91229c8..137e579 100644
--- a/fxjs/xfa/cjx_script.cpp
+++ b/fxjs/xfa/cjx_script.cpp
@@ -13,24 +13,6 @@
 
 CJX_Script::~CJX_Script() = default;
 
-void CJX_Script::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Script::contentType(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Script::runAt(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
 void CJX_Script::stateless(CFXJSE_Value* pValue,
                            bool bSetting,
                            XFA_Attribute eAttribute) {
@@ -47,18 +29,6 @@
   ScriptSomDefaultValue(pValue, bSetting, eAttribute);
 }
 
-void CJX_Script::binding(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Script::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
 void CJX_Script::value(CFXJSE_Value* pValue,
                        bool bSetting,
                        XFA_Attribute eAttribute) {
diff --git a/fxjs/xfa/cjx_script.h b/fxjs/xfa/cjx_script.h
index e1e9a83..3d4504a 100644
--- a/fxjs/xfa/cjx_script.h
+++ b/fxjs/xfa/cjx_script.h
@@ -18,12 +18,7 @@
   ~CJX_Script() override;
 
   JSE_PROP(defaultValue); /* {default} */
-  JSE_PROP(binding);
-  JSE_PROP(contentType);
-  JSE_PROP(runAt);
   JSE_PROP(stateless);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
   JSE_PROP(value);
 };
 
diff --git a/fxjs/xfa/cjx_select.cpp b/fxjs/xfa/cjx_select.cpp
index 47f05c5..e2f0cf3 100644
--- a/fxjs/xfa/cjx_select.cpp
+++ b/fxjs/xfa/cjx_select.cpp
@@ -11,15 +11,3 @@
 CJX_Select::CJX_Select(CXFA_Select* node) : CJX_TextNode(node) {}
 
 CJX_Select::~CJX_Select() = default;
-
-void CJX_Select::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Select::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_select.h b/fxjs/xfa/cjx_select.h
index ff81266..9629660 100644
--- a/fxjs/xfa/cjx_select.h
+++ b/fxjs/xfa/cjx_select.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Select(CXFA_Select* node);
   ~CJX_Select() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SELECT_H_
diff --git a/fxjs/xfa/cjx_setproperty.cpp b/fxjs/xfa/cjx_setproperty.cpp
index a17e791..88ddf68 100644
--- a/fxjs/xfa/cjx_setproperty.cpp
+++ b/fxjs/xfa/cjx_setproperty.cpp
@@ -11,15 +11,3 @@
 CJX_SetProperty::CJX_SetProperty(CXFA_SetProperty* node) : CJX_Node(node) {}
 
 CJX_SetProperty::~CJX_SetProperty() = default;
-
-void CJX_SetProperty::connection(CFXJSE_Value* pValue,
-                                 bool bSetting,
-                                 XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SetProperty::target(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_setproperty.h b/fxjs/xfa/cjx_setproperty.h
index 042f902..d602aaa 100644
--- a/fxjs/xfa/cjx_setproperty.h
+++ b/fxjs/xfa/cjx_setproperty.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_SetProperty(CXFA_SetProperty* node);
   ~CJX_SetProperty() override;
-
-  JSE_PROP(connection);
-  JSE_PROP(target);
 };
 
 #endif  // FXJS_XFA_CJX_SETPROPERTY_H_
diff --git a/fxjs/xfa/cjx_signature.cpp b/fxjs/xfa/cjx_signature.cpp
index c489e9a..7c51b06 100644
--- a/fxjs/xfa/cjx_signature.cpp
+++ b/fxjs/xfa/cjx_signature.cpp
@@ -11,15 +11,3 @@
 CJX_Signature::CJX_Signature(CXFA_Signature* node) : CJX_Node(node) {}
 
 CJX_Signature::~CJX_Signature() = default;
-
-void CJX_Signature::use(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Signature::usehref(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_signature.h b/fxjs/xfa/cjx_signature.h
index e29c6c5..e3b9c84 100644
--- a/fxjs/xfa/cjx_signature.h
+++ b/fxjs/xfa/cjx_signature.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Signature(CXFA_Signature* node);
   ~CJX_Signature() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNATURE_H_
diff --git a/fxjs/xfa/cjx_signatureproperties.cpp b/fxjs/xfa/cjx_signatureproperties.cpp
index 85fe7e2..ae2d8df 100644
--- a/fxjs/xfa/cjx_signatureproperties.cpp
+++ b/fxjs/xfa/cjx_signatureproperties.cpp
@@ -12,15 +12,3 @@
     : CJX_Node(node) {}
 
 CJX_SignatureProperties::~CJX_SignatureProperties() = default;
-
-void CJX_SignatureProperties::use(CFXJSE_Value* pValue,
-                                  bool bSetting,
-                                  XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SignatureProperties::usehref(CFXJSE_Value* pValue,
-                                      bool bSetting,
-                                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_signatureproperties.h b/fxjs/xfa/cjx_signatureproperties.h
index beb8744..cc3e6d8 100644
--- a/fxjs/xfa/cjx_signatureproperties.h
+++ b/fxjs/xfa/cjx_signatureproperties.h
@@ -17,9 +17,6 @@
  public:
   explicit CJX_SignatureProperties(CXFA_SignatureProperties* node);
   ~CJX_SignatureProperties() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNATUREPROPERTIES_H_
diff --git a/fxjs/xfa/cjx_signdata.cpp b/fxjs/xfa/cjx_signdata.cpp
index 789ca06..b1578e8 100644
--- a/fxjs/xfa/cjx_signdata.cpp
+++ b/fxjs/xfa/cjx_signdata.cpp
@@ -11,33 +11,3 @@
 CJX_SignData::CJX_SignData(CXFA_SignData* node) : CJX_Node(node) {}
 
 CJX_SignData::~CJX_SignData() = default;
-
-void CJX_SignData::ref(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SignData::use(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SignData::operation(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SignData::usehref(CFXJSE_Value* pValue,
-                           bool bSetting,
-                           XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SignData::target(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_signdata.h b/fxjs/xfa/cjx_signdata.h
index ee841bc..e087f94 100644
--- a/fxjs/xfa/cjx_signdata.h
+++ b/fxjs/xfa/cjx_signdata.h
@@ -16,12 +16,6 @@
  public:
   explicit CJX_SignData(CXFA_SignData* node);
   ~CJX_SignData() override;
-
-  JSE_PROP(operation);
-  JSE_PROP(ref);
-  JSE_PROP(target);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNDATA_H_
diff --git a/fxjs/xfa/cjx_signing.cpp b/fxjs/xfa/cjx_signing.cpp
index ff5e339..fbb82ee 100644
--- a/fxjs/xfa/cjx_signing.cpp
+++ b/fxjs/xfa/cjx_signing.cpp
@@ -11,21 +11,3 @@
 CJX_Signing::CJX_Signing(CXFA_Signing* node) : CJX_Node(node) {}
 
 CJX_Signing::~CJX_Signing() = default;
-
-void CJX_Signing::use(CFXJSE_Value* pValue,
-                      bool bSetting,
-                      XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Signing::type(CFXJSE_Value* pValue,
-                       bool bSetting,
-                       XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Signing::usehref(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_signing.h b/fxjs/xfa/cjx_signing.h
index 60e7739..9c4cbeb 100644
--- a/fxjs/xfa/cjx_signing.h
+++ b/fxjs/xfa/cjx_signing.h
@@ -16,10 +16,6 @@
  public:
   explicit CJX_Signing(CXFA_Signing* node);
   ~CJX_Signing() override;
-
-  JSE_PROP(type);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SIGNING_H_
diff --git a/fxjs/xfa/cjx_soapaction.cpp b/fxjs/xfa/cjx_soapaction.cpp
index 27e2d4c..2130a84 100644
--- a/fxjs/xfa/cjx_soapaction.cpp
+++ b/fxjs/xfa/cjx_soapaction.cpp
@@ -11,15 +11,3 @@
 CJX_SoapAction::CJX_SoapAction(CXFA_SoapAction* node) : CJX_TextNode(node) {}
 
 CJX_SoapAction::~CJX_SoapAction() = default;
-
-void CJX_SoapAction::use(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SoapAction::usehref(CFXJSE_Value* pValue,
-                             bool bSetting,
-                             XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_soapaction.h b/fxjs/xfa/cjx_soapaction.h
index 9523f5f..dc61c76 100644
--- a/fxjs/xfa/cjx_soapaction.h
+++ b/fxjs/xfa/cjx_soapaction.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_SoapAction(CXFA_SoapAction* node);
   ~CJX_SoapAction() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOAPACTION_H_
diff --git a/fxjs/xfa/cjx_soapaddress.cpp b/fxjs/xfa/cjx_soapaddress.cpp
index ac93388..b05000e 100644
--- a/fxjs/xfa/cjx_soapaddress.cpp
+++ b/fxjs/xfa/cjx_soapaddress.cpp
@@ -11,15 +11,3 @@
 CJX_SoapAddress::CJX_SoapAddress(CXFA_SoapAddress* node) : CJX_TextNode(node) {}
 
 CJX_SoapAddress::~CJX_SoapAddress() = default;
-
-void CJX_SoapAddress::use(CFXJSE_Value* pValue,
-                          bool bSetting,
-                          XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SoapAddress::usehref(CFXJSE_Value* pValue,
-                              bool bSetting,
-                              XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_soapaddress.h b/fxjs/xfa/cjx_soapaddress.h
index 13137c1..bd63bd0 100644
--- a/fxjs/xfa/cjx_soapaddress.h
+++ b/fxjs/xfa/cjx_soapaddress.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_SoapAddress(CXFA_SoapAddress* node);
   ~CJX_SoapAddress() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOAPADDRESS_H_
diff --git a/fxjs/xfa/cjx_solid.cpp b/fxjs/xfa/cjx_solid.cpp
index 90345a0..2d3f708 100644
--- a/fxjs/xfa/cjx_solid.cpp
+++ b/fxjs/xfa/cjx_solid.cpp
@@ -11,15 +11,3 @@
 CJX_Solid::CJX_Solid(CXFA_Solid* node) : CJX_Node(node) {}
 
 CJX_Solid::~CJX_Solid() = default;
-
-void CJX_Solid::use(CFXJSE_Value* pValue,
-                    bool bSetting,
-                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Solid::usehref(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_solid.h b/fxjs/xfa/cjx_solid.h
index dab7ec3..b6c6c08 100644
--- a/fxjs/xfa/cjx_solid.h
+++ b/fxjs/xfa/cjx_solid.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_Solid(CXFA_Solid* node);
   ~CJX_Solid() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOLID_H_
diff --git a/fxjs/xfa/cjx_source.cpp b/fxjs/xfa/cjx_source.cpp
index 7c25b1c..04417d5 100644
--- a/fxjs/xfa/cjx_source.cpp
+++ b/fxjs/xfa/cjx_source.cpp
@@ -182,15 +182,3 @@
 void CJX_Source::db(CFXJSE_Value* pValue,
                     bool bSetting,
                     XFA_Attribute eAttribute) {}
-
-void CJX_Source::use(CFXJSE_Value* pValue,
-                     bool bSetting,
-                     XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Source::usehref(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_source.h b/fxjs/xfa/cjx_source.h
index 32721fb..0e72336 100644
--- a/fxjs/xfa/cjx_source.h
+++ b/fxjs/xfa/cjx_source.h
@@ -36,8 +36,6 @@
   JSE_METHOD(updateBatch, CJX_Source);
 
   JSE_PROP(db);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 
  private:
   static const CJX_MethodSpec MethodSpecs[];
diff --git a/fxjs/xfa/cjx_sourceset.cpp b/fxjs/xfa/cjx_sourceset.cpp
index 93507ab..a45f3f6 100644
--- a/fxjs/xfa/cjx_sourceset.cpp
+++ b/fxjs/xfa/cjx_sourceset.cpp
@@ -11,15 +11,3 @@
 CJX_SourceSet::CJX_SourceSet(CXFA_SourceSet* node) : CJX_Model(node) {}
 
 CJX_SourceSet::~CJX_SourceSet() = default;
-
-void CJX_SourceSet::use(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_SourceSet::usehref(CFXJSE_Value* pValue,
-                            bool bSetting,
-                            XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_sourceset.h b/fxjs/xfa/cjx_sourceset.h
index f72a048..f18cd2e 100644
--- a/fxjs/xfa/cjx_sourceset.h
+++ b/fxjs/xfa/cjx_sourceset.h
@@ -16,9 +16,6 @@
  public:
   explicit CJX_SourceSet(CXFA_SourceSet* node);
   ~CJX_SourceSet() override;
-
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SOURCESET_H_
diff --git a/fxjs/xfa/cjx_speak.cpp b/fxjs/xfa/cjx_speak.cpp
index 09870e3..2bf47f8 100644
--- a/fxjs/xfa/cjx_speak.cpp
+++ b/fxjs/xfa/cjx_speak.cpp
@@ -11,27 +11,3 @@
 CJX_Speak::CJX_Speak(CXFA_Speak* node) : CJX_TextNode(node) {}
 
 CJX_Speak::~CJX_Speak() = default;
-
-void CJX_Speak::use(CFXJSE_Value* pValue,
-                    bool bSetting,
-                    XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Speak::priority(CFXJSE_Value* pValue,
-                         bool bSetting,
-                         XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Speak::usehref(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
-
-void CJX_Speak::disable(CFXJSE_Value* pValue,
-                        bool bSetting,
-                        XFA_Attribute eAttribute) {
-  ScriptAttributeString(pValue, bSetting, eAttribute);
-}
diff --git a/fxjs/xfa/cjx_speak.h b/fxjs/xfa/cjx_speak.h
index d5678a8..e867b53 100644
--- a/fxjs/xfa/cjx_speak.h
+++ b/fxjs/xfa/cjx_speak.h
@@ -16,11 +16,6 @@
  public:
   explicit CJX_Speak(CXFA_Speak* node);
   ~CJX_Speak() override;
-
-  JSE_PROP(disable);
-  JSE_PROP(priority);
-  JSE_PROP(use);
-  JSE_PROP(usehref);
 };
 
 #endif  // FXJS_XFA_CJX_SPEAK_H_
diff --git a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
index c0bfc41..6fd7dfe 100644
--- a/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data_element_script.cpp
@@ -516,42 +516,42 @@
     /* recordSet */
     {ATTR(0xb3543a6,
           "max",
-          &CJX_RecordSet::max,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Max,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_RecordSet::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x45a6daf8,
           "eofAction",
-          &CJX_RecordSet::eofAction,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::EofAction,
           XFA_ScriptType::Basic)},
     {ATTR(0x5ec958c0,
           "cursorType",
-          &CJX_RecordSet::cursorType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CursorType,
           XFA_ScriptType::Basic)},
     {ATTR(0x79975f2b,
           "lockType",
-          &CJX_RecordSet::lockType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::LockType,
           XFA_ScriptType::Basic)},
     {ATTR(0xa5340ff5,
           "bofAction",
-          &CJX_RecordSet::bofAction,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::BofAction,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_RecordSet::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc5762157,
           "cursorLocation",
-          &CJX_RecordSet::cursorLocation,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CursorLocation,
           XFA_ScriptType::Basic)},
 
@@ -770,12 +770,12 @@
     /* sourceSet */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_SourceSet::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_SourceSet::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -991,12 +991,12 @@
     /* ref */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Ref::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Ref::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -2056,12 +2056,12 @@
     /* setProperty */
     {ATTR(0x47d03490,
           "connection",
-          &CJX_SetProperty::connection,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Connection,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
-          &CJX_SetProperty::target,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
 
@@ -2143,17 +2143,17 @@
     /* pattern */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Pattern::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x2f16a382,
           "type",
-          &CJX_Pattern::type,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Pattern::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -2567,12 +2567,12 @@
     /* solid */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Solid::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Solid::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -2859,12 +2859,12 @@
     /* reason */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Reason::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Reason::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3235,12 +3235,12 @@
     /* select */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Select::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Select::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3548,7 +3548,7 @@
     /* picture */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Picture::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xa52682bd,
@@ -3558,7 +3558,7 @@
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Picture::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xbe52dfbf,
@@ -3743,17 +3743,17 @@
     /* query */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Query::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x268b7ec1,
           "commandType",
-          &CJX_Query::commandType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::CommandType,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Query::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -3889,12 +3889,12 @@
     /* soapAddress */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_SoapAddress::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_SoapAddress::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -4099,17 +4099,17 @@
     /* signing */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Signing::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x2f16a382,
           "type",
-          &CJX_Signing::type,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Signing::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -4138,17 +4138,17 @@
     /* script */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Script::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x42fed1fd,
           "contentType",
-          &CJX_Script::contentType,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::ContentType,
           XFA_ScriptType::Basic)},
     {ATTR(0x6cfa828a,
           "runAt",
-          &CJX_Script::runAt,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::RunAt,
           XFA_ScriptType::Basic)},
     {ATTR(0xa021b738,
@@ -4163,12 +4163,12 @@
           XFA_ScriptType::Basic)},
     {ATTR(0xadc4c77b,
           "binding",
-          &CJX_Script::binding,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Binding,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Script::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xbe52dfbf,
@@ -4224,22 +4224,22 @@
     /* passwordEdit */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_PasswordEdit::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x7a0cc471,
           "passwordChar",
-          &CJX_PasswordEdit::passwordChar,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::PasswordChar,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_PasswordEdit::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xe6f99487,
           "hScrollPolicy",
-          &CJX_PasswordEdit::hScrollPolicy,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::HScrollPolicy,
           XFA_ScriptType::Basic)},
 
@@ -4363,12 +4363,12 @@
     /* signature */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Signature::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Signature::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -4497,12 +4497,12 @@
     /* soapAction */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_SoapAction::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_SoapAction::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -4839,27 +4839,27 @@
     /* signData */
     {ATTR(0xbb8df5d,
           "ref",
-          &CJX_SignData::ref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Ref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_SignData::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x226ca8f1,
           "operation",
-          &CJX_SignData::operation,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Operation,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_SignData::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xc8da4da7,
           "target",
-          &CJX_SignData::target,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Target,
           XFA_ScriptType::Basic)},
 
@@ -4965,17 +4965,17 @@
     /* rectangle */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Rectangle::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Rectangle::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xd996fa9b,
           "hand",
-          &CJX_Rectangle::hand,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Hand,
           XFA_ScriptType::Basic)},
 
@@ -5265,22 +5265,22 @@
     /* speak */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Speak::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x39cdb0a2,
           "priority",
-          &CJX_Speak::priority,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Priority,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Speak::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
     {ATTR(0xeb511b54,
           "disable",
-          &CJX_Speak::disable,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Disable,
           XFA_ScriptType::Basic)},
 
@@ -5320,29 +5320,29 @@
     /* reasons */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Reasons::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x2f16a382,
           "type",
-          &CJX_Reasons::type,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Reasons::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
     /* signatureProperties */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_SignatureProperties::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_SignatureProperties::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -5910,12 +5910,12 @@
     /* rootElement */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_RootElement::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_RootElement::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -6023,17 +6023,17 @@
     /* radial */
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Radial::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0x2f16a382,
           "type",
-          &CJX_Radial::type,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Type,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Radial::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},
 
@@ -6220,12 +6220,12 @@
           XFA_ScriptType::Basic)},
     {ATTR(0xc0811ed,
           "use",
-          &CJX_Source::use,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Use,
           XFA_ScriptType::Basic)},
     {ATTR(0xbc254332,
           "usehref",
-          &CJX_Source::usehref,
+          &CJX_Object::ScriptAttributeString,
           XFA_Attribute::Usehref,
           XFA_ScriptType::Basic)},