summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_node_statics.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-27 18:10:47 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-27 18:10:47 +0000
commitf473672fd6305fe97c749bde3b92e3c9c90e88d0 (patch)
treefe1ec0af4f66a801c7a08fd762e61b065b89d4ec /xfa/fxfa/parser/cxfa_node_statics.cpp
parent3636a854af15219fd679ed54207abcdad3283b9b (diff)
downloadpdfium-f473672fd6305fe97c749bde3b92e3c9c90e88d0.tar.xz
Generate XFA node classes
This CL adds concrete classes for each of the XFA Node types. Change-Id: Ieac8e2fcd5d13c61daa27fc63e3d80abb7aa7a29 Reviewed-on: https://pdfium-review.googlesource.com/18271 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_node_statics.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_node_statics.cpp1606
1 files changed, 1606 insertions, 0 deletions
diff --git a/xfa/fxfa/parser/cxfa_node_statics.cpp b/xfa/fxfa/parser/cxfa_node_statics.cpp
new file mode 100644
index 0000000000..d0e65c8f62
--- /dev/null
+++ b/xfa/fxfa/parser/cxfa_node_statics.cpp
@@ -0,0 +1,1606 @@
+// Copyright 2017 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include <memory>
+
+#include "third_party/base/ptr_util.h"
+#include "xfa/fxfa/parser/cxfa_accessiblecontent.h"
+#include "xfa/fxfa/parser/cxfa_acrobat.h"
+#include "xfa/fxfa/parser/cxfa_acrobat7.h"
+#include "xfa/fxfa/parser/cxfa_adbe_jsconsole.h"
+#include "xfa/fxfa/parser/cxfa_adbe_jsdebugger.h"
+#include "xfa/fxfa/parser/cxfa_addsilentprint.h"
+#include "xfa/fxfa/parser/cxfa_addviewerpreferences.h"
+#include "xfa/fxfa/parser/cxfa_adjustdata.h"
+#include "xfa/fxfa/parser/cxfa_adobeextensionlevel.h"
+#include "xfa/fxfa/parser/cxfa_agent.h"
+#include "xfa/fxfa/parser/cxfa_alwaysembed.h"
+#include "xfa/fxfa/parser/cxfa_amd.h"
+#include "xfa/fxfa/parser/cxfa_appearancefilter.h"
+#include "xfa/fxfa/parser/cxfa_arc.h"
+#include "xfa/fxfa/parser/cxfa_area.h"
+#include "xfa/fxfa/parser/cxfa_assist.h"
+#include "xfa/fxfa/parser/cxfa_attributes.h"
+#include "xfa/fxfa/parser/cxfa_autosave.h"
+#include "xfa/fxfa/parser/cxfa_barcode.h"
+#include "xfa/fxfa/parser/cxfa_base.h"
+#include "xfa/fxfa/parser/cxfa_batchoutput.h"
+#include "xfa/fxfa/parser/cxfa_behavioroverride.h"
+#include "xfa/fxfa/parser/cxfa_bind.h"
+#include "xfa/fxfa/parser/cxfa_binditems.h"
+#include "xfa/fxfa/parser/cxfa_bookend.h"
+#include "xfa/fxfa/parser/cxfa_boolean.h"
+#include "xfa/fxfa/parser/cxfa_border.h"
+#include "xfa/fxfa/parser/cxfa_break.h"
+#include "xfa/fxfa/parser/cxfa_breakafter.h"
+#include "xfa/fxfa/parser/cxfa_breakbefore.h"
+#include "xfa/fxfa/parser/cxfa_button.h"
+#include "xfa/fxfa/parser/cxfa_cache.h"
+#include "xfa/fxfa/parser/cxfa_calculate.h"
+#include "xfa/fxfa/parser/cxfa_calendarsymbols.h"
+#include "xfa/fxfa/parser/cxfa_caption.h"
+#include "xfa/fxfa/parser/cxfa_certificate.h"
+#include "xfa/fxfa/parser/cxfa_certificates.h"
+#include "xfa/fxfa/parser/cxfa_change.h"
+#include "xfa/fxfa/parser/cxfa_checkbutton.h"
+#include "xfa/fxfa/parser/cxfa_choicelist.h"
+#include "xfa/fxfa/parser/cxfa_color.h"
+#include "xfa/fxfa/parser/cxfa_comb.h"
+#include "xfa/fxfa/parser/cxfa_command.h"
+#include "xfa/fxfa/parser/cxfa_common.h"
+#include "xfa/fxfa/parser/cxfa_compress.h"
+#include "xfa/fxfa/parser/cxfa_compression.h"
+#include "xfa/fxfa/parser/cxfa_compresslogicalstructure.h"
+#include "xfa/fxfa/parser/cxfa_compressobjectstream.h"
+#include "xfa/fxfa/parser/cxfa_config.h"
+#include "xfa/fxfa/parser/cxfa_conformance.h"
+#include "xfa/fxfa/parser/cxfa_connect.h"
+#include "xfa/fxfa/parser/cxfa_connectionset.h"
+#include "xfa/fxfa/parser/cxfa_connectstring.h"
+#include "xfa/fxfa/parser/cxfa_contentarea.h"
+#include "xfa/fxfa/parser/cxfa_contentcopy.h"
+#include "xfa/fxfa/parser/cxfa_copies.h"
+#include "xfa/fxfa/parser/cxfa_corner.h"
+#include "xfa/fxfa/parser/cxfa_creator.h"
+#include "xfa/fxfa/parser/cxfa_currencysymbol.h"
+#include "xfa/fxfa/parser/cxfa_currencysymbols.h"
+#include "xfa/fxfa/parser/cxfa_currentpage.h"
+#include "xfa/fxfa/parser/cxfa_data.h"
+#include "xfa/fxfa/parser/cxfa_datagroup.h"
+#include "xfa/fxfa/parser/cxfa_datamodel.h"
+#include "xfa/fxfa/parser/cxfa_datavalue.h"
+#include "xfa/fxfa/parser/cxfa_datawindow.h"
+#include "xfa/fxfa/parser/cxfa_date.h"
+#include "xfa/fxfa/parser/cxfa_datepattern.h"
+#include "xfa/fxfa/parser/cxfa_datepatterns.h"
+#include "xfa/fxfa/parser/cxfa_datetime.h"
+#include "xfa/fxfa/parser/cxfa_datetimeedit.h"
+#include "xfa/fxfa/parser/cxfa_datetimesymbols.h"
+#include "xfa/fxfa/parser/cxfa_day.h"
+#include "xfa/fxfa/parser/cxfa_daynames.h"
+#include "xfa/fxfa/parser/cxfa_debug.h"
+#include "xfa/fxfa/parser/cxfa_decimal.h"
+#include "xfa/fxfa/parser/cxfa_defaulttypeface.h"
+#include "xfa/fxfa/parser/cxfa_defaultui.h"
+#include "xfa/fxfa/parser/cxfa_delete.h"
+#include "xfa/fxfa/parser/cxfa_delta.h"
+#include "xfa/fxfa/parser/cxfa_deltas.h"
+#include "xfa/fxfa/parser/cxfa_desc.h"
+#include "xfa/fxfa/parser/cxfa_destination.h"
+#include "xfa/fxfa/parser/cxfa_digestmethod.h"
+#include "xfa/fxfa/parser/cxfa_digestmethods.h"
+#include "xfa/fxfa/parser/cxfa_documentassembly.h"
+#include "xfa/fxfa/parser/cxfa_draw.h"
+#include "xfa/fxfa/parser/cxfa_driver.h"
+#include "xfa/fxfa/parser/cxfa_dsigdata.h"
+#include "xfa/fxfa/parser/cxfa_duplexoption.h"
+#include "xfa/fxfa/parser/cxfa_dynamicrender.h"
+#include "xfa/fxfa/parser/cxfa_edge.h"
+#include "xfa/fxfa/parser/cxfa_effectiveinputpolicy.h"
+#include "xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h"
+#include "xfa/fxfa/parser/cxfa_embed.h"
+#include "xfa/fxfa/parser/cxfa_encoding.h"
+#include "xfa/fxfa/parser/cxfa_encodings.h"
+#include "xfa/fxfa/parser/cxfa_encrypt.h"
+#include "xfa/fxfa/parser/cxfa_encryption.h"
+#include "xfa/fxfa/parser/cxfa_encryptionlevel.h"
+#include "xfa/fxfa/parser/cxfa_encryptionmethod.h"
+#include "xfa/fxfa/parser/cxfa_encryptionmethods.h"
+#include "xfa/fxfa/parser/cxfa_enforce.h"
+#include "xfa/fxfa/parser/cxfa_equate.h"
+#include "xfa/fxfa/parser/cxfa_equaterange.h"
+#include "xfa/fxfa/parser/cxfa_era.h"
+#include "xfa/fxfa/parser/cxfa_eranames.h"
+#include "xfa/fxfa/parser/cxfa_event.h"
+#include "xfa/fxfa/parser/cxfa_eventpseudomodel.h"
+#include "xfa/fxfa/parser/cxfa_exclgroup.h"
+#include "xfa/fxfa/parser/cxfa_exclude.h"
+#include "xfa/fxfa/parser/cxfa_excludens.h"
+#include "xfa/fxfa/parser/cxfa_exdata.h"
+#include "xfa/fxfa/parser/cxfa_execute.h"
+#include "xfa/fxfa/parser/cxfa_exobject.h"
+#include "xfa/fxfa/parser/cxfa_extras.h"
+#include "xfa/fxfa/parser/cxfa_field.h"
+#include "xfa/fxfa/parser/cxfa_fill.h"
+#include "xfa/fxfa/parser/cxfa_filter.h"
+#include "xfa/fxfa/parser/cxfa_fliplabel.h"
+#include "xfa/fxfa/parser/cxfa_float.h"
+#include "xfa/fxfa/parser/cxfa_font.h"
+#include "xfa/fxfa/parser/cxfa_fontinfo.h"
+#include "xfa/fxfa/parser/cxfa_form.h"
+#include "xfa/fxfa/parser/cxfa_format.h"
+#include "xfa/fxfa/parser/cxfa_formfieldfilling.h"
+#include "xfa/fxfa/parser/cxfa_groupparent.h"
+#include "xfa/fxfa/parser/cxfa_handler.h"
+#include "xfa/fxfa/parser/cxfa_hostpseudomodel.h"
+#include "xfa/fxfa/parser/cxfa_hyphenation.h"
+#include "xfa/fxfa/parser/cxfa_ifempty.h"
+#include "xfa/fxfa/parser/cxfa_image.h"
+#include "xfa/fxfa/parser/cxfa_imageedit.h"
+#include "xfa/fxfa/parser/cxfa_includexdpcontent.h"
+#include "xfa/fxfa/parser/cxfa_incrementalload.h"
+#include "xfa/fxfa/parser/cxfa_incrementalmerge.h"
+#include "xfa/fxfa/parser/cxfa_insert.h"
+#include "xfa/fxfa/parser/cxfa_instancemanager.h"
+#include "xfa/fxfa/parser/cxfa_integer.h"
+#include "xfa/fxfa/parser/cxfa_interactive.h"
+#include "xfa/fxfa/parser/cxfa_issuers.h"
+#include "xfa/fxfa/parser/cxfa_items.h"
+#include "xfa/fxfa/parser/cxfa_jog.h"
+#include "xfa/fxfa/parser/cxfa_keep.h"
+#include "xfa/fxfa/parser/cxfa_keyusage.h"
+#include "xfa/fxfa/parser/cxfa_labelprinter.h"
+#include "xfa/fxfa/parser/cxfa_layout.h"
+#include "xfa/fxfa/parser/cxfa_layoutpseudomodel.h"
+#include "xfa/fxfa/parser/cxfa_level.h"
+#include "xfa/fxfa/parser/cxfa_line.h"
+#include "xfa/fxfa/parser/cxfa_linear.h"
+#include "xfa/fxfa/parser/cxfa_linearized.h"
+#include "xfa/fxfa/parser/cxfa_list.h"
+#include "xfa/fxfa/parser/cxfa_locale.h"
+#include "xfa/fxfa/parser/cxfa_localeset.h"
+#include "xfa/fxfa/parser/cxfa_lockdocument.h"
+#include "xfa/fxfa/parser/cxfa_log.h"
+#include "xfa/fxfa/parser/cxfa_logpseudomodel.h"
+#include "xfa/fxfa/parser/cxfa_manifest.h"
+#include "xfa/fxfa/parser/cxfa_map.h"
+#include "xfa/fxfa/parser/cxfa_margin.h"
+#include "xfa/fxfa/parser/cxfa_mdp.h"
+#include "xfa/fxfa/parser/cxfa_medium.h"
+#include "xfa/fxfa/parser/cxfa_mediuminfo.h"
+#include "xfa/fxfa/parser/cxfa_meridiem.h"
+#include "xfa/fxfa/parser/cxfa_meridiemnames.h"
+#include "xfa/fxfa/parser/cxfa_message.h"
+#include "xfa/fxfa/parser/cxfa_messaging.h"
+#include "xfa/fxfa/parser/cxfa_mode.h"
+#include "xfa/fxfa/parser/cxfa_modifyannots.h"
+#include "xfa/fxfa/parser/cxfa_month.h"
+#include "xfa/fxfa/parser/cxfa_monthnames.h"
+#include "xfa/fxfa/parser/cxfa_msgid.h"
+#include "xfa/fxfa/parser/cxfa_nameattr.h"
+#include "xfa/fxfa/parser/cxfa_neverembed.h"
+#include "xfa/fxfa/parser/cxfa_node.h"
+#include "xfa/fxfa/parser/cxfa_numberofcopies.h"
+#include "xfa/fxfa/parser/cxfa_numberpattern.h"
+#include "xfa/fxfa/parser/cxfa_numberpatterns.h"
+#include "xfa/fxfa/parser/cxfa_numbersymbol.h"
+#include "xfa/fxfa/parser/cxfa_numbersymbols.h"
+#include "xfa/fxfa/parser/cxfa_numericedit.h"
+#include "xfa/fxfa/parser/cxfa_occur.h"
+#include "xfa/fxfa/parser/cxfa_oid.h"
+#include "xfa/fxfa/parser/cxfa_oids.h"
+#include "xfa/fxfa/parser/cxfa_openaction.h"
+#include "xfa/fxfa/parser/cxfa_operation.h"
+#include "xfa/fxfa/parser/cxfa_output.h"
+#include "xfa/fxfa/parser/cxfa_outputbin.h"
+#include "xfa/fxfa/parser/cxfa_outputxsl.h"
+#include "xfa/fxfa/parser/cxfa_overflow.h"
+#include "xfa/fxfa/parser/cxfa_overprint.h"
+#include "xfa/fxfa/parser/cxfa_packet.h"
+#include "xfa/fxfa/parser/cxfa_packets.h"
+#include "xfa/fxfa/parser/cxfa_pagearea.h"
+#include "xfa/fxfa/parser/cxfa_pageoffset.h"
+#include "xfa/fxfa/parser/cxfa_pagerange.h"
+#include "xfa/fxfa/parser/cxfa_pageset.h"
+#include "xfa/fxfa/parser/cxfa_pagination.h"
+#include "xfa/fxfa/parser/cxfa_paginationoverride.h"
+#include "xfa/fxfa/parser/cxfa_para.h"
+#include "xfa/fxfa/parser/cxfa_part.h"
+#include "xfa/fxfa/parser/cxfa_password.h"
+#include "xfa/fxfa/parser/cxfa_passwordedit.h"
+#include "xfa/fxfa/parser/cxfa_pattern.h"
+#include "xfa/fxfa/parser/cxfa_pcl.h"
+#include "xfa/fxfa/parser/cxfa_pdf.h"
+#include "xfa/fxfa/parser/cxfa_pdfa.h"
+#include "xfa/fxfa/parser/cxfa_permissions.h"
+#include "xfa/fxfa/parser/cxfa_picktraybypdfsize.h"
+#include "xfa/fxfa/parser/cxfa_picture.h"
+#include "xfa/fxfa/parser/cxfa_plaintextmetadata.h"
+#include "xfa/fxfa/parser/cxfa_presence.h"
+#include "xfa/fxfa/parser/cxfa_present.h"
+#include "xfa/fxfa/parser/cxfa_print.h"
+#include "xfa/fxfa/parser/cxfa_printername.h"
+#include "xfa/fxfa/parser/cxfa_printhighquality.h"
+#include "xfa/fxfa/parser/cxfa_printscaling.h"
+#include "xfa/fxfa/parser/cxfa_producer.h"
+#include "xfa/fxfa/parser/cxfa_proto.h"
+#include "xfa/fxfa/parser/cxfa_ps.h"
+#include "xfa/fxfa/parser/cxfa_psmap.h"
+#include "xfa/fxfa/parser/cxfa_query.h"
+#include "xfa/fxfa/parser/cxfa_radial.h"
+#include "xfa/fxfa/parser/cxfa_range.h"
+#include "xfa/fxfa/parser/cxfa_reason.h"
+#include "xfa/fxfa/parser/cxfa_reasons.h"
+#include "xfa/fxfa/parser/cxfa_record.h"
+#include "xfa/fxfa/parser/cxfa_recordset.h"
+#include "xfa/fxfa/parser/cxfa_rectangle.h"
+#include "xfa/fxfa/parser/cxfa_ref.h"
+#include "xfa/fxfa/parser/cxfa_relevant.h"
+#include "xfa/fxfa/parser/cxfa_rename.h"
+#include "xfa/fxfa/parser/cxfa_renderpolicy.h"
+#include "xfa/fxfa/parser/cxfa_rootelement.h"
+#include "xfa/fxfa/parser/cxfa_runscripts.h"
+#include "xfa/fxfa/parser/cxfa_script.h"
+#include "xfa/fxfa/parser/cxfa_scriptmodel.h"
+#include "xfa/fxfa/parser/cxfa_select.h"
+#include "xfa/fxfa/parser/cxfa_setproperty.h"
+#include "xfa/fxfa/parser/cxfa_severity.h"
+#include "xfa/fxfa/parser/cxfa_sharptext.h"
+#include "xfa/fxfa/parser/cxfa_sharpxhtml.h"
+#include "xfa/fxfa/parser/cxfa_sharpxml.h"
+#include "xfa/fxfa/parser/cxfa_signature.h"
+#include "xfa/fxfa/parser/cxfa_signatureproperties.h"
+#include "xfa/fxfa/parser/cxfa_signaturepseudomodel.h"
+#include "xfa/fxfa/parser/cxfa_signdata.h"
+#include "xfa/fxfa/parser/cxfa_signing.h"
+#include "xfa/fxfa/parser/cxfa_silentprint.h"
+#include "xfa/fxfa/parser/cxfa_soapaction.h"
+#include "xfa/fxfa/parser/cxfa_soapaddress.h"
+#include "xfa/fxfa/parser/cxfa_solid.h"
+#include "xfa/fxfa/parser/cxfa_source.h"
+#include "xfa/fxfa/parser/cxfa_sourceset.h"
+#include "xfa/fxfa/parser/cxfa_speak.h"
+#include "xfa/fxfa/parser/cxfa_staple.h"
+#include "xfa/fxfa/parser/cxfa_startnode.h"
+#include "xfa/fxfa/parser/cxfa_startpage.h"
+#include "xfa/fxfa/parser/cxfa_stipple.h"
+#include "xfa/fxfa/parser/cxfa_subform.h"
+#include "xfa/fxfa/parser/cxfa_subformset.h"
+#include "xfa/fxfa/parser/cxfa_subjectdn.h"
+#include "xfa/fxfa/parser/cxfa_subjectdns.h"
+#include "xfa/fxfa/parser/cxfa_submit.h"
+#include "xfa/fxfa/parser/cxfa_submitformat.h"
+#include "xfa/fxfa/parser/cxfa_submiturl.h"
+#include "xfa/fxfa/parser/cxfa_subsetbelow.h"
+#include "xfa/fxfa/parser/cxfa_suppressbanner.h"
+#include "xfa/fxfa/parser/cxfa_tagged.h"
+#include "xfa/fxfa/parser/cxfa_template.h"
+#include "xfa/fxfa/parser/cxfa_templatecache.h"
+#include "xfa/fxfa/parser/cxfa_text.h"
+#include "xfa/fxfa/parser/cxfa_textedit.h"
+#include "xfa/fxfa/parser/cxfa_threshold.h"
+#include "xfa/fxfa/parser/cxfa_time.h"
+#include "xfa/fxfa/parser/cxfa_timepattern.h"
+#include "xfa/fxfa/parser/cxfa_timepatterns.h"
+#include "xfa/fxfa/parser/cxfa_timestamp.h"
+#include "xfa/fxfa/parser/cxfa_to.h"
+#include "xfa/fxfa/parser/cxfa_tooltip.h"
+#include "xfa/fxfa/parser/cxfa_trace.h"
+#include "xfa/fxfa/parser/cxfa_transform.h"
+#include "xfa/fxfa/parser/cxfa_traversal.h"
+#include "xfa/fxfa/parser/cxfa_traverse.h"
+#include "xfa/fxfa/parser/cxfa_type.h"
+#include "xfa/fxfa/parser/cxfa_typeface.h"
+#include "xfa/fxfa/parser/cxfa_typefaces.h"
+#include "xfa/fxfa/parser/cxfa_ui.h"
+#include "xfa/fxfa/parser/cxfa_update.h"
+#include "xfa/fxfa/parser/cxfa_uri.h"
+#include "xfa/fxfa/parser/cxfa_user.h"
+#include "xfa/fxfa/parser/cxfa_validate.h"
+#include "xfa/fxfa/parser/cxfa_validateapprovalsignatures.h"
+#include "xfa/fxfa/parser/cxfa_validationmessaging.h"
+#include "xfa/fxfa/parser/cxfa_value.h"
+#include "xfa/fxfa/parser/cxfa_variables.h"
+#include "xfa/fxfa/parser/cxfa_version.h"
+#include "xfa/fxfa/parser/cxfa_versioncontrol.h"
+#include "xfa/fxfa/parser/cxfa_viewerpreferences.h"
+#include "xfa/fxfa/parser/cxfa_webclient.h"
+#include "xfa/fxfa/parser/cxfa_whitespace.h"
+#include "xfa/fxfa/parser/cxfa_window.h"
+#include "xfa/fxfa/parser/cxfa_wsdladdress.h"
+#include "xfa/fxfa/parser/cxfa_wsdlconnection.h"
+#include "xfa/fxfa/parser/cxfa_xdc.h"
+#include "xfa/fxfa/parser/cxfa_xdp.h"
+#include "xfa/fxfa/parser/cxfa_xfa.h"
+#include "xfa/fxfa/parser/cxfa_xmlconnection.h"
+#include "xfa/fxfa/parser/cxfa_xsdconnection.h"
+#include "xfa/fxfa/parser/cxfa_xsl.h"
+#include "xfa/fxfa/parser/cxfa_zpl.h"
+
+namespace {
+
+struct ElementNameInfo {
+ uint32_t hash;
+ XFA_Element element;
+} ElementNameToEnum[] = {
+ {0x23ee3 /* ps */, XFA_Element::Ps},
+ {0x25363 /* to */, XFA_Element::To},
+ {0x2587e /* ui */, XFA_Element::Ui},
+ {0x1c648b /* recordSet */, XFA_Element::RecordSet},
+ {0x171428f /* subsetBelow */, XFA_Element::SubsetBelow},
+ {0x1a0776a /* subformSet */, XFA_Element::SubformSet},
+ {0x2340d70 /* adobeExtensionLevel */, XFA_Element::AdobeExtensionLevel},
+ {0x2c1c7f1 /* typeface */, XFA_Element::Typeface},
+ {0x5518c25 /* break */, XFA_Element::Break},
+ {0x5fff523 /* fontInfo */, XFA_Element::FontInfo},
+ {0x653a227 /* numberPattern */, XFA_Element::NumberPattern},
+ {0x65b4a05 /* dynamicRender */, XFA_Element::DynamicRender},
+ {0x7e4362e /* printScaling */, XFA_Element::PrintScaling},
+ {0x7fe6d3a /* checkButton */, XFA_Element::CheckButton},
+ {0x80cf58f /* datePatterns */, XFA_Element::DatePatterns},
+ {0x811929d /* sourceSet */, XFA_Element::SourceSet},
+ {0x9f9d612 /* amd */, XFA_Element::Amd},
+ {0x9f9efb6 /* arc */, XFA_Element::Arc},
+ {0xa48835e /* day */, XFA_Element::Day},
+ {0xa6328b8 /* era */, XFA_Element::Era},
+ {0xae6a0a0 /* jog */, XFA_Element::Jog},
+ {0xb1b3d22 /* log */, XFA_Element::Log},
+ {0xb35439e /* map */, XFA_Element::Map},
+ {0xb355301 /* mdp */, XFA_Element::Mdp},
+ {0xb420438 /* breakBefore */, XFA_Element::BreakBefore},
+ {0xb6a091c /* oid */, XFA_Element::Oid},
+ {0xb84389f /* pcl */, XFA_Element::Pcl},
+ {0xb843dba /* pdf */, XFA_Element::Pdf},
+ {0xbb8df5d /* ref */, XFA_Element::Ref},
+ {0xc080cd0 /* uri */, XFA_Element::Uri},
+ {0xc56afbf /* xdc */, XFA_Element::Xdc},
+ {0xc56afcc /* xdp */, XFA_Element::Xdp},
+ {0xc56b9ff /* xfa */, XFA_Element::Xfa},
+ {0xc56fcb7 /* xsl */, XFA_Element::Xsl},
+ {0xc8b89d6 /* zpl */, XFA_Element::Zpl},
+ {0xc9bae94 /* cache */, XFA_Element::Cache},
+ {0xcb016be /* margin */, XFA_Element::Margin},
+ {0xe1378fe /* keyUsage */, XFA_Element::KeyUsage},
+ {0xfe3596a /* exclude */, XFA_Element::Exclude},
+ {0x10395ac7 /* choiceList */, XFA_Element::ChoiceList},
+ {0x1059ec18 /* level */, XFA_Element::Level},
+ {0x10874804 /* labelPrinter */, XFA_Element::LabelPrinter},
+ {0x10c40e03 /* calendarSymbols */, XFA_Element::CalendarSymbols},
+ {0x10f1ea24 /* para */, XFA_Element::Para},
+ {0x10f1ea37 /* part */, XFA_Element::Part},
+ {0x1140975b /* pdfa */, XFA_Element::Pdfa},
+ {0x1154efe6 /* filter */, XFA_Element::Filter},
+ {0x13f41de1 /* present */, XFA_Element::Present},
+ {0x1827e6ea /* pagination */, XFA_Element::Pagination},
+ {0x18463707 /* encoding */, XFA_Element::Encoding},
+ {0x185e41e2 /* event */, XFA_Element::Event},
+ {0x1adb142d /* whitespace */, XFA_Element::Whitespace},
+ {0x1f3f64c3 /* defaultUi */, XFA_Element::DefaultUi},
+ {0x204e87cb /* dataModel */, XFA_Element::DataModel},
+ {0x2057b350 /* barcode */, XFA_Element::Barcode},
+ {0x20596bad /* timePattern */, XFA_Element::TimePattern},
+ {0x210b74d3 /* batchOutput */, XFA_Element::BatchOutput},
+ {0x212ff0e2 /* enforce */, XFA_Element::Enforce},
+ {0x21d351b4 /* currencySymbols */, XFA_Element::CurrencySymbols},
+ {0x21db83c5 /* addSilentPrint */, XFA_Element::AddSilentPrint},
+ {0x22266258 /* rename */, XFA_Element::Rename},
+ {0x226ca8f1 /* operation */, XFA_Element::Operation},
+ {0x23e27b84 /* typefaces */, XFA_Element::Typefaces},
+ {0x23f4aa75 /* subjectDNs */, XFA_Element::SubjectDNs},
+ {0x240d5e8e /* issuers */, XFA_Element::Issuers},
+ {0x2457a033 /* signaturePseudoModel */, XFA_Element::SignaturePseudoModel},
+ {0x24a52f8a /* wsdlConnection */, XFA_Element::WsdlConnection},
+ {0x254ebd07 /* debug */, XFA_Element::Debug},
+ {0x2655c66a /* delta */, XFA_Element::Delta},
+ {0x26c0daec /* eraNames */, XFA_Element::EraNames},
+ {0x273ab03b /* modifyAnnots */, XFA_Element::ModifyAnnots},
+ {0x27875bb4 /* startNode */, XFA_Element::StartNode},
+ {0x285d0dbc /* button */, XFA_Element::Button},
+ {0x28dee6e9 /* format */, XFA_Element::Format},
+ {0x2a23349e /* border */, XFA_Element::Border},
+ {0x2ae67f19 /* area */, XFA_Element::Area},
+ {0x2c3c4c67 /* hyphenation */, XFA_Element::Hyphenation},
+ {0x2d08af85 /* text */, XFA_Element::Text},
+ {0x2d71b00f /* time */, XFA_Element::Time},
+ {0x2f16a382 /* type */, XFA_Element::Type},
+ {0x2fe057e9 /* overprint */, XFA_Element::Overprint},
+ {0x302aee16 /* certificates */, XFA_Element::Certificates},
+ {0x30b227df /* encryptionMethods */, XFA_Element::EncryptionMethods},
+ {0x32b900d1 /* setProperty */, XFA_Element::SetProperty},
+ {0x337d9e45 /* printerName */, XFA_Element::PrinterName},
+ {0x33edda4b /* startPage */, XFA_Element::StartPage},
+ {0x381943e4 /* pageOffset */, XFA_Element::PageOffset},
+ {0x382106cd /* dateTime */, XFA_Element::DateTime},
+ {0x386e7421 /* comb */, XFA_Element::Comb},
+ {0x390acd9e /* pattern */, XFA_Element::Pattern},
+ {0x3942163e /* ifEmpty */, XFA_Element::IfEmpty},
+ {0x39944a7b /* suppressBanner */, XFA_Element::SuppressBanner},
+ {0x3b3c3dca /* outputBin */, XFA_Element::OutputBin},
+ {0x3b8a4024 /* field */, XFA_Element::Field},
+ {0x3c15352f /* agent */, XFA_Element::Agent},
+ {0x3d7e8668 /* outputXSL */, XFA_Element::OutputXSL},
+ {0x3e1c91c5 /* adjustData */, XFA_Element::AdjustData},
+ {0x3e7a9408 /* autoSave */, XFA_Element::AutoSave},
+ {0x3ecead94 /* contentArea */, XFA_Element::ContentArea},
+ {0x3ef334e3 /* eventPseudoModel */, XFA_Element::EventPseudoModel},
+ {0x3fadaec0 /* wsdlAddress */, XFA_Element::WsdlAddress},
+ {0x40623b5b /* solid */, XFA_Element::Solid},
+ {0x41f0bd76 /* dateTimeSymbols */, XFA_Element::DateTimeSymbols},
+ {0x444e7523 /* encryptionLevel */, XFA_Element::EncryptionLevel},
+ {0x4523af55 /* edge */, XFA_Element::Edge},
+ {0x45d5e3c1 /* stipple */, XFA_Element::Stipple},
+ {0x475e4e87 /* attributes */, XFA_Element::Attributes},
+ {0x487a8c87 /* versionControl */, XFA_Element::VersionControl},
+ {0x48e5248c /* meridiem */, XFA_Element::Meridiem},
+ {0x48f36719 /* exclGroup */, XFA_Element::ExclGroup},
+ {0x4977356b /* toolTip */, XFA_Element::ToolTip},
+ {0x499afecc /* compress */, XFA_Element::Compress},
+ {0x4a0c4948 /* reason */, XFA_Element::Reason},
+ {0x4bdcce13 /* execute */, XFA_Element::Execute},
+ {0x4c56b216 /* contentCopy */, XFA_Element::ContentCopy},
+ {0x4cc176d3 /* dateTimeEdit */, XFA_Element::DateTimeEdit},
+ {0x4e1e39b6 /* config */, XFA_Element::Config},
+ {0x4e2d6083 /* image */, XFA_Element::Image},
+ {0x4e814150 /* #xHTML */, XFA_Element::SharpxHTML},
+ {0x4f2388c1 /* numberOfCopies */, XFA_Element::NumberOfCopies},
+ {0x4f512e30 /* behaviorOverride */, XFA_Element::BehaviorOverride},
+ {0x4fdc3454 /* timeStamp */, XFA_Element::TimeStamp},
+ {0x51d90546 /* month */, XFA_Element::Month},
+ {0x523437e4 /* viewerPreferences */, XFA_Element::ViewerPreferences},
+ {0x53abc1c6 /* scriptModel */, XFA_Element::ScriptModel},
+ {0x54034c2f /* decimal */, XFA_Element::Decimal},
+ {0x54202c9e /* subform */, XFA_Element::Subform},
+ {0x542c7300 /* select */, XFA_Element::Select},
+ {0x5436d198 /* window */, XFA_Element::Window},
+ {0x5473b6dc /* localeSet */, XFA_Element::LocaleSet},
+ {0x56ae179e /* handler */, XFA_Element::Handler},
+ {0x5700bd5f /* hostPseudoModel */, XFA_Element::HostPseudoModel},
+ {0x570ce835 /* presence */, XFA_Element::Presence},
+ {0x5779d65f /* record */, XFA_Element::Record},
+ {0x59c8f27d /* embed */, XFA_Element::Embed},
+ {0x5a50e9e6 /* version */, XFA_Element::Version},
+ {0x5b8383df /* command */, XFA_Element::Command},
+ {0x5c43c6c3 /* copies */, XFA_Element::Copies},
+ {0x5e0c2c49 /* staple */, XFA_Element::Staple},
+ {0x5e5083dd /* submitFormat */, XFA_Element::SubmitFormat},
+ {0x5e8c5d20 /* boolean */, XFA_Element::Boolean},
+ {0x60490a85 /* message */, XFA_Element::Message},
+ {0x60d4c8b1 /* output */, XFA_Element::Output},
+ {0x61810081 /* psMap */, XFA_Element::PsMap},
+ {0x62bd904b /* excludeNS */, XFA_Element::ExcludeNS},
+ {0x669d4f77 /* assist */, XFA_Element::Assist},
+ {0x67334a1c /* picture */, XFA_Element::Picture},
+ {0x67fe7334 /* traversal */, XFA_Element::Traversal},
+ {0x6894589c /* silentPrint */, XFA_Element::SilentPrint},
+ {0x68a16bbd /* webClient */, XFA_Element::WebClient},
+ {0x69f115df /* layoutPseudoModel */, XFA_Element::LayoutPseudoModel},
+ {0x6a4bc084 /* producer */, XFA_Element::Producer},
+ {0x6a9e04c9 /* corner */, XFA_Element::Corner},
+ {0x6ccd7274 /* msgId */, XFA_Element::MsgId},
+ {0x6e67921f /* color */, XFA_Element::Color},
+ {0x6ec217a5 /* keep */, XFA_Element::Keep},
+ {0x6eef1116 /* query */, XFA_Element::Query},
+ {0x7033bfd5 /* insert */, XFA_Element::Insert},
+ {0x704af389 /* imageEdit */, XFA_Element::ImageEdit},
+ {0x7233018a /* validate */, XFA_Element::Validate},
+ {0x72ba47b4 /* digestMethods */, XFA_Element::DigestMethods},
+ {0x72f2aa7a /* numberPatterns */, XFA_Element::NumberPatterns},
+ {0x74caed29 /* pageSet */, XFA_Element::PageSet},
+ {0x7568e6ae /* integer */, XFA_Element::Integer},
+ {0x76182db9 /* soapAddress */, XFA_Element::SoapAddress},
+ {0x773146c5 /* equate */, XFA_Element::Equate},
+ {0x77d449dd /* formFieldFilling */, XFA_Element::FormFieldFilling},
+ {0x7889d68a /* pageRange */, XFA_Element::PageRange},
+ {0x7baca2e3 /* update */, XFA_Element::Update},
+ {0x7ce89001 /* connectString */, XFA_Element::ConnectString},
+ {0x7d9fd7c5 /* mode */, XFA_Element::Mode},
+ {0x7e7e845e /* layout */, XFA_Element::Layout},
+ {0x7e845c34 /* #xml */, XFA_Element::Sharpxml},
+ {0x7fb341df /* xsdConnection */, XFA_Element::XsdConnection},
+ {0x7ffb51cc /* traverse */, XFA_Element::Traverse},
+ {0x80203b5a /* encodings */, XFA_Element::Encodings},
+ {0x803550fc /* template */, XFA_Element::Template},
+ {0x803d5bbc /* acrobat */, XFA_Element::Acrobat},
+ {0x821d6569 /* validationMessaging */, XFA_Element::ValidationMessaging},
+ {0x830e688f /* signing */, XFA_Element::Signing},
+ {0x83a550d2 /* dataWindow */, XFA_Element::DataWindow},
+ {0x83dab9f5 /* script */, XFA_Element::Script},
+ {0x8411ebcd /* addViewerPreferences */, XFA_Element::AddViewerPreferences},
+ {0x8777642e /* alwaysEmbed */, XFA_Element::AlwaysEmbed},
+ {0x877a6b39 /* passwordEdit */, XFA_Element::PasswordEdit},
+ {0x87e84c99 /* numericEdit */, XFA_Element::NumericEdit},
+ {0x8852cdec /* encryptionMethod */, XFA_Element::EncryptionMethod},
+ {0x891f4606 /* change */, XFA_Element::Change},
+ {0x89939f36 /* pageArea */, XFA_Element::PageArea},
+ {0x8a9d6247 /* submitUrl */, XFA_Element::SubmitUrl},
+ {0x8ad8b90f /* oids */, XFA_Element::Oids},
+ {0x8b036f32 /* signature */, XFA_Element::Signature},
+ {0x8b128efb /* ADBE_JSConsole */, XFA_Element::ADBE_JSConsole},
+ {0x8bcfe96e /* caption */, XFA_Element::Caption},
+ {0x8e1c2921 /* relevant */, XFA_Element::Relevant},
+ {0x8e3f0a4b /* flipLabel */, XFA_Element::FlipLabel},
+ {0x900280b7 /* exData */, XFA_Element::ExData},
+ {0x91e80352 /* dayNames */, XFA_Element::DayNames},
+ {0x93113b11 /* soapAction */, XFA_Element::SoapAction},
+ {0x938b09f6 /* defaultTypeface */, XFA_Element::DefaultTypeface},
+ {0x95b37897 /* manifest */, XFA_Element::Manifest},
+ {0x97b76b54 /* overflow */, XFA_Element::Overflow},
+ {0x9a57861b /* linear */, XFA_Element::Linear},
+ {0x9ad5a821 /* currencySymbol */, XFA_Element::CurrencySymbol},
+ {0x9c6471b3 /* delete */, XFA_Element::Delete},
+ {0x9deea61d /* deltas */, XFA_Element::Deltas},
+ {0x9e67de21 /* digestMethod */, XFA_Element::DigestMethod},
+ {0x9f3e9510 /* instanceManager */, XFA_Element::InstanceManager},
+ {0xa0799892 /* equateRange */, XFA_Element::EquateRange},
+ {0xa084a381 /* medium */, XFA_Element::Medium},
+ {0xa1211b8b /* textEdit */, XFA_Element::TextEdit},
+ {0xa17008f0 /* templateCache */, XFA_Element::TemplateCache},
+ {0xa4f7b88f /* compressObjectStream */, XFA_Element::CompressObjectStream},
+ {0xa65f5d17 /* dataValue */, XFA_Element::DataValue},
+ {0xa6caaa89 /* accessibleContent */, XFA_Element::AccessibleContent},
+ {0xa94cc00b /* includeXDPContent */, XFA_Element::IncludeXDPContent},
+ {0xa9b081a1 /* xmlConnection */, XFA_Element::XmlConnection},
+ {0xab2a3b74 /* validateApprovalSignatures */,
+ XFA_Element::ValidateApprovalSignatures},
+ {0xab8c5a2b /* signData */, XFA_Element::SignData},
+ {0xabaa2ceb /* packets */, XFA_Element::Packets},
+ {0xadba359c /* datePattern */, XFA_Element::DatePattern},
+ {0xae222b2b /* duplexOption */, XFA_Element::DuplexOption},
+ {0xb012effb /* base */, XFA_Element::Base},
+ {0xb0e5485d /* bind */, XFA_Element::Bind},
+ {0xb45d61b2 /* compression */, XFA_Element::Compression},
+ {0xb563f0ff /* user */, XFA_Element::User},
+ {0xb5848ad5 /* rectangle */, XFA_Element::Rectangle},
+ {0xb6dacb72 /* effectiveOutputPolicy */,
+ XFA_Element::EffectiveOutputPolicy},
+ {0xb7d7654d /* ADBE_JSDebugger */, XFA_Element::ADBE_JSDebugger},
+ {0xbab37f73 /* acrobat7 */, XFA_Element::Acrobat7},
+ {0xbc70081e /* interactive */, XFA_Element::Interactive},
+ {0xbc8fa350 /* locale */, XFA_Element::Locale},
+ {0xbcd44940 /* currentPage */, XFA_Element::CurrentPage},
+ {0xbde9abda /* data */, XFA_Element::Data},
+ {0xbde9abde /* date */, XFA_Element::Date},
+ {0xbe52dfbf /* desc */, XFA_Element::Desc},
+ {0xbf4b6405 /* encrypt */, XFA_Element::Encrypt},
+ {0xbfa87cce /* draw */, XFA_Element::Draw},
+ {0xc181ff4b /* encryption */, XFA_Element::Encryption},
+ {0xc1970f40 /* meridiemNames */, XFA_Element::MeridiemNames},
+ {0xc5ad9f5e /* messaging */, XFA_Element::Messaging},
+ {0xc69549f4 /* speak */, XFA_Element::Speak},
+ {0xc7743dc7 /* dataGroup */, XFA_Element::DataGroup},
+ {0xc7eb20e9 /* common */, XFA_Element::Common},
+ {0xc85d4528 /* #text */, XFA_Element::Sharptext},
+ {0xc861556a /* paginationOverride */, XFA_Element::PaginationOverride},
+ {0xc903dabb /* reasons */, XFA_Element::Reasons},
+ {0xc9a8127f /* signatureProperties */, XFA_Element::SignatureProperties},
+ {0xca010c2d /* threshold */, XFA_Element::Threshold},
+ {0xcb4c5e96 /* appearanceFilter */, XFA_Element::AppearanceFilter},
+ {0xcc92aba7 /* fill */, XFA_Element::Fill},
+ {0xcd308b77 /* font */, XFA_Element::Font},
+ {0xcd309ff4 /* form */, XFA_Element::Form},
+ {0xcebcca2d /* mediumInfo */, XFA_Element::MediumInfo},
+ {0xcfe0d643 /* certificate */, XFA_Element::Certificate},
+ {0xd012c033 /* password */, XFA_Element::Password},
+ {0xd01604bd /* runScripts */, XFA_Element::RunScripts},
+ {0xd1227e6f /* trace */, XFA_Element::Trace},
+ {0xd1532876 /* float */, XFA_Element::Float},
+ {0xd17a6c30 /* renderPolicy */, XFA_Element::RenderPolicy},
+ {0xd4bf6823 /* logPseudoModel */, XFA_Element::LogPseudoModel},
+ {0xd58aa962 /* destination */, XFA_Element::Destination},
+ {0xd6e27f1d /* value */, XFA_Element::Value},
+ {0xd7a14462 /* bookend */, XFA_Element::Bookend},
+ {0xd8c31254 /* exObject */, XFA_Element::ExObject},
+ {0xda6a8590 /* openAction */, XFA_Element::OpenAction},
+ {0xdab4fb7d /* neverEmbed */, XFA_Element::NeverEmbed},
+ {0xdb98475f /* bindItems */, XFA_Element::BindItems},
+ {0xdbfbe02e /* calculate */, XFA_Element::Calculate},
+ {0xdd7676ed /* print */, XFA_Element::Print},
+ {0xdde273d7 /* extras */, XFA_Element::Extras},
+ {0xde146b34 /* proto */, XFA_Element::Proto},
+ {0xdf059321 /* dSigData */, XFA_Element::DSigData},
+ {0xdfccf030 /* creator */, XFA_Element::Creator},
+ {0xdff78c6a /* connect */, XFA_Element::Connect},
+ {0xe11a2cbc /* permissions */, XFA_Element::Permissions},
+ {0xe14c801c /* connectionSet */, XFA_Element::ConnectionSet},
+ {0xe1c83a14 /* submit */, XFA_Element::Submit},
+ {0xe29821cd /* range */, XFA_Element::Range},
+ {0xe38d83c7 /* linearized */, XFA_Element::Linearized},
+ {0xe3aa2578 /* packet */, XFA_Element::Packet},
+ {0xe3aa860e /* rootElement */, XFA_Element::RootElement},
+ {0xe3e553fa /* plaintextMetadata */, XFA_Element::PlaintextMetadata},
+ {0xe3e6e4f2 /* numberSymbols */, XFA_Element::NumberSymbols},
+ {0xe3f067f6 /* printHighQuality */, XFA_Element::PrintHighQuality},
+ {0xe3fd078c /* driver */, XFA_Element::Driver},
+ {0xe48b34f2 /* incrementalLoad */, XFA_Element::IncrementalLoad},
+ {0xe550e7c2 /* subjectDN */, XFA_Element::SubjectDN},
+ {0xe6669a78 /* compressLogicalStructure */,
+ XFA_Element::CompressLogicalStructure},
+ {0xe7a7ea02 /* incrementalMerge */, XFA_Element::IncrementalMerge},
+ {0xe948530d /* radial */, XFA_Element::Radial},
+ {0xea8d6999 /* variables */, XFA_Element::Variables},
+ {0xeaa142c0 /* timePatterns */, XFA_Element::TimePatterns},
+ {0xeb943a71 /* effectiveInputPolicy */, XFA_Element::EffectiveInputPolicy},
+ {0xef04a2bc /* nameAttr */, XFA_Element::NameAttr},
+ {0xf07222ab /* conformance */, XFA_Element::Conformance},
+ {0xf0aaaadc /* transform */, XFA_Element::Transform},
+ {0xf1433e88 /* lockDocument */, XFA_Element::LockDocument},
+ {0xf54eb997 /* breakAfter */, XFA_Element::BreakAfter},
+ {0xf616da28 /* line */, XFA_Element::Line},
+ {0xf616f3dc /* list */, XFA_Element::List},
+ {0xf7055fb1 /* source */, XFA_Element::Source},
+ {0xf7eebe1c /* occur */, XFA_Element::Occur},
+ {0xf8d10d97 /* pickTrayByPDFSize */, XFA_Element::PickTrayByPDFSize},
+ {0xf8f19e3a /* monthNames */, XFA_Element::MonthNames},
+ {0xf984149b /* severity */, XFA_Element::Severity},
+ {0xf9bcb037 /* groupParent */, XFA_Element::GroupParent},
+ {0xfbc42fff /* documentAssembly */, XFA_Element::DocumentAssembly},
+ {0xfc78159f /* numberSymbol */, XFA_Element::NumberSymbol},
+ {0xfcbd606c /* tagged */, XFA_Element::Tagged},
+ {0xff063802 /* items */, XFA_Element::Items},
+};
+
+} // namespace
+
+// static
+XFA_Element CXFA_Node::NameToElement(const WideString& name) {
+ uint32_t hash = FX_HashCode_GetW(name.AsStringView(), false);
+ auto* elem = std::lower_bound(
+ std::begin(ElementNameToEnum), std::end(ElementNameToEnum), hash,
+ [](const ElementNameInfo& a, uint32_t hash) { return a.hash < hash; });
+ if (elem && elem->hash == hash)
+ return elem->element;
+ return XFA_Element::Unknown;
+}
+
+// static
+std::unique_ptr<CXFA_Node> CXFA_Node::Create(CXFA_Document* doc,
+ XFA_Element element,
+ XFA_XDPPACKET packet) {
+ ASSERT(element != XFA_Element::NodeList);
+ std::unique_ptr<CXFA_Node> node;
+ switch (element) {
+ case XFA_Element::Ps:
+ node = pdfium::MakeUnique<CXFA_Ps>(doc, packet);
+ break;
+ case XFA_Element::To:
+ node = pdfium::MakeUnique<CXFA_To>(doc, packet);
+ break;
+ case XFA_Element::Ui:
+ node = pdfium::MakeUnique<CXFA_Ui>(doc, packet);
+ break;
+ case XFA_Element::RecordSet:
+ node = pdfium::MakeUnique<CXFA_RecordSet>(doc, packet);
+ break;
+ case XFA_Element::SubsetBelow:
+ node = pdfium::MakeUnique<CXFA_SubsetBelow>(doc, packet);
+ break;
+ case XFA_Element::SubformSet:
+ node = pdfium::MakeUnique<CXFA_SubformSet>(doc, packet);
+ break;
+ case XFA_Element::AdobeExtensionLevel:
+ node = pdfium::MakeUnique<CXFA_AdobeExtensionLevel>(doc, packet);
+ break;
+ case XFA_Element::Typeface:
+ node = pdfium::MakeUnique<CXFA_Typeface>(doc, packet);
+ break;
+ case XFA_Element::Break:
+ node = pdfium::MakeUnique<CXFA_Break>(doc, packet);
+ break;
+ case XFA_Element::FontInfo:
+ node = pdfium::MakeUnique<CXFA_FontInfo>(doc, packet);
+ break;
+ case XFA_Element::NumberPattern:
+ node = pdfium::MakeUnique<CXFA_NumberPattern>(doc, packet);
+ break;
+ case XFA_Element::DynamicRender:
+ node = pdfium::MakeUnique<CXFA_DynamicRender>(doc, packet);
+ break;
+ case XFA_Element::PrintScaling:
+ node = pdfium::MakeUnique<CXFA_PrintScaling>(doc, packet);
+ break;
+ case XFA_Element::CheckButton:
+ node = pdfium::MakeUnique<CXFA_CheckButton>(doc, packet);
+ break;
+ case XFA_Element::DatePatterns:
+ node = pdfium::MakeUnique<CXFA_DatePatterns>(doc, packet);
+ break;
+ case XFA_Element::SourceSet:
+ node = pdfium::MakeUnique<CXFA_SourceSet>(doc, packet);
+ break;
+ case XFA_Element::Amd:
+ node = pdfium::MakeUnique<CXFA_Amd>(doc, packet);
+ break;
+ case XFA_Element::Arc:
+ node = pdfium::MakeUnique<CXFA_Arc>(doc, packet);
+ break;
+ case XFA_Element::Day:
+ node = pdfium::MakeUnique<CXFA_Day>(doc, packet);
+ break;
+ case XFA_Element::Era:
+ node = pdfium::MakeUnique<CXFA_Era>(doc, packet);
+ break;
+ case XFA_Element::Jog:
+ node = pdfium::MakeUnique<CXFA_Jog>(doc, packet);
+ break;
+ case XFA_Element::Log:
+ node = pdfium::MakeUnique<CXFA_Log>(doc, packet);
+ break;
+ case XFA_Element::Map:
+ node = pdfium::MakeUnique<CXFA_Map>(doc, packet);
+ break;
+ case XFA_Element::Mdp:
+ node = pdfium::MakeUnique<CXFA_Mdp>(doc, packet);
+ break;
+ case XFA_Element::BreakBefore:
+ node = pdfium::MakeUnique<CXFA_BreakBefore>(doc, packet);
+ break;
+ case XFA_Element::Oid:
+ node = pdfium::MakeUnique<CXFA_Oid>(doc, packet);
+ break;
+ case XFA_Element::Pcl:
+ node = pdfium::MakeUnique<CXFA_Pcl>(doc, packet);
+ break;
+ case XFA_Element::Pdf:
+ node = pdfium::MakeUnique<CXFA_Pdf>(doc, packet);
+ break;
+ case XFA_Element::Ref:
+ node = pdfium::MakeUnique<CXFA_Ref>(doc, packet);
+ break;
+ case XFA_Element::Uri:
+ node = pdfium::MakeUnique<CXFA_Uri>(doc, packet);
+ break;
+ case XFA_Element::Xdc:
+ node = pdfium::MakeUnique<CXFA_Xdc>(doc, packet);
+ break;
+ case XFA_Element::Xdp:
+ node = pdfium::MakeUnique<CXFA_Xdp>(doc, packet);
+ break;
+ case XFA_Element::Xfa:
+ node = pdfium::MakeUnique<CXFA_Xfa>(doc, packet);
+ break;
+ case XFA_Element::Xsl:
+ node = pdfium::MakeUnique<CXFA_Xsl>(doc, packet);
+ break;
+ case XFA_Element::Zpl:
+ node = pdfium::MakeUnique<CXFA_Zpl>(doc, packet);
+ break;
+ case XFA_Element::Cache:
+ node = pdfium::MakeUnique<CXFA_Cache>(doc, packet);
+ break;
+ case XFA_Element::Margin:
+ node = pdfium::MakeUnique<CXFA_Margin>(doc, packet);
+ break;
+ case XFA_Element::KeyUsage:
+ node = pdfium::MakeUnique<CXFA_KeyUsage>(doc, packet);
+ break;
+ case XFA_Element::Exclude:
+ node = pdfium::MakeUnique<CXFA_Exclude>(doc, packet);
+ break;
+ case XFA_Element::ChoiceList:
+ node = pdfium::MakeUnique<CXFA_ChoiceList>(doc, packet);
+ break;
+ case XFA_Element::Level:
+ node = pdfium::MakeUnique<CXFA_Level>(doc, packet);
+ break;
+ case XFA_Element::LabelPrinter:
+ node = pdfium::MakeUnique<CXFA_LabelPrinter>(doc, packet);
+ break;
+ case XFA_Element::CalendarSymbols:
+ node = pdfium::MakeUnique<CXFA_CalendarSymbols>(doc, packet);
+ break;
+ case XFA_Element::Para:
+ node = pdfium::MakeUnique<CXFA_Para>(doc, packet);
+ break;
+ case XFA_Element::Part:
+ node = pdfium::MakeUnique<CXFA_Part>(doc, packet);
+ break;
+ case XFA_Element::Pdfa:
+ node = pdfium::MakeUnique<CXFA_Pdfa>(doc, packet);
+ break;
+ case XFA_Element::Filter:
+ node = pdfium::MakeUnique<CXFA_Filter>(doc, packet);
+ break;
+ case XFA_Element::Present:
+ node = pdfium::MakeUnique<CXFA_Present>(doc, packet);
+ break;
+ case XFA_Element::Pagination:
+ node = pdfium::MakeUnique<CXFA_Pagination>(doc, packet);
+ break;
+ case XFA_Element::Encoding:
+ node = pdfium::MakeUnique<CXFA_Encoding>(doc, packet);
+ break;
+ case XFA_Element::Event:
+ node = pdfium::MakeUnique<CXFA_Event>(doc, packet);
+ break;
+ case XFA_Element::Whitespace:
+ node = pdfium::MakeUnique<CXFA_Whitespace>(doc, packet);
+ break;
+ case XFA_Element::DefaultUi:
+ node = pdfium::MakeUnique<CXFA_DefaultUi>(doc, packet);
+ break;
+ case XFA_Element::DataModel:
+ node = pdfium::MakeUnique<CXFA_DataModel>(doc, packet);
+ break;
+ case XFA_Element::Barcode:
+ node = pdfium::MakeUnique<CXFA_Barcode>(doc, packet);
+ break;
+ case XFA_Element::TimePattern:
+ node = pdfium::MakeUnique<CXFA_TimePattern>(doc, packet);
+ break;
+ case XFA_Element::BatchOutput:
+ node = pdfium::MakeUnique<CXFA_BatchOutput>(doc, packet);
+ break;
+ case XFA_Element::Enforce:
+ node = pdfium::MakeUnique<CXFA_Enforce>(doc, packet);
+ break;
+ case XFA_Element::CurrencySymbols:
+ node = pdfium::MakeUnique<CXFA_CurrencySymbols>(doc, packet);
+ break;
+ case XFA_Element::AddSilentPrint:
+ node = pdfium::MakeUnique<CXFA_AddSilentPrint>(doc, packet);
+ break;
+ case XFA_Element::Rename:
+ node = pdfium::MakeUnique<CXFA_Rename>(doc, packet);
+ break;
+ case XFA_Element::Operation:
+ node = pdfium::MakeUnique<CXFA_Operation>(doc, packet);
+ break;
+ case XFA_Element::Typefaces:
+ node = pdfium::MakeUnique<CXFA_Typefaces>(doc, packet);
+ break;
+ case XFA_Element::SubjectDNs:
+ node = pdfium::MakeUnique<CXFA_SubjectDNs>(doc, packet);
+ break;
+ case XFA_Element::Issuers:
+ node = pdfium::MakeUnique<CXFA_Issuers>(doc, packet);
+ break;
+ case XFA_Element::SignaturePseudoModel:
+ node = pdfium::MakeUnique<CXFA_SignaturePseudoModel>(doc, packet);
+ break;
+ case XFA_Element::WsdlConnection:
+ node = pdfium::MakeUnique<CXFA_WsdlConnection>(doc, packet);
+ break;
+ case XFA_Element::Debug:
+ node = pdfium::MakeUnique<CXFA_Debug>(doc, packet);
+ break;
+ case XFA_Element::Delta:
+ node = pdfium::MakeUnique<CXFA_Delta>(doc, packet);
+ break;
+ case XFA_Element::EraNames:
+ node = pdfium::MakeUnique<CXFA_EraNames>(doc, packet);
+ break;
+ case XFA_Element::ModifyAnnots:
+ node = pdfium::MakeUnique<CXFA_ModifyAnnots>(doc, packet);
+ break;
+ case XFA_Element::StartNode:
+ node = pdfium::MakeUnique<CXFA_StartNode>(doc, packet);
+ break;
+ case XFA_Element::Button:
+ node = pdfium::MakeUnique<CXFA_Button>(doc, packet);
+ break;
+ case XFA_Element::Format:
+ node = pdfium::MakeUnique<CXFA_Format>(doc, packet);
+ break;
+ case XFA_Element::Border:
+ node = pdfium::MakeUnique<CXFA_Border>(doc, packet);
+ break;
+ case XFA_Element::Area:
+ node = pdfium::MakeUnique<CXFA_Area>(doc, packet);
+ break;
+ case XFA_Element::Hyphenation:
+ node = pdfium::MakeUnique<CXFA_Hyphenation>(doc, packet);
+ break;
+ case XFA_Element::Text:
+ node = pdfium::MakeUnique<CXFA_Text>(doc, packet);
+ break;
+ case XFA_Element::Time:
+ node = pdfium::MakeUnique<CXFA_Time>(doc, packet);
+ break;
+ case XFA_Element::Type:
+ node = pdfium::MakeUnique<CXFA_Type>(doc, packet);
+ break;
+ case XFA_Element::Overprint:
+ node = pdfium::MakeUnique<CXFA_Overprint>(doc, packet);
+ break;
+ case XFA_Element::Certificates:
+ node = pdfium::MakeUnique<CXFA_Certificates>(doc, packet);
+ break;
+ case XFA_Element::EncryptionMethods:
+ node = pdfium::MakeUnique<CXFA_EncryptionMethods>(doc, packet);
+ break;
+ case XFA_Element::SetProperty:
+ node = pdfium::MakeUnique<CXFA_SetProperty>(doc, packet);
+ break;
+ case XFA_Element::PrinterName:
+ node = pdfium::MakeUnique<CXFA_PrinterName>(doc, packet);
+ break;
+ case XFA_Element::StartPage:
+ node = pdfium::MakeUnique<CXFA_StartPage>(doc, packet);
+ break;
+ case XFA_Element::PageOffset:
+ node = pdfium::MakeUnique<CXFA_PageOffset>(doc, packet);
+ break;
+ case XFA_Element::DateTime:
+ node = pdfium::MakeUnique<CXFA_DateTime>(doc, packet);
+ break;
+ case XFA_Element::Comb:
+ node = pdfium::MakeUnique<CXFA_Comb>(doc, packet);
+ break;
+ case XFA_Element::Pattern:
+ node = pdfium::MakeUnique<CXFA_Pattern>(doc, packet);
+ break;
+ case XFA_Element::IfEmpty:
+ node = pdfium::MakeUnique<CXFA_IfEmpty>(doc, packet);
+ break;
+ case XFA_Element::SuppressBanner:
+ node = pdfium::MakeUnique<CXFA_SuppressBanner>(doc, packet);
+ break;
+ case XFA_Element::OutputBin:
+ node = pdfium::MakeUnique<CXFA_OutputBin>(doc, packet);
+ break;
+ case XFA_Element::Field:
+ node = pdfium::MakeUnique<CXFA_Field>(doc, packet);
+ break;
+ case XFA_Element::Agent:
+ node = pdfium::MakeUnique<CXFA_Agent>(doc, packet);
+ break;
+ case XFA_Element::OutputXSL:
+ node = pdfium::MakeUnique<CXFA_OutputXSL>(doc, packet);
+ break;
+ case XFA_Element::AdjustData:
+ node = pdfium::MakeUnique<CXFA_AdjustData>(doc, packet);
+ break;
+ case XFA_Element::AutoSave:
+ node = pdfium::MakeUnique<CXFA_AutoSave>(doc, packet);
+ break;
+ case XFA_Element::ContentArea:
+ node = pdfium::MakeUnique<CXFA_ContentArea>(doc, packet);
+ break;
+ case XFA_Element::EventPseudoModel:
+ node = pdfium::MakeUnique<CXFA_EventPseudoModel>(doc, packet);
+ break;
+ case XFA_Element::WsdlAddress:
+ node = pdfium::MakeUnique<CXFA_WsdlAddress>(doc, packet);
+ break;
+ case XFA_Element::Solid:
+ node = pdfium::MakeUnique<CXFA_Solid>(doc, packet);
+ break;
+ case XFA_Element::DateTimeSymbols:
+ node = pdfium::MakeUnique<CXFA_DateTimeSymbols>(doc, packet);
+ break;
+ case XFA_Element::EncryptionLevel:
+ node = pdfium::MakeUnique<CXFA_EncryptionLevel>(doc, packet);
+ break;
+ case XFA_Element::Edge:
+ node = pdfium::MakeUnique<CXFA_Edge>(doc, packet);
+ break;
+ case XFA_Element::Stipple:
+ node = pdfium::MakeUnique<CXFA_Stipple>(doc, packet);
+ break;
+ case XFA_Element::Attributes:
+ node = pdfium::MakeUnique<CXFA_Attributes>(doc, packet);
+ break;
+ case XFA_Element::VersionControl:
+ node = pdfium::MakeUnique<CXFA_VersionControl>(doc, packet);
+ break;
+ case XFA_Element::Meridiem:
+ node = pdfium::MakeUnique<CXFA_Meridiem>(doc, packet);
+ break;
+ case XFA_Element::ExclGroup:
+ node = pdfium::MakeUnique<CXFA_ExclGroup>(doc, packet);
+ break;
+ case XFA_Element::ToolTip:
+ node = pdfium::MakeUnique<CXFA_ToolTip>(doc, packet);
+ break;
+ case XFA_Element::Compress:
+ node = pdfium::MakeUnique<CXFA_Compress>(doc, packet);
+ break;
+ case XFA_Element::Reason:
+ node = pdfium::MakeUnique<CXFA_Reason>(doc, packet);
+ break;
+ case XFA_Element::Execute:
+ node = pdfium::MakeUnique<CXFA_Execute>(doc, packet);
+ break;
+ case XFA_Element::ContentCopy:
+ node = pdfium::MakeUnique<CXFA_ContentCopy>(doc, packet);
+ break;
+ case XFA_Element::DateTimeEdit:
+ node = pdfium::MakeUnique<CXFA_DateTimeEdit>(doc, packet);
+ break;
+ case XFA_Element::Config:
+ node = pdfium::MakeUnique<CXFA_Config>(doc, packet);
+ break;
+ case XFA_Element::Image:
+ node = pdfium::MakeUnique<CXFA_Image>(doc, packet);
+ break;
+ case XFA_Element::SharpxHTML:
+ node = pdfium::MakeUnique<CXFA_SharpxHTML>(doc, packet);
+ break;
+ case XFA_Element::NumberOfCopies:
+ node = pdfium::MakeUnique<CXFA_NumberOfCopies>(doc, packet);
+ break;
+ case XFA_Element::BehaviorOverride:
+ node = pdfium::MakeUnique<CXFA_BehaviorOverride>(doc, packet);
+ break;
+ case XFA_Element::TimeStamp:
+ node = pdfium::MakeUnique<CXFA_TimeStamp>(doc, packet);
+ break;
+ case XFA_Element::Month:
+ node = pdfium::MakeUnique<CXFA_Month>(doc, packet);
+ break;
+ case XFA_Element::ViewerPreferences:
+ node = pdfium::MakeUnique<CXFA_ViewerPreferences>(doc, packet);
+ break;
+ case XFA_Element::ScriptModel:
+ node = pdfium::MakeUnique<CXFA_ScriptModel>(doc, packet);
+ break;
+ case XFA_Element::Decimal:
+ node = pdfium::MakeUnique<CXFA_Decimal>(doc, packet);
+ break;
+ case XFA_Element::Subform:
+ node = pdfium::MakeUnique<CXFA_Subform>(doc, packet);
+ break;
+ case XFA_Element::Select:
+ node = pdfium::MakeUnique<CXFA_Select>(doc, packet);
+ break;
+ case XFA_Element::Window:
+ node = pdfium::MakeUnique<CXFA_Window>(doc, packet);
+ break;
+ case XFA_Element::LocaleSet:
+ node = pdfium::MakeUnique<CXFA_LocaleSet>(doc, packet);
+ break;
+ case XFA_Element::Handler:
+ node = pdfium::MakeUnique<CXFA_Handler>(doc, packet);
+ break;
+ case XFA_Element::HostPseudoModel:
+ node = pdfium::MakeUnique<CXFA_HostPseudoModel>(doc, packet);
+ break;
+ case XFA_Element::Presence:
+ node = pdfium::MakeUnique<CXFA_Presence>(doc, packet);
+ break;
+ case XFA_Element::Record:
+ node = pdfium::MakeUnique<CXFA_Record>(doc, packet);
+ break;
+ case XFA_Element::Embed:
+ node = pdfium::MakeUnique<CXFA_Embed>(doc, packet);
+ break;
+ case XFA_Element::Version:
+ node = pdfium::MakeUnique<CXFA_Version>(doc, packet);
+ break;
+ case XFA_Element::Command:
+ node = pdfium::MakeUnique<CXFA_Command>(doc, packet);
+ break;
+ case XFA_Element::Copies:
+ node = pdfium::MakeUnique<CXFA_Copies>(doc, packet);
+ break;
+ case XFA_Element::Staple:
+ node = pdfium::MakeUnique<CXFA_Staple>(doc, packet);
+ break;
+ case XFA_Element::SubmitFormat:
+ node = pdfium::MakeUnique<CXFA_SubmitFormat>(doc, packet);
+ break;
+ case XFA_Element::Boolean:
+ node = pdfium::MakeUnique<CXFA_Boolean>(doc, packet);
+ break;
+ case XFA_Element::Message:
+ node = pdfium::MakeUnique<CXFA_Message>(doc, packet);
+ break;
+ case XFA_Element::Output:
+ node = pdfium::MakeUnique<CXFA_Output>(doc, packet);
+ break;
+ case XFA_Element::PsMap:
+ node = pdfium::MakeUnique<CXFA_PsMap>(doc, packet);
+ break;
+ case XFA_Element::ExcludeNS:
+ node = pdfium::MakeUnique<CXFA_ExcludeNS>(doc, packet);
+ break;
+ case XFA_Element::Assist:
+ node = pdfium::MakeUnique<CXFA_Assist>(doc, packet);
+ break;
+ case XFA_Element::Picture:
+ node = pdfium::MakeUnique<CXFA_Picture>(doc, packet);
+ break;
+ case XFA_Element::Traversal:
+ node = pdfium::MakeUnique<CXFA_Traversal>(doc, packet);
+ break;
+ case XFA_Element::SilentPrint:
+ node = pdfium::MakeUnique<CXFA_SilentPrint>(doc, packet);
+ break;
+ case XFA_Element::WebClient:
+ node = pdfium::MakeUnique<CXFA_WebClient>(doc, packet);
+ break;
+ case XFA_Element::LayoutPseudoModel:
+ node = pdfium::MakeUnique<CXFA_LayoutPseudoModel>(doc, packet);
+ break;
+ case XFA_Element::Producer:
+ node = pdfium::MakeUnique<CXFA_Producer>(doc, packet);
+ break;
+ case XFA_Element::Corner:
+ node = pdfium::MakeUnique<CXFA_Corner>(doc, packet);
+ break;
+ case XFA_Element::MsgId:
+ node = pdfium::MakeUnique<CXFA_MsgId>(doc, packet);
+ break;
+ case XFA_Element::Color:
+ node = pdfium::MakeUnique<CXFA_Color>(doc, packet);
+ break;
+ case XFA_Element::Keep:
+ node = pdfium::MakeUnique<CXFA_Keep>(doc, packet);
+ break;
+ case XFA_Element::Query:
+ node = pdfium::MakeUnique<CXFA_Query>(doc, packet);
+ break;
+ case XFA_Element::Insert:
+ node = pdfium::MakeUnique<CXFA_Insert>(doc, packet);
+ break;
+ case XFA_Element::ImageEdit:
+ node = pdfium::MakeUnique<CXFA_ImageEdit>(doc, packet);
+ break;
+ case XFA_Element::Validate:
+ node = pdfium::MakeUnique<CXFA_Validate>(doc, packet);
+ break;
+ case XFA_Element::DigestMethods:
+ node = pdfium::MakeUnique<CXFA_DigestMethods>(doc, packet);
+ break;
+ case XFA_Element::NumberPatterns:
+ node = pdfium::MakeUnique<CXFA_NumberPatterns>(doc, packet);
+ break;
+ case XFA_Element::PageSet:
+ node = pdfium::MakeUnique<CXFA_PageSet>(doc, packet);
+ break;
+ case XFA_Element::Integer:
+ node = pdfium::MakeUnique<CXFA_Integer>(doc, packet);
+ break;
+ case XFA_Element::SoapAddress:
+ node = pdfium::MakeUnique<CXFA_SoapAddress>(doc, packet);
+ break;
+ case XFA_Element::Equate:
+ node = pdfium::MakeUnique<CXFA_Equate>(doc, packet);
+ break;
+ case XFA_Element::FormFieldFilling:
+ node = pdfium::MakeUnique<CXFA_FormFieldFilling>(doc, packet);
+ break;
+ case XFA_Element::PageRange:
+ node = pdfium::MakeUnique<CXFA_PageRange>(doc, packet);
+ break;
+ case XFA_Element::Update:
+ node = pdfium::MakeUnique<CXFA_Update>(doc, packet);
+ break;
+ case XFA_Element::ConnectString:
+ node = pdfium::MakeUnique<CXFA_ConnectString>(doc, packet);
+ break;
+ case XFA_Element::Mode:
+ node = pdfium::MakeUnique<CXFA_Mode>(doc, packet);
+ break;
+ case XFA_Element::Layout:
+ node = pdfium::MakeUnique<CXFA_Layout>(doc, packet);
+ break;
+ case XFA_Element::Sharpxml:
+ node = pdfium::MakeUnique<CXFA_Sharpxml>(doc, packet);
+ break;
+ case XFA_Element::XsdConnection:
+ node = pdfium::MakeUnique<CXFA_XsdConnection>(doc, packet);
+ break;
+ case XFA_Element::Traverse:
+ node = pdfium::MakeUnique<CXFA_Traverse>(doc, packet);
+ break;
+ case XFA_Element::Encodings:
+ node = pdfium::MakeUnique<CXFA_Encodings>(doc, packet);
+ break;
+ case XFA_Element::Template:
+ node = pdfium::MakeUnique<CXFA_Template>(doc, packet);
+ break;
+ case XFA_Element::Acrobat:
+ node = pdfium::MakeUnique<CXFA_Acrobat>(doc, packet);
+ break;
+ case XFA_Element::ValidationMessaging:
+ node = pdfium::MakeUnique<CXFA_ValidationMessaging>(doc, packet);
+ break;
+ case XFA_Element::Signing:
+ node = pdfium::MakeUnique<CXFA_Signing>(doc, packet);
+ break;
+ case XFA_Element::DataWindow:
+ node = pdfium::MakeUnique<CXFA_DataWindow>(doc, packet);
+ break;
+ case XFA_Element::Script:
+ node = pdfium::MakeUnique<CXFA_Script>(doc, packet);
+ break;
+ case XFA_Element::AddViewerPreferences:
+ node = pdfium::MakeUnique<CXFA_AddViewerPreferences>(doc, packet);
+ break;
+ case XFA_Element::AlwaysEmbed:
+ node = pdfium::MakeUnique<CXFA_AlwaysEmbed>(doc, packet);
+ break;
+ case XFA_Element::PasswordEdit:
+ node = pdfium::MakeUnique<CXFA_PasswordEdit>(doc, packet);
+ break;
+ case XFA_Element::NumericEdit:
+ node = pdfium::MakeUnique<CXFA_NumericEdit>(doc, packet);
+ break;
+ case XFA_Element::EncryptionMethod:
+ node = pdfium::MakeUnique<CXFA_EncryptionMethod>(doc, packet);
+ break;
+ case XFA_Element::Change:
+ node = pdfium::MakeUnique<CXFA_Change>(doc, packet);
+ break;
+ case XFA_Element::PageArea:
+ node = pdfium::MakeUnique<CXFA_PageArea>(doc, packet);
+ break;
+ case XFA_Element::SubmitUrl:
+ node = pdfium::MakeUnique<CXFA_SubmitUrl>(doc, packet);
+ break;
+ case XFA_Element::Oids:
+ node = pdfium::MakeUnique<CXFA_Oids>(doc, packet);
+ break;
+ case XFA_Element::Signature:
+ node = pdfium::MakeUnique<CXFA_Signature>(doc, packet);
+ break;
+ case XFA_Element::ADBE_JSConsole:
+ node = pdfium::MakeUnique<CXFA_aDBE_JSConsole>(doc, packet);
+ break;
+ case XFA_Element::Caption:
+ node = pdfium::MakeUnique<CXFA_Caption>(doc, packet);
+ break;
+ case XFA_Element::Relevant:
+ node = pdfium::MakeUnique<CXFA_Relevant>(doc, packet);
+ break;
+ case XFA_Element::FlipLabel:
+ node = pdfium::MakeUnique<CXFA_FlipLabel>(doc, packet);
+ break;
+ case XFA_Element::ExData:
+ node = pdfium::MakeUnique<CXFA_ExData>(doc, packet);
+ break;
+ case XFA_Element::DayNames:
+ node = pdfium::MakeUnique<CXFA_DayNames>(doc, packet);
+ break;
+ case XFA_Element::SoapAction:
+ node = pdfium::MakeUnique<CXFA_SoapAction>(doc, packet);
+ break;
+ case XFA_Element::DefaultTypeface:
+ node = pdfium::MakeUnique<CXFA_DefaultTypeface>(doc, packet);
+ break;
+ case XFA_Element::Manifest:
+ node = pdfium::MakeUnique<CXFA_Manifest>(doc, packet);
+ break;
+ case XFA_Element::Overflow:
+ node = pdfium::MakeUnique<CXFA_Overflow>(doc, packet);
+ break;
+ case XFA_Element::Linear:
+ node = pdfium::MakeUnique<CXFA_Linear>(doc, packet);
+ break;
+ case XFA_Element::CurrencySymbol:
+ node = pdfium::MakeUnique<CXFA_CurrencySymbol>(doc, packet);
+ break;
+ case XFA_Element::Delete:
+ node = pdfium::MakeUnique<CXFA_Delete>(doc, packet);
+ break;
+ case XFA_Element::Deltas:
+ node = pdfium::MakeUnique<CXFA_Deltas>(doc, packet);
+ break;
+ case XFA_Element::DigestMethod:
+ node = pdfium::MakeUnique<CXFA_DigestMethod>(doc, packet);
+ break;
+ case XFA_Element::InstanceManager:
+ node = pdfium::MakeUnique<CXFA_InstanceManager>(doc, packet);
+ break;
+ case XFA_Element::EquateRange:
+ node = pdfium::MakeUnique<CXFA_EquateRange>(doc, packet);
+ break;
+ case XFA_Element::Medium:
+ node = pdfium::MakeUnique<CXFA_Medium>(doc, packet);
+ break;
+ case XFA_Element::TextEdit:
+ node = pdfium::MakeUnique<CXFA_TextEdit>(doc, packet);
+ break;
+ case XFA_Element::TemplateCache:
+ node = pdfium::MakeUnique<CXFA_TemplateCache>(doc, packet);
+ break;
+ case XFA_Element::CompressObjectStream:
+ node = pdfium::MakeUnique<CXFA_CompressObjectStream>(doc, packet);
+ break;
+ case XFA_Element::DataValue:
+ node = pdfium::MakeUnique<CXFA_DataValue>(doc, packet);
+ break;
+ case XFA_Element::AccessibleContent:
+ node = pdfium::MakeUnique<CXFA_AccessibleContent>(doc, packet);
+ break;
+ case XFA_Element::IncludeXDPContent:
+ node = pdfium::MakeUnique<CXFA_IncludeXDPContent>(doc, packet);
+ break;
+ case XFA_Element::XmlConnection:
+ node = pdfium::MakeUnique<CXFA_XmlConnection>(doc, packet);
+ break;
+ case XFA_Element::ValidateApprovalSignatures:
+ node = pdfium::MakeUnique<CXFA_ValidateApprovalSignatures>(doc, packet);
+ break;
+ case XFA_Element::SignData:
+ node = pdfium::MakeUnique<CXFA_SignData>(doc, packet);
+ break;
+ case XFA_Element::Packets:
+ node = pdfium::MakeUnique<CXFA_Packets>(doc, packet);
+ break;
+ case XFA_Element::DatePattern:
+ node = pdfium::MakeUnique<CXFA_DatePattern>(doc, packet);
+ break;
+ case XFA_Element::DuplexOption:
+ node = pdfium::MakeUnique<CXFA_DuplexOption>(doc, packet);
+ break;
+ case XFA_Element::Base:
+ node = pdfium::MakeUnique<CXFA_Base>(doc, packet);
+ break;
+ case XFA_Element::Bind:
+ node = pdfium::MakeUnique<CXFA_Bind>(doc, packet);
+ break;
+ case XFA_Element::Compression:
+ node = pdfium::MakeUnique<CXFA_Compression>(doc, packet);
+ break;
+ case XFA_Element::User:
+ node = pdfium::MakeUnique<CXFA_User>(doc, packet);
+ break;
+ case XFA_Element::Rectangle:
+ node = pdfium::MakeUnique<CXFA_Rectangle>(doc, packet);
+ break;
+ case XFA_Element::EffectiveOutputPolicy:
+ node = pdfium::MakeUnique<CXFA_EffectiveOutputPolicy>(doc, packet);
+ break;
+ case XFA_Element::ADBE_JSDebugger:
+ node = pdfium::MakeUnique<CXFA_aDBE_JSDebugger>(doc, packet);
+ break;
+ case XFA_Element::Acrobat7:
+ node = pdfium::MakeUnique<CXFA_Acrobat7>(doc, packet);
+ break;
+ case XFA_Element::Interactive:
+ node = pdfium::MakeUnique<CXFA_Interactive>(doc, packet);
+ break;
+ case XFA_Element::Locale:
+ node = pdfium::MakeUnique<CXFA_Locale>(doc, packet);
+ break;
+ case XFA_Element::CurrentPage:
+ node = pdfium::MakeUnique<CXFA_CurrentPage>(doc, packet);
+ break;
+ case XFA_Element::Data:
+ node = pdfium::MakeUnique<CXFA_Data>(doc, packet);
+ break;
+ case XFA_Element::Date:
+ node = pdfium::MakeUnique<CXFA_Date>(doc, packet);
+ break;
+ case XFA_Element::Desc:
+ node = pdfium::MakeUnique<CXFA_Desc>(doc, packet);
+ break;
+ case XFA_Element::Encrypt:
+ node = pdfium::MakeUnique<CXFA_Encrypt>(doc, packet);
+ break;
+ case XFA_Element::Draw:
+ node = pdfium::MakeUnique<CXFA_Draw>(doc, packet);
+ break;
+ case XFA_Element::Encryption:
+ node = pdfium::MakeUnique<CXFA_Encryption>(doc, packet);
+ break;
+ case XFA_Element::MeridiemNames:
+ node = pdfium::MakeUnique<CXFA_MeridiemNames>(doc, packet);
+ break;
+ case XFA_Element::Messaging:
+ node = pdfium::MakeUnique<CXFA_Messaging>(doc, packet);
+ break;
+ case XFA_Element::Speak:
+ node = pdfium::MakeUnique<CXFA_Speak>(doc, packet);
+ break;
+ case XFA_Element::DataGroup:
+ node = pdfium::MakeUnique<CXFA_DataGroup>(doc, packet);
+ break;
+ case XFA_Element::Common:
+ node = pdfium::MakeUnique<CXFA_Common>(doc, packet);
+ break;
+ case XFA_Element::Sharptext:
+ node = pdfium::MakeUnique<CXFA_Sharptext>(doc, packet);
+ break;
+ case XFA_Element::PaginationOverride:
+ node = pdfium::MakeUnique<CXFA_PaginationOverride>(doc, packet);
+ break;
+ case XFA_Element::Reasons:
+ node = pdfium::MakeUnique<CXFA_Reasons>(doc, packet);
+ break;
+ case XFA_Element::SignatureProperties:
+ node = pdfium::MakeUnique<CXFA_SignatureProperties>(doc, packet);
+ break;
+ case XFA_Element::Threshold:
+ node = pdfium::MakeUnique<CXFA_Threshold>(doc, packet);
+ break;
+ case XFA_Element::AppearanceFilter:
+ node = pdfium::MakeUnique<CXFA_AppearanceFilter>(doc, packet);
+ break;
+ case XFA_Element::Fill:
+ node = pdfium::MakeUnique<CXFA_Fill>(doc, packet);
+ break;
+ case XFA_Element::Font:
+ node = pdfium::MakeUnique<CXFA_Font>(doc, packet);
+ break;
+ case XFA_Element::Form:
+ node = pdfium::MakeUnique<CXFA_Form>(doc, packet);
+ break;
+ case XFA_Element::MediumInfo:
+ node = pdfium::MakeUnique<CXFA_MediumInfo>(doc, packet);
+ break;
+ case XFA_Element::Certificate:
+ node = pdfium::MakeUnique<CXFA_Certificate>(doc, packet);
+ break;
+ case XFA_Element::Password:
+ node = pdfium::MakeUnique<CXFA_Password>(doc, packet);
+ break;
+ case XFA_Element::RunScripts:
+ node = pdfium::MakeUnique<CXFA_RunScripts>(doc, packet);
+ break;
+ case XFA_Element::Trace:
+ node = pdfium::MakeUnique<CXFA_Trace>(doc, packet);
+ break;
+ case XFA_Element::Float:
+ node = pdfium::MakeUnique<CXFA_Float>(doc, packet);
+ break;
+ case XFA_Element::RenderPolicy:
+ node = pdfium::MakeUnique<CXFA_RenderPolicy>(doc, packet);
+ break;
+ case XFA_Element::LogPseudoModel:
+ node = pdfium::MakeUnique<CXFA_LogPseudoModel>(doc, packet);
+ break;
+ case XFA_Element::Destination:
+ node = pdfium::MakeUnique<CXFA_Destination>(doc, packet);
+ break;
+ case XFA_Element::Value:
+ node = pdfium::MakeUnique<CXFA_Value>(doc, packet);
+ break;
+ case XFA_Element::Bookend:
+ node = pdfium::MakeUnique<CXFA_Bookend>(doc, packet);
+ break;
+ case XFA_Element::ExObject:
+ node = pdfium::MakeUnique<CXFA_ExObject>(doc, packet);
+ break;
+ case XFA_Element::OpenAction:
+ node = pdfium::MakeUnique<CXFA_OpenAction>(doc, packet);
+ break;
+ case XFA_Element::NeverEmbed:
+ node = pdfium::MakeUnique<CXFA_NeverEmbed>(doc, packet);
+ break;
+ case XFA_Element::BindItems:
+ node = pdfium::MakeUnique<CXFA_BindItems>(doc, packet);
+ break;
+ case XFA_Element::Calculate:
+ node = pdfium::MakeUnique<CXFA_Calculate>(doc, packet);
+ break;
+ case XFA_Element::Print:
+ node = pdfium::MakeUnique<CXFA_Print>(doc, packet);
+ break;
+ case XFA_Element::Extras:
+ node = pdfium::MakeUnique<CXFA_Extras>(doc, packet);
+ break;
+ case XFA_Element::Proto:
+ node = pdfium::MakeUnique<CXFA_Proto>(doc, packet);
+ break;
+ case XFA_Element::DSigData:
+ node = pdfium::MakeUnique<CXFA_DSigData>(doc, packet);
+ break;
+ case XFA_Element::Creator:
+ node = pdfium::MakeUnique<CXFA_Creator>(doc, packet);
+ break;
+ case XFA_Element::Connect:
+ node = pdfium::MakeUnique<CXFA_Connect>(doc, packet);
+ break;
+ case XFA_Element::Permissions:
+ node = pdfium::MakeUnique<CXFA_Permissions>(doc, packet);
+ break;
+ case XFA_Element::ConnectionSet:
+ node = pdfium::MakeUnique<CXFA_ConnectionSet>(doc, packet);
+ break;
+ case XFA_Element::Submit:
+ node = pdfium::MakeUnique<CXFA_Submit>(doc, packet);
+ break;
+ case XFA_Element::Range:
+ node = pdfium::MakeUnique<CXFA_Range>(doc, packet);
+ break;
+ case XFA_Element::Linearized:
+ node = pdfium::MakeUnique<CXFA_Linearized>(doc, packet);
+ break;
+ case XFA_Element::Packet:
+ node = pdfium::MakeUnique<CXFA_Packet>(doc, packet);
+ break;
+ case XFA_Element::RootElement:
+ node = pdfium::MakeUnique<CXFA_RootElement>(doc, packet);
+ break;
+ case XFA_Element::PlaintextMetadata:
+ node = pdfium::MakeUnique<CXFA_PlaintextMetadata>(doc, packet);
+ break;
+ case XFA_Element::NumberSymbols:
+ node = pdfium::MakeUnique<CXFA_NumberSymbols>(doc, packet);
+ break;
+ case XFA_Element::PrintHighQuality:
+ node = pdfium::MakeUnique<CXFA_PrintHighQuality>(doc, packet);
+ break;
+ case XFA_Element::Driver:
+ node = pdfium::MakeUnique<CXFA_Driver>(doc, packet);
+ break;
+ case XFA_Element::IncrementalLoad:
+ node = pdfium::MakeUnique<CXFA_IncrementalLoad>(doc, packet);
+ break;
+ case XFA_Element::SubjectDN:
+ node = pdfium::MakeUnique<CXFA_SubjectDN>(doc, packet);
+ break;
+ case XFA_Element::CompressLogicalStructure:
+ node = pdfium::MakeUnique<CXFA_CompressLogicalStructure>(doc, packet);
+ break;
+ case XFA_Element::IncrementalMerge:
+ node = pdfium::MakeUnique<CXFA_IncrementalMerge>(doc, packet);
+ break;
+ case XFA_Element::Radial:
+ node = pdfium::MakeUnique<CXFA_Radial>(doc, packet);
+ break;
+ case XFA_Element::Variables:
+ node = pdfium::MakeUnique<CXFA_Variables>(doc, packet);
+ break;
+ case XFA_Element::TimePatterns:
+ node = pdfium::MakeUnique<CXFA_TimePatterns>(doc, packet);
+ break;
+ case XFA_Element::EffectiveInputPolicy:
+ node = pdfium::MakeUnique<CXFA_EffectiveInputPolicy>(doc, packet);
+ break;
+ case XFA_Element::NameAttr:
+ node = pdfium::MakeUnique<CXFA_NameAttr>(doc, packet);
+ break;
+ case XFA_Element::Conformance:
+ node = pdfium::MakeUnique<CXFA_Conformance>(doc, packet);
+ break;
+ case XFA_Element::Transform:
+ node = pdfium::MakeUnique<CXFA_Transform>(doc, packet);
+ break;
+ case XFA_Element::LockDocument:
+ node = pdfium::MakeUnique<CXFA_LockDocument>(doc, packet);
+ break;
+ case XFA_Element::BreakAfter:
+ node = pdfium::MakeUnique<CXFA_BreakAfter>(doc, packet);
+ break;
+ case XFA_Element::Line:
+ node = pdfium::MakeUnique<CXFA_Line>(doc, packet);
+ break;
+ case XFA_Element::List:
+ node = pdfium::MakeUnique<CXFA_List>(doc, packet);
+ break;
+ case XFA_Element::Source:
+ node = pdfium::MakeUnique<CXFA_Source>(doc, packet);
+ break;
+ case XFA_Element::Occur:
+ node = pdfium::MakeUnique<CXFA_Occur>(doc, packet);
+ break;
+ case XFA_Element::PickTrayByPDFSize:
+ node = pdfium::MakeUnique<CXFA_PickTrayByPDFSize>(doc, packet);
+ break;
+ case XFA_Element::MonthNames:
+ node = pdfium::MakeUnique<CXFA_MonthNames>(doc, packet);
+ break;
+ case XFA_Element::Severity:
+ node = pdfium::MakeUnique<CXFA_Severity>(doc, packet);
+ break;
+ case XFA_Element::GroupParent:
+ node = pdfium::MakeUnique<CXFA_GroupParent>(doc, packet);
+ break;
+ case XFA_Element::DocumentAssembly:
+ node = pdfium::MakeUnique<CXFA_DocumentAssembly>(doc, packet);
+ break;
+ case XFA_Element::NumberSymbol:
+ node = pdfium::MakeUnique<CXFA_NumberSymbol>(doc, packet);
+ break;
+ case XFA_Element::Tagged:
+ node = pdfium::MakeUnique<CXFA_Tagged>(doc, packet);
+ break;
+ case XFA_Element::Items:
+ node = pdfium::MakeUnique<CXFA_Items>(doc, packet);
+ break;
+ case XFA_Element::Unknown:
+ case XFA_Element::NodeList:
+ NOTREACHED();
+ return nullptr;
+ }
+ if (!node || !node->IsValidInPacket(packet))
+ return nullptr;
+ return node;
+}