XFA: generate element tables via C preprocessor
Note that here the enum and the tables differ, due to some
internal types that aren't present in tables, so use two
different kinds of macros.
We should reconcile these differences down the road.
Change-Id: Ibcac32e651b22def077309187cfa1de9fde02caa
Reviewed-on: https://pdfium-review.googlesource.com/c/46671
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/xfa/fxfa/fxfa_basic.h b/xfa/fxfa/fxfa_basic.h
index 267448e..345fdff 100644
--- a/xfa/fxfa/fxfa_basic.h
+++ b/xfa/fxfa/fxfa_basic.h
@@ -115,319 +115,13 @@
enum class XFA_Element : int16_t {
Unknown = -1,
-
- Ps,
- To,
- Ui,
- RecordSet,
- SubsetBelow,
- SubformSet,
- AdobeExtensionLevel,
- Typeface,
- Break,
- FontInfo,
- NumberPattern,
- DynamicRender,
- PrintScaling,
- CheckButton,
- DatePatterns,
- SourceSet,
- Amd,
- Arc,
- Day,
- Era,
- Jog,
- Log,
- Map,
- Mdp,
- BreakBefore,
- Oid,
- Pcl,
- Pdf,
- Ref,
- Uri,
- Xdc,
- Xdp,
- Xfa,
- Xsl,
- Zpl,
- Cache,
- Margin,
- KeyUsage,
- Exclude,
- ChoiceList,
- Level,
- LabelPrinter,
- CalendarSymbols,
- Para,
- Part,
- Pdfa,
- Filter,
- Present,
- Pagination,
- Encoding,
- Event,
- Whitespace,
- DefaultUi,
- DataModel,
- Barcode,
- TimePattern,
- BatchOutput,
- Enforce,
- CurrencySymbols,
- AddSilentPrint,
- Rename,
- Operation,
- Typefaces,
- SubjectDNs,
- Issuers,
- SignaturePseudoModel,
- WsdlConnection,
- Debug,
- Delta,
- EraNames,
- ModifyAnnots,
- StartNode,
- Button,
- Format,
- Border,
- Area,
- Hyphenation,
- Text,
- Time,
- Type,
- Overprint,
- Certificates,
- EncryptionMethods,
- SetProperty,
- PrinterName,
- StartPage,
- PageOffset,
- DateTime,
- Comb,
- Pattern,
- IfEmpty,
- SuppressBanner,
- OutputBin,
- Field,
- Agent,
- OutputXSL,
- AdjustData,
- AutoSave,
- ContentArea,
- EventPseudoModel,
- WsdlAddress,
- Solid,
- DateTimeSymbols,
- EncryptionLevel,
- Edge,
- Stipple,
- Attributes,
- VersionControl,
- Meridiem,
- ExclGroup,
- ToolTip,
- Compress,
- Reason,
- Execute,
- ContentCopy,
- DateTimeEdit,
- Config,
- Image,
- SharpxHTML,
- NumberOfCopies,
- BehaviorOverride,
- TimeStamp,
- Month,
- ViewerPreferences,
- ScriptModel,
- Decimal,
- Subform,
- Select,
- Window,
- LocaleSet,
- Handler,
- HostPseudoModel,
- Presence,
- Record,
- Embed,
- Version,
- Command,
- Copies,
- Staple,
- SubmitFormat,
- Boolean,
- Message,
- Output,
- PsMap,
- ExcludeNS,
- Assist,
- Picture,
- Traversal,
- SilentPrint,
- WebClient,
- LayoutPseudoModel,
- Producer,
- Corner,
- MsgId,
- Color,
- Keep,
- Query,
- Insert,
- ImageEdit,
- Validate,
- DigestMethods,
- NumberPatterns,
- PageSet,
- Integer,
- SoapAddress,
- Equate,
- FormFieldFilling,
- PageRange,
- Update,
- ConnectString,
- Mode,
- Layout,
- Sharpxml,
- XsdConnection,
- Traverse,
- Encodings,
- Template,
- Acrobat,
- ValidationMessaging,
- Signing,
- DataWindow,
- Script,
- AddViewerPreferences,
- AlwaysEmbed,
- PasswordEdit,
- NumericEdit,
- EncryptionMethod,
- Change,
- PageArea,
- SubmitUrl,
- Oids,
- Signature,
- ADBE_JSConsole,
- Caption,
- Relevant,
- FlipLabel,
- ExData,
- DayNames,
- SoapAction,
- DefaultTypeface,
- Manifest,
- Overflow,
- Linear,
- CurrencySymbol,
- Delete,
- Deltas,
- DigestMethod,
- InstanceManager,
- EquateRange,
- Medium,
- TextEdit,
- TemplateCache,
- CompressObjectStream,
- DataValue,
- AccessibleContent,
- TreeList,
- IncludeXDPContent,
- XmlConnection,
- ValidateApprovalSignatures,
- SignData,
- Packets,
- DatePattern,
- DuplexOption,
- Base,
- Bind,
- Compression,
- User,
- Rectangle,
- EffectiveOutputPolicy,
- ADBE_JSDebugger,
- Acrobat7,
- Interactive,
- Locale,
- CurrentPage,
- Data,
- Date,
- Desc,
- Encrypt,
- Draw,
- Encryption,
- MeridiemNames,
- Messaging,
- Speak,
- DataGroup,
- Common,
- Sharptext,
- PaginationOverride,
- Reasons,
- SignatureProperties,
- Threshold,
- AppearanceFilter,
- Fill,
- Font,
- Form,
- MediumInfo,
- Certificate,
- Password,
- RunScripts,
- Trace,
- Float,
- RenderPolicy,
- LogPseudoModel,
- Destination,
- Value,
- Bookend,
- ExObject,
- OpenAction,
- NeverEmbed,
- BindItems,
- Calculate,
- Print,
- Extras,
- Proto,
- DSigData,
- Creator,
- Connect,
- Permissions,
- ConnectionSet,
- Submit,
- Range,
- Linearized,
- Packet,
- RootElement,
- PlaintextMetadata,
- NumberSymbols,
- PrintHighQuality,
- Driver,
- IncrementalLoad,
- SubjectDN,
- CompressLogicalStructure,
- IncrementalMerge,
- Radial,
- Variables,
- TimePatterns,
- EffectiveInputPolicy,
- NameAttr,
- Conformance,
- Transform,
- LockDocument,
- BreakAfter,
- Line,
- List,
- Source,
- Occur,
- PickTrayByPDFSize,
- MonthNames,
- Severity,
- GroupParent,
- DocumentAssembly,
- NumberSymbol,
- Tagged,
- Items
+#undef ELEM____
+#undef ELEM_HIDDEN____
+#define ELEM____(a, b, c) c,
+#define ELEM_HIDDEN____(a) a,
+#include "xfa/fxfa/parser/elements.inc"
+#undef ELEM____
+#undef ELEM_HIDDEN____
};
enum class XFA_AttributeType : uint8_t {
diff --git a/xfa/fxfa/fxfa_basic_unittest.cpp b/xfa/fxfa/fxfa_basic_unittest.cpp
index 7462b04..95284c0 100644
--- a/xfa/fxfa/fxfa_basic_unittest.cpp
+++ b/xfa/fxfa/fxfa_basic_unittest.cpp
@@ -40,3 +40,26 @@
#include "xfa/fxfa/parser/attribute_values.inc"
#undef VALUE____
}
+
+TEST(FXFABasic, ElementHashMatchesString) {
+#undef ELEM____
+#undef ELEM_HIDDEN____
+#define ELEM____(a, b, c) EXPECT_EQ(a, FX_HashCode_GetAsIfW(b, false));
+#define ELEM_HIDDEN____(a)
+#include "xfa/fxfa/parser/elements.inc"
+#undef ELEM____
+#undef ELEM_HIDDEN____
+}
+
+TEST(FXFABasic, ElementHashOrder) {
+ uint32_t so_far = 0;
+#undef ELEM____
+#undef ELEM_HIDDEN____
+#define ELEM____(a, b, c) \
+ EXPECT_LT(so_far, a); \
+ so_far = a;
+#define ELEM_HIDDEN____(a)
+#include "xfa/fxfa/parser/elements.inc"
+#undef ELEM____
+#undef ELEM_HIDDEN____
+}
diff --git a/xfa/fxfa/parser/cxfa_node_statics.cpp b/xfa/fxfa/parser/cxfa_node_statics.cpp
index 08242b6..97c7d28 100644
--- a/xfa/fxfa/parser/cxfa_node_statics.cpp
+++ b/xfa/fxfa/parser/cxfa_node_statics.cpp
@@ -320,330 +320,16 @@
XFA_Element element;
};
-#undef ELEM
-#define ELEM(a, b, c) a, c
-
const ElementNameInfo ElementNameToEnum[] = {
- {ELEM(0x23ee3, "ps", XFA_Element::Ps)},
- {ELEM(0x25363, "to", XFA_Element::To)},
- {ELEM(0x2587e, "ui", XFA_Element::Ui)},
- {ELEM(0x1c648b, "recordSet", XFA_Element::RecordSet)},
- {ELEM(0x171428f, "subsetBelow", XFA_Element::SubsetBelow)},
- {ELEM(0x1a0776a, "subformSet", XFA_Element::SubformSet)},
- {ELEM(0x2340d70, "adobeExtensionLevel", XFA_Element::AdobeExtensionLevel)},
- {ELEM(0x2c1c7f1, "typeface", XFA_Element::Typeface)},
- {ELEM(0x5518c25, "break", XFA_Element::Break)},
- {ELEM(0x5fff523, "fontInfo", XFA_Element::FontInfo)},
- {ELEM(0x653a227, "numberPattern", XFA_Element::NumberPattern)},
- {ELEM(0x65b4a05, "dynamicRender", XFA_Element::DynamicRender)},
- {ELEM(0x7e4362e, "printScaling", XFA_Element::PrintScaling)},
- {ELEM(0x7fe6d3a, "checkButton", XFA_Element::CheckButton)},
- {ELEM(0x80cf58f, "datePatterns", XFA_Element::DatePatterns)},
- {ELEM(0x811929d, "sourceSet", XFA_Element::SourceSet)},
- {ELEM(0x9f9d612, "amd", XFA_Element::Amd)},
- {ELEM(0x9f9efb6, "arc", XFA_Element::Arc)},
- {ELEM(0xa48835e, "day", XFA_Element::Day)},
- {ELEM(0xa6328b8, "era", XFA_Element::Era)},
- {ELEM(0xae6a0a0, "jog", XFA_Element::Jog)},
- {ELEM(0xb1b3d22, "log", XFA_Element::Log)},
- {ELEM(0xb35439e, "map", XFA_Element::Map)},
- {ELEM(0xb355301, "mdp", XFA_Element::Mdp)},
- {ELEM(0xb420438, "breakBefore", XFA_Element::BreakBefore)},
- {ELEM(0xb6a091c, "oid", XFA_Element::Oid)},
- {ELEM(0xb84389f, "pcl", XFA_Element::Pcl)},
- {ELEM(0xb843dba, "pdf", XFA_Element::Pdf)},
- {ELEM(0xbb8df5d, "ref", XFA_Element::Ref)},
- {ELEM(0xc080cd0, "uri", XFA_Element::Uri)},
- {ELEM(0xc56afbf, "xdc", XFA_Element::Xdc)},
- {ELEM(0xc56afcc, "xdp", XFA_Element::Xdp)},
- {ELEM(0xc56b9ff, "xfa", XFA_Element::Xfa)},
- {ELEM(0xc56fcb7, "xsl", XFA_Element::Xsl)},
- {ELEM(0xc8b89d6, "zpl", XFA_Element::Zpl)},
- {ELEM(0xc9bae94, "cache", XFA_Element::Cache)},
- {ELEM(0xcb016be, "margin", XFA_Element::Margin)},
- {ELEM(0xe1378fe, "keyUsage", XFA_Element::KeyUsage)},
- {ELEM(0xfe3596a, "exclude", XFA_Element::Exclude)},
- {ELEM(0x10395ac7, "choiceList", XFA_Element::ChoiceList)},
- {ELEM(0x1059ec18, "level", XFA_Element::Level)},
- {ELEM(0x10874804, "labelPrinter", XFA_Element::LabelPrinter)},
- {ELEM(0x10c40e03, "calendarSymbols", XFA_Element::CalendarSymbols)},
- {ELEM(0x10f1ea24, "para", XFA_Element::Para)},
- {ELEM(0x10f1ea37, "part", XFA_Element::Part)},
- {ELEM(0x1140975b, "pdfa", XFA_Element::Pdfa)},
- {ELEM(0x1154efe6, "filter", XFA_Element::Filter)},
- {ELEM(0x13f41de1, "present", XFA_Element::Present)},
- {ELEM(0x1827e6ea, "pagination", XFA_Element::Pagination)},
- {ELEM(0x18463707, "encoding", XFA_Element::Encoding)},
- {ELEM(0x185e41e2, "event", XFA_Element::Event)},
- {ELEM(0x1adb142d, "whitespace", XFA_Element::Whitespace)},
- {ELEM(0x1f3f64c3, "defaultUi", XFA_Element::DefaultUi)},
- {ELEM(0x204e87cb, "dataModel", XFA_Element::DataModel)},
- {ELEM(0x2057b350, "barcode", XFA_Element::Barcode)},
- {ELEM(0x20596bad, "timePattern", XFA_Element::TimePattern)},
- {ELEM(0x210b74d3, "batchOutput", XFA_Element::BatchOutput)},
- {ELEM(0x212ff0e2, "enforce", XFA_Element::Enforce)},
- {ELEM(0x21d351b4, "currencySymbols", XFA_Element::CurrencySymbols)},
- {ELEM(0x21db83c5, "addSilentPrint", XFA_Element::AddSilentPrint)},
- {ELEM(0x22266258, "rename", XFA_Element::Rename)},
- {ELEM(0x226ca8f1, "operation", XFA_Element::Operation)},
- {ELEM(0x23e27b84, "typefaces", XFA_Element::Typefaces)},
- {ELEM(0x23f4aa75, "subjectDNs", XFA_Element::SubjectDNs)},
- {ELEM(0x240d5e8e, "issuers", XFA_Element::Issuers)},
- {ELEM(0x24a52f8a, "wsdlConnection", XFA_Element::WsdlConnection)},
- {ELEM(0x254ebd07, "debug", XFA_Element::Debug)},
- {ELEM(0x2655c66a, "delta", XFA_Element::Delta)},
- {ELEM(0x26c0daec, "eraNames", XFA_Element::EraNames)},
- {ELEM(0x273ab03b, "modifyAnnots", XFA_Element::ModifyAnnots)},
- {ELEM(0x27875bb4, "startNode", XFA_Element::StartNode)},
- {ELEM(0x285d0dbc, "button", XFA_Element::Button)},
- {ELEM(0x28dee6e9, "format", XFA_Element::Format)},
- {ELEM(0x2a23349e, "border", XFA_Element::Border)},
- {ELEM(0x2ae67f19, "area", XFA_Element::Area)},
- {ELEM(0x2c3c4c67, "hyphenation", XFA_Element::Hyphenation)},
- {ELEM(0x2d08af85, "text", XFA_Element::Text)},
- {ELEM(0x2d71b00f, "time", XFA_Element::Time)},
- {ELEM(0x2f16a382, "type", XFA_Element::Type)},
- {ELEM(0x2fe057e9, "overprint", XFA_Element::Overprint)},
- {ELEM(0x302aee16, "certificates", XFA_Element::Certificates)},
- {ELEM(0x30b227df, "encryptionMethods", XFA_Element::EncryptionMethods)},
- {ELEM(0x32b900d1, "setProperty", XFA_Element::SetProperty)},
- {ELEM(0x337d9e45, "printerName", XFA_Element::PrinterName)},
- {ELEM(0x33edda4b, "startPage", XFA_Element::StartPage)},
- {ELEM(0x381943e4, "pageOffset", XFA_Element::PageOffset)},
- {ELEM(0x382106cd, "dateTime", XFA_Element::DateTime)},
- {ELEM(0x386e7421, "comb", XFA_Element::Comb)},
- {ELEM(0x390acd9e, "pattern", XFA_Element::Pattern)},
- {ELEM(0x3942163e, "ifEmpty", XFA_Element::IfEmpty)},
- {ELEM(0x39944a7b, "suppressBanner", XFA_Element::SuppressBanner)},
- {ELEM(0x3b3c3dca, "outputBin", XFA_Element::OutputBin)},
- {ELEM(0x3b8a4024, "field", XFA_Element::Field)},
- {ELEM(0x3c15352f, "agent", XFA_Element::Agent)},
- {ELEM(0x3d7e8668, "outputXSL", XFA_Element::OutputXSL)},
- {ELEM(0x3e1c91c5, "adjustData", XFA_Element::AdjustData)},
- {ELEM(0x3e7a9408, "autoSave", XFA_Element::AutoSave)},
- {ELEM(0x3ecead94, "contentArea", XFA_Element::ContentArea)},
- {ELEM(0x3fadaec0, "wsdlAddress", XFA_Element::WsdlAddress)},
- {ELEM(0x40623b5b, "solid", XFA_Element::Solid)},
- {ELEM(0x41f0bd76, "dateTimeSymbols", XFA_Element::DateTimeSymbols)},
- {ELEM(0x444e7523, "encryptionLevel", XFA_Element::EncryptionLevel)},
- {ELEM(0x4523af55, "edge", XFA_Element::Edge)},
- {ELEM(0x45d5e3c1, "stipple", XFA_Element::Stipple)},
- {ELEM(0x475e4e87, "attributes", XFA_Element::Attributes)},
- {ELEM(0x487a8c87, "versionControl", XFA_Element::VersionControl)},
- {ELEM(0x48e5248c, "meridiem", XFA_Element::Meridiem)},
- {ELEM(0x48f36719, "exclGroup", XFA_Element::ExclGroup)},
- {ELEM(0x4977356b, "toolTip", XFA_Element::ToolTip)},
- {ELEM(0x499afecc, "compress", XFA_Element::Compress)},
- {ELEM(0x4a0c4948, "reason", XFA_Element::Reason)},
- {ELEM(0x4bdcce13, "execute", XFA_Element::Execute)},
- {ELEM(0x4c56b216, "contentCopy", XFA_Element::ContentCopy)},
- {ELEM(0x4cc176d3, "dateTimeEdit", XFA_Element::DateTimeEdit)},
- {ELEM(0x4e1e39b6, "config", XFA_Element::Config)},
- {ELEM(0x4e2d6083, "image", XFA_Element::Image)},
- {ELEM(0x4e814150, "#xHTML", XFA_Element::SharpxHTML)},
- {ELEM(0x4f2388c1, "numberOfCopies", XFA_Element::NumberOfCopies)},
- {ELEM(0x4f512e30, "behaviorOverride", XFA_Element::BehaviorOverride)},
- {ELEM(0x4fdc3454, "timeStamp", XFA_Element::TimeStamp)},
- {ELEM(0x51d90546, "month", XFA_Element::Month)},
- {ELEM(0x523437e4, "viewerPreferences", XFA_Element::ViewerPreferences)},
- {ELEM(0x53abc1c6, "scriptModel", XFA_Element::ScriptModel)},
- {ELEM(0x54034c2f, "decimal", XFA_Element::Decimal)},
- {ELEM(0x54202c9e, "subform", XFA_Element::Subform)},
- {ELEM(0x542c7300, "select", XFA_Element::Select)},
- {ELEM(0x5436d198, "window", XFA_Element::Window)},
- {ELEM(0x5473b6dc, "localeSet", XFA_Element::LocaleSet)},
- {ELEM(0x56ae179e, "handler", XFA_Element::Handler)},
- {ELEM(0x570ce835, "presence", XFA_Element::Presence)},
- {ELEM(0x5779d65f, "record", XFA_Element::Record)},
- {ELEM(0x59c8f27d, "embed", XFA_Element::Embed)},
- {ELEM(0x5a50e9e6, "version", XFA_Element::Version)},
- {ELEM(0x5b8383df, "command", XFA_Element::Command)},
- {ELEM(0x5c43c6c3, "copies", XFA_Element::Copies)},
- {ELEM(0x5e0c2c49, "staple", XFA_Element::Staple)},
- {ELEM(0x5e5083dd, "submitFormat", XFA_Element::SubmitFormat)},
- {ELEM(0x5e8c5d20, "boolean", XFA_Element::Boolean)},
- {ELEM(0x60490a85, "message", XFA_Element::Message)},
- {ELEM(0x60d4c8b1, "output", XFA_Element::Output)},
- {ELEM(0x61810081, "psMap", XFA_Element::PsMap)},
- {ELEM(0x62bd904b, "excludeNS", XFA_Element::ExcludeNS)},
- {ELEM(0x669d4f77, "assist", XFA_Element::Assist)},
- {ELEM(0x67334a1c, "picture", XFA_Element::Picture)},
- {ELEM(0x67fe7334, "traversal", XFA_Element::Traversal)},
- {ELEM(0x6894589c, "silentPrint", XFA_Element::SilentPrint)},
- {ELEM(0x68a16bbd, "webClient", XFA_Element::WebClient)},
- {ELEM(0x6a4bc084, "producer", XFA_Element::Producer)},
- {ELEM(0x6a9e04c9, "corner", XFA_Element::Corner)},
- {ELEM(0x6ccd7274, "msgId", XFA_Element::MsgId)},
- {ELEM(0x6e67921f, "color", XFA_Element::Color)},
- {ELEM(0x6ec217a5, "keep", XFA_Element::Keep)},
- {ELEM(0x6eef1116, "query", XFA_Element::Query)},
- {ELEM(0x7033bfd5, "insert", XFA_Element::Insert)},
- {ELEM(0x704af389, "imageEdit", XFA_Element::ImageEdit)},
- {ELEM(0x7233018a, "validate", XFA_Element::Validate)},
- {ELEM(0x72ba47b4, "digestMethods", XFA_Element::DigestMethods)},
- {ELEM(0x72f2aa7a, "numberPatterns", XFA_Element::NumberPatterns)},
- {ELEM(0x74caed29, "pageSet", XFA_Element::PageSet)},
- {ELEM(0x7568e6ae, "integer", XFA_Element::Integer)},
- {ELEM(0x76182db9, "soapAddress", XFA_Element::SoapAddress)},
- {ELEM(0x773146c5, "equate", XFA_Element::Equate)},
- {ELEM(0x77d449dd, "formFieldFilling", XFA_Element::FormFieldFilling)},
- {ELEM(0x7889d68a, "pageRange", XFA_Element::PageRange)},
- {ELEM(0x7baca2e3, "update", XFA_Element::Update)},
- {ELEM(0x7ce89001, "connectString", XFA_Element::ConnectString)},
- {ELEM(0x7d9fd7c5, "mode", XFA_Element::Mode)},
- {ELEM(0x7e7e845e, "layout", XFA_Element::Layout)},
- {ELEM(0x7e845c34, "#xml", XFA_Element::Sharpxml)},
- {ELEM(0x7fb341df, "xsdConnection", XFA_Element::XsdConnection)},
- {ELEM(0x7ffb51cc, "traverse", XFA_Element::Traverse)},
- {ELEM(0x80203b5a, "encodings", XFA_Element::Encodings)},
- {ELEM(0x803550fc, "template", XFA_Element::Template)},
- {ELEM(0x803d5bbc, "acrobat", XFA_Element::Acrobat)},
- {ELEM(0x821d6569, "validationMessaging", XFA_Element::ValidationMessaging)},
- {ELEM(0x830e688f, "signing", XFA_Element::Signing)},
- {ELEM(0x83dab9f5, "script", XFA_Element::Script)},
- {ELEM(0x8411ebcd,
- "addViewerPreferences",
- XFA_Element::AddViewerPreferences)},
- {ELEM(0x8777642e, "alwaysEmbed", XFA_Element::AlwaysEmbed)},
- {ELEM(0x877a6b39, "passwordEdit", XFA_Element::PasswordEdit)},
- {ELEM(0x87e84c99, "numericEdit", XFA_Element::NumericEdit)},
- {ELEM(0x8852cdec, "encryptionMethod", XFA_Element::EncryptionMethod)},
- {ELEM(0x891f4606, "change", XFA_Element::Change)},
- {ELEM(0x89939f36, "pageArea", XFA_Element::PageArea)},
- {ELEM(0x8a9d6247, "submitUrl", XFA_Element::SubmitUrl)},
- {ELEM(0x8ad8b90f, "oids", XFA_Element::Oids)},
- {ELEM(0x8b036f32, "signature", XFA_Element::Signature)},
- {ELEM(0x8b128efb, "ADBE_JSConsole", XFA_Element::ADBE_JSConsole)},
- {ELEM(0x8bcfe96e, "caption", XFA_Element::Caption)},
- {ELEM(0x8e1c2921, "relevant", XFA_Element::Relevant)},
- {ELEM(0x8e3f0a4b, "flipLabel", XFA_Element::FlipLabel)},
- {ELEM(0x900280b7, "exData", XFA_Element::ExData)},
- {ELEM(0x91e80352, "dayNames", XFA_Element::DayNames)},
- {ELEM(0x93113b11, "soapAction", XFA_Element::SoapAction)},
- {ELEM(0x938b09f6, "defaultTypeface", XFA_Element::DefaultTypeface)},
- {ELEM(0x95b37897, "manifest", XFA_Element::Manifest)},
- {ELEM(0x97b76b54, "overflow", XFA_Element::Overflow)},
- {ELEM(0x9a57861b, "linear", XFA_Element::Linear)},
- {ELEM(0x9ad5a821, "currencySymbol", XFA_Element::CurrencySymbol)},
- {ELEM(0x9c6471b3, "delete", XFA_Element::Delete)},
- {ELEM(0x9deea61d, "deltas", XFA_Element::Deltas)},
- {ELEM(0x9e67de21, "digestMethod", XFA_Element::DigestMethod)},
- {ELEM(0x9f3e9510, "instanceManager", XFA_Element::InstanceManager)},
- {ELEM(0xa0799892, "equateRange", XFA_Element::EquateRange)},
- {ELEM(0xa084a381, "medium", XFA_Element::Medium)},
- {ELEM(0xa1211b8b, "textEdit", XFA_Element::TextEdit)},
- {ELEM(0xa17008f0, "templateCache", XFA_Element::TemplateCache)},
- {ELEM(0xa4f7b88f,
- "compressObjectStream",
- XFA_Element::CompressObjectStream)},
- {ELEM(0xa65f5d17, "dataValue", XFA_Element::DataValue)},
- {ELEM(0xa6caaa89, "accessibleContent", XFA_Element::AccessibleContent)},
- {ELEM(0xa94cc00b, "includeXDPContent", XFA_Element::IncludeXDPContent)},
- {ELEM(0xa9b081a1, "xmlConnection", XFA_Element::XmlConnection)},
- {ELEM(0xab2a3b74,
- "validateApprovalSignatures",
- XFA_Element::ValidateApprovalSignatures)},
- {ELEM(0xab8c5a2b, "signData", XFA_Element::SignData)},
- {ELEM(0xabaa2ceb, "packets", XFA_Element::Packets)},
- {ELEM(0xadba359c, "datePattern", XFA_Element::DatePattern)},
- {ELEM(0xae222b2b, "duplexOption", XFA_Element::DuplexOption)},
- {ELEM(0xb012effb, "base", XFA_Element::Base)},
- {ELEM(0xb0e5485d, "bind", XFA_Element::Bind)},
- {ELEM(0xb45d61b2, "compression", XFA_Element::Compression)},
- {ELEM(0xb563f0ff, "user", XFA_Element::User)},
- {ELEM(0xb5848ad5, "rectangle", XFA_Element::Rectangle)},
- {ELEM(0xb6dacb72,
- "effectiveOutputPolicy",
- XFA_Element::EffectiveOutputPolicy)},
- {ELEM(0xb7d7654d, "ADBE_JSDebugger", XFA_Element::ADBE_JSDebugger)},
- {ELEM(0xbab37f73, "acrobat7", XFA_Element::Acrobat7)},
- {ELEM(0xbc70081e, "interactive", XFA_Element::Interactive)},
- {ELEM(0xbc8fa350, "locale", XFA_Element::Locale)},
- {ELEM(0xbcd44940, "currentPage", XFA_Element::CurrentPage)},
- {ELEM(0xbde9abda, "data", XFA_Element::Data)},
- {ELEM(0xbde9abde, "date", XFA_Element::Date)},
- {ELEM(0xbe52dfbf, "desc", XFA_Element::Desc)},
- {ELEM(0xbf4b6405, "encrypt", XFA_Element::Encrypt)},
- {ELEM(0xbfa87cce, "draw", XFA_Element::Draw)},
- {ELEM(0xc181ff4b, "encryption", XFA_Element::Encryption)},
- {ELEM(0xc1970f40, "meridiemNames", XFA_Element::MeridiemNames)},
- {ELEM(0xc5ad9f5e, "messaging", XFA_Element::Messaging)},
- {ELEM(0xc69549f4, "speak", XFA_Element::Speak)},
- {ELEM(0xc7743dc7, "dataGroup", XFA_Element::DataGroup)},
- {ELEM(0xc7eb20e9, "common", XFA_Element::Common)},
- {ELEM(0xc85d4528, "#text", XFA_Element::Sharptext)},
- {ELEM(0xc861556a, "paginationOverride", XFA_Element::PaginationOverride)},
- {ELEM(0xc903dabb, "reasons", XFA_Element::Reasons)},
- {ELEM(0xc9a8127f, "signatureProperties", XFA_Element::SignatureProperties)},
- {ELEM(0xca010c2d, "threshold", XFA_Element::Threshold)},
- {ELEM(0xcb4c5e96, "appearanceFilter", XFA_Element::AppearanceFilter)},
- {ELEM(0xcc92aba7, "fill", XFA_Element::Fill)},
- {ELEM(0xcd308b77, "font", XFA_Element::Font)},
- {ELEM(0xcd309ff4, "form", XFA_Element::Form)},
- {ELEM(0xcebcca2d, "mediumInfo", XFA_Element::MediumInfo)},
- {ELEM(0xcfe0d643, "certificate", XFA_Element::Certificate)},
- {ELEM(0xd012c033, "password", XFA_Element::Password)},
- {ELEM(0xd01604bd, "runScripts", XFA_Element::RunScripts)},
- {ELEM(0xd1227e6f, "trace", XFA_Element::Trace)},
- {ELEM(0xd1532876, "float", XFA_Element::Float)},
- {ELEM(0xd17a6c30, "renderPolicy", XFA_Element::RenderPolicy)},
- {ELEM(0xd58aa962, "destination", XFA_Element::Destination)},
- {ELEM(0xd6e27f1d, "value", XFA_Element::Value)},
- {ELEM(0xd7a14462, "bookend", XFA_Element::Bookend)},
- {ELEM(0xd8c31254, "exObject", XFA_Element::ExObject)},
- {ELEM(0xda6a8590, "openAction", XFA_Element::OpenAction)},
- {ELEM(0xdab4fb7d, "neverEmbed", XFA_Element::NeverEmbed)},
- {ELEM(0xdb98475f, "bindItems", XFA_Element::BindItems)},
- {ELEM(0xdbfbe02e, "calculate", XFA_Element::Calculate)},
- {ELEM(0xdd7676ed, "print", XFA_Element::Print)},
- {ELEM(0xdde273d7, "extras", XFA_Element::Extras)},
- {ELEM(0xde146b34, "proto", XFA_Element::Proto)},
- {ELEM(0xdf059321, "dSigData", XFA_Element::DSigData)},
- {ELEM(0xdfccf030, "creator", XFA_Element::Creator)},
- {ELEM(0xdff78c6a, "connect", XFA_Element::Connect)},
- {ELEM(0xe11a2cbc, "permissions", XFA_Element::Permissions)},
- {ELEM(0xe14c801c, "connectionSet", XFA_Element::ConnectionSet)},
- {ELEM(0xe1c83a14, "submit", XFA_Element::Submit)},
- {ELEM(0xe29821cd, "range", XFA_Element::Range)},
- {ELEM(0xe38d83c7, "linearized", XFA_Element::Linearized)},
- {ELEM(0xe3aa2578, "packet", XFA_Element::Packet)},
- {ELEM(0xe3aa860e, "rootElement", XFA_Element::RootElement)},
- {ELEM(0xe3e553fa, "plaintextMetadata", XFA_Element::PlaintextMetadata)},
- {ELEM(0xe3e6e4f2, "numberSymbols", XFA_Element::NumberSymbols)},
- {ELEM(0xe3f067f6, "printHighQuality", XFA_Element::PrintHighQuality)},
- {ELEM(0xe3fd078c, "driver", XFA_Element::Driver)},
- {ELEM(0xe48b34f2, "incrementalLoad", XFA_Element::IncrementalLoad)},
- {ELEM(0xe550e7c2, "subjectDN", XFA_Element::SubjectDN)},
- {ELEM(0xe6669a78,
- "compressLogicalStructure",
- XFA_Element::CompressLogicalStructure)},
- {ELEM(0xe7a7ea02, "incrementalMerge", XFA_Element::IncrementalMerge)},
- {ELEM(0xe948530d, "radial", XFA_Element::Radial)},
- {ELEM(0xea8d6999, "variables", XFA_Element::Variables)},
- {ELEM(0xeaa142c0, "timePatterns", XFA_Element::TimePatterns)},
- {ELEM(0xeb943a71,
- "effectiveInputPolicy",
- XFA_Element::EffectiveInputPolicy)},
- {ELEM(0xef04a2bc, "nameAttr", XFA_Element::NameAttr)},
- {ELEM(0xf07222ab, "conformance", XFA_Element::Conformance)},
- {ELEM(0xf0aaaadc, "transform", XFA_Element::Transform)},
- {ELEM(0xf1433e88, "lockDocument", XFA_Element::LockDocument)},
- {ELEM(0xf54eb997, "breakAfter", XFA_Element::BreakAfter)},
- {ELEM(0xf616da28, "line", XFA_Element::Line)},
- {ELEM(0xf7055fb1, "source", XFA_Element::Source)},
- {ELEM(0xf7eebe1c, "occur", XFA_Element::Occur)},
- {ELEM(0xf8d10d97, "pickTrayByPDFSize", XFA_Element::PickTrayByPDFSize)},
- {ELEM(0xf8f19e3a, "monthNames", XFA_Element::MonthNames)},
- {ELEM(0xf984149b, "severity", XFA_Element::Severity)},
- {ELEM(0xf9bcb037, "groupParent", XFA_Element::GroupParent)},
- {ELEM(0xfbc42fff, "documentAssembly", XFA_Element::DocumentAssembly)},
- {ELEM(0xfc78159f, "numberSymbol", XFA_Element::NumberSymbol)},
- {ELEM(0xfcbd606c, "tagged", XFA_Element::Tagged)},
- {ELEM(0xff063802, "items", XFA_Element::Items)},
+#undef ELEM____
+#undef ELEM_HIDDEN____
+#define ELEM____(a, b, c) {a, XFA_Element::c},
+#define ELEM_HIDDEN____(a)
+#include "xfa/fxfa/parser/elements.inc"
+#undef ELEM____
+#undef ELEM_HIDDEN____
};
-#undef ELEM
-
struct AttributeNameInfo {
uint32_t hash; // Hashed as wide string.
XFA_Attribute attribute;
diff --git a/xfa/fxfa/parser/elements.inc b/xfa/fxfa/parser/elements.inc
new file mode 100644
index 0000000..e2ad579
--- /dev/null
+++ b/xfa/fxfa/parser/elements.inc
@@ -0,0 +1,318 @@
+// Copyright 2018 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+ELEM____(0x0023ee3u, "ps", Ps)
+ELEM____(0x0025363u, "to", To)
+ELEM____(0x002587eu, "ui", Ui)
+ELEM____(0x01c648bu, "recordSet", RecordSet)
+ELEM____(0x0171428fu, "subsetBelow", SubsetBelow)
+ELEM____(0x01a0776au, "subformSet", SubformSet)
+ELEM____(0x02340d70u, "adobeExtensionLevel", AdobeExtensionLevel)
+ELEM____(0x02c1c7f1u, "typeface", Typeface)
+ELEM____(0x05518c25u, "break", Break)
+ELEM____(0x05fff523u, "fontInfo", FontInfo)
+ELEM____(0x0653a227u, "numberPattern", NumberPattern)
+ELEM____(0x065b4a05u, "dynamicRender", DynamicRender)
+ELEM____(0x07e4362eu, "printScaling", PrintScaling)
+ELEM____(0x07fe6d3au, "checkButton", CheckButton)
+ELEM____(0x080cf58fu, "datePatterns", DatePatterns)
+ELEM____(0x0811929du, "sourceSet", SourceSet)
+ELEM____(0x09f9d612u, "amd", Amd)
+ELEM____(0x09f9efb6u, "arc", Arc)
+ELEM____(0x0a48835eu, "day", Day)
+ELEM____(0x0a6328b8u, "era", Era)
+ELEM____(0x0ae6a0a0u, "jog", Jog)
+ELEM____(0x0b1b3d22u, "log", Log)
+ELEM____(0x0b35439eu, "map", Map)
+ELEM____(0x0b355301u, "mdp", Mdp)
+ELEM____(0x0b420438u, "breakBefore", BreakBefore)
+ELEM____(0x0b6a091cu, "oid", Oid)
+ELEM____(0x0b84389fu, "pcl", Pcl)
+ELEM____(0x0b843dbau, "pdf", Pdf)
+ELEM____(0x0bb8df5du, "ref", Ref)
+ELEM____(0x0c080cd0u, "uri", Uri)
+ELEM____(0x0c56afbfu, "xdc", Xdc)
+ELEM____(0x0c56afccu, "xdp", Xdp)
+ELEM____(0x0c56b9ffu, "xfa", Xfa)
+ELEM____(0x0c56fcb7u, "xsl", Xsl)
+ELEM____(0x0c8b89d6u, "zpl", Zpl)
+ELEM____(0x0c9bae94u, "cache", Cache)
+ELEM____(0x0cb016beu, "margin", Margin)
+ELEM____(0x0e1378feu, "keyUsage", KeyUsage)
+ELEM____(0x0fe3596au, "exclude", Exclude)
+ELEM____(0x10395ac7u, "choiceList", ChoiceList)
+ELEM____(0x1059ec18u, "level", Level)
+ELEM____(0x10874804u, "labelPrinter", LabelPrinter)
+ELEM____(0x10c40e03u, "calendarSymbols", CalendarSymbols)
+ELEM____(0x10f1ea24u, "para", Para)
+ELEM____(0x10f1ea37u, "part", Part)
+ELEM____(0x1140975bu, "pdfa", Pdfa)
+ELEM____(0x1154efe6u, "filter", Filter)
+ELEM____(0x13f41de1u, "present", Present)
+ELEM____(0x1827e6eau, "pagination", Pagination)
+ELEM____(0x18463707u, "encoding", Encoding)
+ELEM____(0x185e41e2u, "event", Event)
+ELEM____(0x1adb142du, "whitespace", Whitespace)
+ELEM____(0x1f3f64c3u, "defaultUi", DefaultUi)
+ELEM____(0x204e87cbu, "dataModel", DataModel)
+ELEM____(0x2057b350u, "barcode", Barcode)
+ELEM____(0x20596badu, "timePattern", TimePattern)
+ELEM____(0x210b74d3u, "batchOutput", BatchOutput)
+ELEM____(0x212ff0e2u, "enforce", Enforce)
+ELEM____(0x21d351b4u, "currencySymbols", CurrencySymbols)
+ELEM____(0x21db83c5u, "addSilentPrint", AddSilentPrint)
+ELEM____(0x22266258u, "rename", Rename)
+ELEM____(0x226ca8f1u, "operation", Operation)
+ELEM____(0x23e27b84u, "typefaces", Typefaces)
+ELEM____(0x23f4aa75u, "subjectDNs", SubjectDNs)
+ELEM____(0x240d5e8eu, "issuers", Issuers)
+ELEM_HIDDEN____(SignaturePseudoModel)
+ELEM____(0x24a52f8au, "wsdlConnection", WsdlConnection)
+ELEM____(0x254ebd07u, "debug", Debug)
+ELEM____(0x2655c66au, "delta", Delta)
+ELEM____(0x26c0daecu, "eraNames", EraNames)
+ELEM____(0x273ab03bu, "modifyAnnots", ModifyAnnots)
+ELEM____(0x27875bb4u, "startNode", StartNode)
+ELEM____(0x285d0dbcu, "button", Button)
+ELEM____(0x28dee6e9u, "format", Format)
+ELEM____(0x2a23349eu, "border", Border)
+ELEM____(0x2ae67f19u, "area", Area)
+ELEM____(0x2c3c4c67u, "hyphenation", Hyphenation)
+ELEM____(0x2d08af85u, "text", Text)
+ELEM____(0x2d71b00fu, "time", Time)
+ELEM____(0x2f16a382u, "type", Type)
+ELEM____(0x2fe057e9u, "overprint", Overprint)
+ELEM____(0x302aee16u, "certificates", Certificates)
+ELEM____(0x30b227dfu, "encryptionMethods", EncryptionMethods)
+ELEM____(0x32b900d1u, "setProperty", SetProperty)
+ELEM____(0x337d9e45u, "printerName", PrinterName)
+ELEM____(0x33edda4bu, "startPage", StartPage)
+ELEM____(0x381943e4u, "pageOffset", PageOffset)
+ELEM____(0x382106cdu, "dateTime", DateTime)
+ELEM____(0x386e7421u, "comb", Comb)
+ELEM____(0x390acd9eu, "pattern", Pattern)
+ELEM____(0x3942163eu, "ifEmpty", IfEmpty)
+ELEM____(0x39944a7bu, "suppressBanner", SuppressBanner)
+ELEM____(0x3b3c3dcau, "outputBin", OutputBin)
+ELEM____(0x3b8a4024u, "field", Field)
+ELEM____(0x3c15352fu, "agent", Agent)
+ELEM____(0x3d7e8668u, "outputXSL", OutputXSL)
+ELEM____(0x3e1c91c5u, "adjustData", AdjustData)
+ELEM____(0x3e7a9408u, "autoSave", AutoSave)
+ELEM____(0x3ecead94u, "contentArea", ContentArea)
+ELEM_HIDDEN____(EventPseudoModel)
+ELEM____(0x3fadaec0u, "wsdlAddress", WsdlAddress)
+ELEM____(0x40623b5bu, "solid", Solid)
+ELEM____(0x41f0bd76u, "dateTimeSymbols", DateTimeSymbols)
+ELEM____(0x444e7523u, "encryptionLevel", EncryptionLevel)
+ELEM____(0x4523af55u, "edge", Edge)
+ELEM____(0x45d5e3c1u, "stipple", Stipple)
+ELEM____(0x475e4e87u, "attributes", Attributes)
+ELEM____(0x487a8c87u, "versionControl", VersionControl)
+ELEM____(0x48e5248cu, "meridiem", Meridiem)
+ELEM____(0x48f36719u, "exclGroup", ExclGroup)
+ELEM____(0x4977356bu, "toolTip", ToolTip)
+ELEM____(0x499afeccu, "compress", Compress)
+ELEM____(0x4a0c4948u, "reason", Reason)
+ELEM____(0x4bdcce13u, "execute", Execute)
+ELEM____(0x4c56b216u, "contentCopy", ContentCopy)
+ELEM____(0x4cc176d3u, "dateTimeEdit", DateTimeEdit)
+ELEM____(0x4e1e39b6u, "config", Config)
+ELEM____(0x4e2d6083u, "image", Image)
+ELEM____(0x4e814150u, "#xHTML", SharpxHTML)
+ELEM____(0x4f2388c1u, "numberOfCopies", NumberOfCopies)
+ELEM____(0x4f512e30u, "behaviorOverride", BehaviorOverride)
+ELEM____(0x4fdc3454u, "timeStamp", TimeStamp)
+ELEM____(0x51d90546u, "month", Month)
+ELEM____(0x523437e4u, "viewerPreferences", ViewerPreferences)
+ELEM____(0x53abc1c6u, "scriptModel", ScriptModel)
+ELEM____(0x54034c2fu, "decimal", Decimal)
+ELEM____(0x54202c9eu, "subform", Subform)
+ELEM____(0x542c7300u, "select", Select)
+ELEM____(0x5436d198u, "window", Window)
+ELEM____(0x5473b6dcu, "localeSet", LocaleSet)
+ELEM____(0x56ae179eu, "handler", Handler)
+ELEM_HIDDEN____(HostPseudoModel)
+ELEM____(0x570ce835u, "presence", Presence)
+ELEM____(0x5779d65fu, "record", Record)
+ELEM____(0x59c8f27du, "embed", Embed)
+ELEM____(0x5a50e9e6u, "version", Version)
+ELEM____(0x5b8383dfu, "command", Command)
+ELEM____(0x5c43c6c3u, "copies", Copies)
+ELEM____(0x5e0c2c49u, "staple", Staple)
+ELEM____(0x5e5083ddu, "submitFormat", SubmitFormat)
+ELEM____(0x5e8c5d20u, "boolean", Boolean)
+ELEM____(0x60490a85u, "message", Message)
+ELEM____(0x60d4c8b1u, "output", Output)
+ELEM____(0x61810081u, "psMap", PsMap)
+ELEM____(0x62bd904bu, "excludeNS", ExcludeNS)
+ELEM____(0x669d4f77u, "assist", Assist)
+ELEM____(0x67334a1cu, "picture", Picture)
+ELEM____(0x67fe7334u, "traversal", Traversal)
+ELEM____(0x6894589cu, "silentPrint", SilentPrint)
+ELEM____(0x68a16bbdu, "webClient", WebClient)
+ELEM_HIDDEN____(LayoutPseudoModel)
+ELEM____(0x6a4bc084u, "producer", Producer)
+ELEM____(0x6a9e04c9u, "corner", Corner)
+ELEM____(0x6ccd7274u, "msgId", MsgId)
+ELEM____(0x6e67921fu, "color", Color)
+ELEM____(0x6ec217a5u, "keep", Keep)
+ELEM____(0x6eef1116u, "query", Query)
+ELEM____(0x7033bfd5u, "insert", Insert)
+ELEM____(0x704af389u, "imageEdit", ImageEdit)
+ELEM____(0x7233018au, "validate", Validate)
+ELEM____(0x72ba47b4u, "digestMethods", DigestMethods)
+ELEM____(0x72f2aa7au, "numberPatterns", NumberPatterns)
+ELEM____(0x74caed29u, "pageSet", PageSet)
+ELEM____(0x7568e6aeu, "integer", Integer)
+ELEM____(0x76182db9u, "soapAddress", SoapAddress)
+ELEM____(0x773146c5u, "equate", Equate)
+ELEM____(0x77d449ddu, "formFieldFilling", FormFieldFilling)
+ELEM____(0x7889d68au, "pageRange", PageRange)
+ELEM____(0x7baca2e3u, "update", Update)
+ELEM____(0x7ce89001u, "connectString", ConnectString)
+ELEM____(0x7d9fd7c5u, "mode", Mode)
+ELEM____(0x7e7e845eu, "layout", Layout)
+ELEM____(0x7e845c34u, "#xml", Sharpxml)
+ELEM____(0x7fb341dfu, "xsdConnection", XsdConnection)
+ELEM____(0x7ffb51ccu, "traverse", Traverse)
+ELEM____(0x80203b5au, "encodings", Encodings)
+ELEM____(0x803550fcu, "template", Template)
+ELEM____(0x803d5bbcu, "acrobat", Acrobat)
+ELEM____(0x821d6569u, "validationMessaging", ValidationMessaging)
+ELEM____(0x830e688fu, "signing", Signing)
+ELEM_HIDDEN____(DataWindow)
+ELEM____(0x83dab9f5u, "script", Script)
+ELEM____(0x8411ebcdu, "addViewerPreferences", AddViewerPreferences)
+ELEM____(0x8777642eu, "alwaysEmbed", AlwaysEmbed)
+ELEM____(0x877a6b39u, "passwordEdit", PasswordEdit)
+ELEM____(0x87e84c99u, "numericEdit", NumericEdit)
+ELEM____(0x8852cdecu, "encryptionMethod", EncryptionMethod)
+ELEM____(0x891f4606u, "change", Change)
+ELEM____(0x89939f36u, "pageArea", PageArea)
+ELEM____(0x8a9d6247u, "submitUrl", SubmitUrl)
+ELEM____(0x8ad8b90fu, "oids", Oids)
+ELEM____(0x8b036f32u, "signature", Signature)
+ELEM____(0x8b128efbu, "ADBE_JSConsole", ADBE_JSConsole)
+ELEM____(0x8bcfe96eu, "caption", Caption)
+ELEM____(0x8e1c2921u, "relevant", Relevant)
+ELEM____(0x8e3f0a4bu, "flipLabel", FlipLabel)
+ELEM____(0x900280b7u, "exData", ExData)
+ELEM____(0x91e80352u, "dayNames", DayNames)
+ELEM____(0x93113b11u, "soapAction", SoapAction)
+ELEM____(0x938b09f6u, "defaultTypeface", DefaultTypeface)
+ELEM____(0x95b37897u, "manifest", Manifest)
+ELEM____(0x97b76b54u, "overflow", Overflow)
+ELEM____(0x9a57861bu, "linear", Linear)
+ELEM____(0x9ad5a821u, "currencySymbol", CurrencySymbol)
+ELEM____(0x9c6471b3u, "delete", Delete)
+ELEM____(0x9deea61du, "deltas", Deltas)
+ELEM____(0x9e67de21u, "digestMethod", DigestMethod)
+ELEM____(0x9f3e9510u, "instanceManager", InstanceManager)
+ELEM____(0xa0799892u, "equateRange", EquateRange)
+ELEM____(0xa084a381u, "medium", Medium)
+ELEM____(0xa1211b8bu, "textEdit", TextEdit)
+ELEM____(0xa17008f0u, "templateCache", TemplateCache)
+ELEM____(0xa4f7b88fu, "compressObjectStream", CompressObjectStream)
+ELEM____(0xa65f5d17u, "dataValue", DataValue)
+ELEM____(0xa6caaa89u, "accessibleContent", AccessibleContent)
+ELEM_HIDDEN____(TreeList)
+ELEM____(0xa94cc00bu, "includeXDPContent", IncludeXDPContent)
+ELEM____(0xa9b081a1u, "xmlConnection", XmlConnection)
+ELEM____(0xab2a3b74u, "validateApprovalSignatures", ValidateApprovalSignatures)
+ELEM____(0xab8c5a2bu, "signData", SignData)
+ELEM____(0xabaa2cebu, "packets", Packets)
+ELEM____(0xadba359cu, "datePattern", DatePattern)
+ELEM____(0xae222b2bu, "duplexOption", DuplexOption)
+ELEM____(0xb012effbu, "base", Base)
+ELEM____(0xb0e5485du, "bind", Bind)
+ELEM____(0xb45d61b2u, "compression", Compression)
+ELEM____(0xb563f0ffu, "user", User)
+ELEM____(0xb5848ad5u, "rectangle", Rectangle)
+ELEM____(0xb6dacb72u, "effectiveOutputPolicy", EffectiveOutputPolicy)
+ELEM____(0xb7d7654du, "ADBE_JSDebugger", ADBE_JSDebugger)
+ELEM____(0xbab37f73u, "acrobat7", Acrobat7)
+ELEM____(0xbc70081eu, "interactive", Interactive)
+ELEM____(0xbc8fa350u, "locale", Locale)
+ELEM____(0xbcd44940u, "currentPage", CurrentPage)
+ELEM____(0xbde9abdau, "data", Data)
+ELEM____(0xbde9abdeu, "date", Date)
+ELEM____(0xbe52dfbfu, "desc", Desc)
+ELEM____(0xbf4b6405u, "encrypt", Encrypt)
+ELEM____(0xbfa87cceu, "draw", Draw)
+ELEM____(0xc181ff4bu, "encryption", Encryption)
+ELEM____(0xc1970f40u, "meridiemNames", MeridiemNames)
+ELEM____(0xc5ad9f5eu, "messaging", Messaging)
+ELEM____(0xc69549f4u, "speak", Speak)
+ELEM____(0xc7743dc7u, "dataGroup", DataGroup)
+ELEM____(0xc7eb20e9u, "common", Common)
+ELEM____(0xc85d4528u, "#text", Sharptext)
+ELEM____(0xc861556au, "paginationOverride", PaginationOverride)
+ELEM____(0xc903dabbu, "reasons", Reasons)
+ELEM____(0xc9a8127fu, "signatureProperties", SignatureProperties)
+ELEM____(0xca010c2du, "threshold", Threshold)
+ELEM____(0xcb4c5e96u, "appearanceFilter", AppearanceFilter)
+ELEM____(0xcc92aba7u, "fill", Fill)
+ELEM____(0xcd308b77u, "font", Font)
+ELEM____(0xcd309ff4u, "form", Form)
+ELEM____(0xcebcca2du, "mediumInfo", MediumInfo)
+ELEM____(0xcfe0d643u, "certificate", Certificate)
+ELEM____(0xd012c033u, "password", Password)
+ELEM____(0xd01604bdu, "runScripts", RunScripts)
+ELEM____(0xd1227e6fu, "trace", Trace)
+ELEM____(0xd1532876u, "float", Float)
+ELEM____(0xd17a6c30u, "renderPolicy", RenderPolicy)
+ELEM_HIDDEN____(LogPseudoModel)
+ELEM____(0xd58aa962u, "destination", Destination)
+ELEM____(0xd6e27f1du, "value", Value)
+ELEM____(0xd7a14462u, "bookend", Bookend)
+ELEM____(0xd8c31254u, "exObject", ExObject)
+ELEM____(0xda6a8590u, "openAction", OpenAction)
+ELEM____(0xdab4fb7du, "neverEmbed", NeverEmbed)
+ELEM____(0xdb98475fu, "bindItems", BindItems)
+ELEM____(0xdbfbe02eu, "calculate", Calculate)
+ELEM____(0xdd7676edu, "print", Print)
+ELEM____(0xdde273d7u, "extras", Extras)
+ELEM____(0xde146b34u, "proto", Proto)
+ELEM____(0xdf059321u, "dSigData", DSigData)
+ELEM____(0xdfccf030u, "creator", Creator)
+ELEM____(0xdff78c6au, "connect", Connect)
+ELEM____(0xe11a2cbcu, "permissions", Permissions)
+ELEM____(0xe14c801cu, "connectionSet", ConnectionSet)
+ELEM____(0xe1c83a14u, "submit", Submit)
+ELEM____(0xe29821cdu, "range", Range)
+ELEM____(0xe38d83c7u, "linearized", Linearized)
+ELEM____(0xe3aa2578u, "packet", Packet)
+ELEM____(0xe3aa860eu, "rootElement", RootElement)
+ELEM____(0xe3e553fau, "plaintextMetadata", PlaintextMetadata)
+ELEM____(0xe3e6e4f2u, "numberSymbols", NumberSymbols)
+ELEM____(0xe3f067f6u, "printHighQuality", PrintHighQuality)
+ELEM____(0xe3fd078cu, "driver", Driver)
+ELEM____(0xe48b34f2u, "incrementalLoad", IncrementalLoad)
+ELEM____(0xe550e7c2u, "subjectDN", SubjectDN)
+ELEM____(0xe6669a78u, "compressLogicalStructure", CompressLogicalStructure)
+ELEM____(0xe7a7ea02u, "incrementalMerge", IncrementalMerge)
+ELEM____(0xe948530du, "radial", Radial)
+ELEM____(0xea8d6999u, "variables", Variables)
+ELEM____(0xeaa142c0u, "timePatterns", TimePatterns)
+ELEM____(0xeb943a71u, "effectiveInputPolicy", EffectiveInputPolicy)
+ELEM____(0xef04a2bcu, "nameAttr", NameAttr)
+ELEM____(0xf07222abu, "conformance", Conformance)
+ELEM____(0xf0aaaadcu, "transform", Transform)
+ELEM____(0xf1433e88u, "lockDocument", LockDocument)
+ELEM____(0xf54eb997u, "breakAfter", BreakAfter)
+ELEM____(0xf616da28u, "line", Line)
+ELEM_HIDDEN____(List)
+ELEM____(0xf7055fb1u, "source", Source)
+ELEM____(0xf7eebe1cu, "occur", Occur)
+ELEM____(0xf8d10d97u, "pickTrayByPDFSize", PickTrayByPDFSize)
+ELEM____(0xf8f19e3au, "monthNames", MonthNames)
+ELEM____(0xf984149bu, "severity", Severity)
+ELEM____(0xf9bcb037u, "groupParent", GroupParent)
+ELEM____(0xfbc42fffu, "documentAssembly", DocumentAssembly)
+ELEM____(0xfc78159fu, "numberSymbol", NumberSymbol)
+ELEM____(0xfcbd606cu, "tagged", Tagged)
+ELEM____(0xff063802u, "items", Items)