diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-27 18:10:47 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-27 18:10:47 +0000 |
commit | f473672fd6305fe97c749bde3b92e3c9c90e88d0 (patch) | |
tree | fe1ec0af4f66a801c7a08fd762e61b065b89d4ec /xfa/fxfa/parser/cxfa_node_statics.cpp | |
parent | 3636a854af15219fd679ed54207abcdad3283b9b (diff) | |
download | pdfium-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.cpp | 1606 |
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; +} |